json2properties 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: eb0a92e8a82c2ec9072de8fd475464f96c3c7fff
4
+ data.tar.gz: 3031dd7fc136835c11b0ecb49b1828671963bb9c
5
+ SHA512:
6
+ metadata.gz: ed84c5b0709f4d3c6fb2c69095a3e627b371c1a0db097bc7f7c1c8f24a8b80a01bfd0ee5bf22f961c91c10b2096bee369141fa910dc2cc4b41d9bd5f6f3e480e
7
+ data.tar.gz: 77d10f97dc540870205af293729d029909683d17f038505b6075bc06c839ade747be2dfc01ecb92607853b22a73c65a8fede5023d1ac7c61e5721a64e7bbb260
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative '../lib/json2properties_cli'
4
+
5
+ cli = Json2propertiesCli.new(ARGV)
6
+ cli.run
@@ -0,0 +1,42 @@
1
+ require 'json'
2
+ require 'java-properties'
3
+
4
+ class Json2properties
5
+ VERSION = '0.0.1'
6
+ SEPARATOR = '.'
7
+
8
+ def initialize
9
+ @prefix = ''
10
+ @ret = {}
11
+ end
12
+
13
+ def convert_file(src, dest)
14
+ JavaProperties.write(json2kv(File.read(src)), dest)
15
+ end
16
+
17
+ def json2kv(json)
18
+ data = JSON.parse(json)
19
+ process(data)
20
+ @ret
21
+ end
22
+
23
+ private
24
+
25
+ def process(data, prefix='')
26
+ if data.is_a?(Array)
27
+ data.each_index do |k|
28
+ v = data[k]
29
+ key = prefix.empty? ? k : prefix+SEPARATOR+k.to_s
30
+ process(v, key)
31
+ end
32
+ elsif data.is_a?(Hash)
33
+ data.each_pair do |k,v|
34
+ key = prefix.empty? ? k : prefix+SEPARATOR+k.to_s
35
+ process(v, key)
36
+ end
37
+ else
38
+ @ret[prefix] = data
39
+ end
40
+ end
41
+
42
+ end
@@ -0,0 +1,23 @@
1
+ require_relative './json2properties'
2
+
3
+ class Json2propertiesCli
4
+
5
+ def initialize(argv)
6
+ @argv = argv
7
+ @src = @argv[0] || ''
8
+ @dest = @argv[1] || ''
9
+ end
10
+
11
+ def run
12
+ if @src.empty? || @dest.empty?
13
+ STDERR.puts "Usage: json2properties <SRC_FILE> <DEST_FILE>"
14
+ exit 1
15
+ end
16
+ unless File.exists? @src
17
+ STDERR.puts "Given source file doesn't exist: #{@src}"
18
+ exit 1
19
+ end
20
+ Json2properties.new.convert_file(@src, @dest)
21
+ end
22
+
23
+ end
metadata ADDED
@@ -0,0 +1,62 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: json2properties
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Bartek Wilczek
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-11-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: java-properties
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.2'
27
+ description:
28
+ email:
29
+ - bwilczek@gmail.com
30
+ executables:
31
+ - json2properties
32
+ extensions: []
33
+ extra_rdoc_files: []
34
+ files:
35
+ - bin/json2properties
36
+ - lib/json2properties.rb
37
+ - lib/json2properties_cli.rb
38
+ homepage: https://github.com/bwilczek/json2properties
39
+ licenses:
40
+ - MIT
41
+ metadata: {}
42
+ post_install_message:
43
+ rdoc_options: []
44
+ require_paths:
45
+ - lib
46
+ required_ruby_version: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '2.0'
51
+ required_rubygems_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ requirements: []
57
+ rubyforge_project:
58
+ rubygems_version: 2.5.1
59
+ signing_key:
60
+ specification_version: 4
61
+ summary: Simple converted from JSON to Java properties
62
+ test_files: []