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 +7 -0
- data/bin/json2properties +6 -0
- data/lib/json2properties.rb +42 -0
- data/lib/json2properties_cli.rb +23 -0
- metadata +62 -0
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
|
data/bin/json2properties
ADDED
|
@@ -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: []
|