Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

java-properties

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

java-properties

  • 0.3.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

JavaProperties

Build Status Code Climate maintainability Coveralls RubyGems Inline docs

A ruby library to read and write Java properties files.

Installation

Install via Rubygems

$ gem install java-properties

... or add to your Gemfile

gem "java-properties"

Loading files

You can load a valid Java properties file from the file system using a path:

properties = JavaProperties.load("path/to/my.properties")
properties[:foo] # => "bar"

If have already the content of the properties file at hand than parse the content as:

properties = JavaProperties.parse("foo=bar")
properties[:foo] # => "bar"

Writing files

You can write any Hash-like structure as a properties file:

hash = {:foo => "bar"}
JavaProperties.write(hash, "path/to/my.properties")

Or if you want to omit the file you can receive the content directly:

hash = {:foo => "bar"}
JavaProperties.generate(hash)  # => "foo=bar"

Encodings and special chars

As Java properties files normally hold UTF-8 chars in their escaped representation this tool tries to convert them:

"ה" <=> "\u05d4"
"𪀯"  <=> "\ud868\udc2f"

The tool also escaped every '=', ' ' and ':' in the name part of a property line:

JavaProperties.generate({"i : like=strange" => "bar"})
# => "i\ \:\ like\=strange=bar"

Multi line and line breaks

In Java properties files a string can be multi line but line breaks have to be escaped.

Assume the following input:

my=This is a multi \
   line content with only \n one line break

The parses would read:

{:my => "This is a multi line content which only \n one line break"}

In the opposite direction line breaks will be correctly escaped but the generator will never use multi line values.

Contributing

  1. Fork it!
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Author

Jonas Thiel (@jonasthiel)

References

For more information about the properties file format have a look at the Java Plattform documenation.

License

This gem is released under the MIT License. See the LICENSE file for further details.

FAQs

Package last updated on 26 Feb 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc