jsontemplate 0.1.1 → 0.2.0
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 +4 -4
- data/Dockerfile +9 -0
- data/Gemfile.lock +43 -0
- data/Makefile +4 -0
- data/Rules.mk +35 -0
- data/bin/console +0 -0
- data/bundle_config +3 -0
- data/jsontemplate.gemspec +1 -0
- data/lib/jsontemplate/version.rb +1 -1
- data/lib/jsontemplate.rb +23 -7
- data/parameters.json +3 -0
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 341367051a162f6aa01706ffa58ea3a298870438
|
4
|
+
data.tar.gz: db0ebf309531391d9b8de428582202bbd1cbb746
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49d81e57206b00c714e20f17c88b10089f9f877f41f07469076c09f17b869f7752426151a63e27b68939bd7ddd6e18cd90e20f3e3836f88d51fa2b3117e8ac1e
|
7
|
+
data.tar.gz: b2de6bc3d5f681e751e9ff5e0b2bfbb22ee4627aa4f8ce99a93435128d43717a77e69f553d4634fb0c952ba9762172c7ea642aa90a53d61b5f26fdb972f9adda
|
data/Dockerfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
jsontemplate (0.2.0)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: https://rubygems.org/
|
8
|
+
specs:
|
9
|
+
coderay (1.1.1)
|
10
|
+
diff-lcs (1.2.5)
|
11
|
+
method_source (0.8.2)
|
12
|
+
pry (0.10.4)
|
13
|
+
coderay (~> 1.1.0)
|
14
|
+
method_source (~> 0.8.1)
|
15
|
+
slop (~> 3.4)
|
16
|
+
rake (10.4.2)
|
17
|
+
rspec (3.5.0)
|
18
|
+
rspec-core (~> 3.5.0)
|
19
|
+
rspec-expectations (~> 3.5.0)
|
20
|
+
rspec-mocks (~> 3.5.0)
|
21
|
+
rspec-core (3.5.1)
|
22
|
+
rspec-support (~> 3.5.0)
|
23
|
+
rspec-expectations (3.5.0)
|
24
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
25
|
+
rspec-support (~> 3.5.0)
|
26
|
+
rspec-mocks (3.5.0)
|
27
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
28
|
+
rspec-support (~> 3.5.0)
|
29
|
+
rspec-support (3.5.0)
|
30
|
+
slop (3.6.0)
|
31
|
+
|
32
|
+
PLATFORMS
|
33
|
+
ruby
|
34
|
+
|
35
|
+
DEPENDENCIES
|
36
|
+
bundler (~> 1.9)
|
37
|
+
jsontemplate!
|
38
|
+
pry
|
39
|
+
rake (~> 10.0)
|
40
|
+
rspec
|
41
|
+
|
42
|
+
BUNDLED WITH
|
43
|
+
1.12.5
|
data/Makefile
ADDED
data/Rules.mk
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
DR=docker run -t -i -v ${PWD}:/app ${IMAGE}
|
2
|
+
B=${DR} bundle
|
3
|
+
BE=${B} exec
|
4
|
+
|
5
|
+
build: container
|
6
|
+
echo Building gem
|
7
|
+
rm -f pkg/*
|
8
|
+
${BE} rake build
|
9
|
+
|
10
|
+
push: build spec
|
11
|
+
gem push `/bin/ls -q pkg/* | tail -n1`
|
12
|
+
|
13
|
+
container: Dockerfile
|
14
|
+
docker build -t ${IMAGE} .
|
15
|
+
|
16
|
+
update: container
|
17
|
+
${B} update
|
18
|
+
|
19
|
+
bundle: container
|
20
|
+
${B} install --binstubs ./bin --path=./vendor/bundle
|
21
|
+
|
22
|
+
rdoc: container
|
23
|
+
rm -rf doc
|
24
|
+
${BE} rdoc --main=README.md -O -U -x'~' README.md lib
|
25
|
+
|
26
|
+
.PHONY: spec
|
27
|
+
spec: container
|
28
|
+
${BE} rspec ./spec
|
29
|
+
|
30
|
+
|
31
|
+
cli:
|
32
|
+
${DR} /bin/bash -l
|
33
|
+
|
34
|
+
pry:
|
35
|
+
${BE} pry -r bundler/setup -r jsontemplate
|
data/bin/console
CHANGED
File without changes
|
data/bundle_config
ADDED
data/jsontemplate.gemspec
CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
|
22
|
+
spec.add_development_dependency "pry"
|
22
23
|
spec.add_development_dependency "rspec"
|
23
24
|
spec.add_development_dependency "bundler", "~> 1.9"
|
24
25
|
spec.add_development_dependency "rake", "~> 10.0"
|
data/lib/jsontemplate/version.rb
CHANGED
data/lib/jsontemplate.rb
CHANGED
@@ -2,21 +2,31 @@ require 'json'
|
|
2
2
|
require "jsontemplate/version"
|
3
3
|
|
4
4
|
class JsonTemplate
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
attr_reader :json
|
6
|
+
|
7
|
+
def initialize(src, path=nil)
|
8
|
+
path ||= src.kind_of?(String) ? src : nil
|
9
|
+
@path = path || (src.respond_to?(:path) ? src.path : nil)
|
10
|
+
@dir = File.expand_path(path ? File.dirname(path) : ".")
|
11
|
+
|
12
|
+
data = src.respond_to?(:read) ? src.read : File.read(src)
|
13
|
+
@json = JSON.load(data)
|
9
14
|
end
|
10
15
|
|
11
16
|
def process_dirmerge(pattern)
|
12
17
|
files = Dir.glob(@dir+"/"+pattern)
|
13
18
|
files.collect do |path|
|
14
|
-
r = JsonTemplate.new(path).process_dict
|
19
|
+
r = JsonTemplate.new(path,@path).process_dict
|
15
20
|
key=File.basename(path).split(".")[0..-2].join(".")
|
16
21
|
[key, r]
|
17
22
|
end.flatten(1)
|
18
23
|
end
|
19
24
|
|
25
|
+
def process_flookup(file, v)
|
26
|
+
map = JsonTemplate.new(file,@path).process_dict
|
27
|
+
map[v]
|
28
|
+
end
|
29
|
+
|
20
30
|
def process_dict(root=nil)
|
21
31
|
root ||= @json
|
22
32
|
|
@@ -27,13 +37,19 @@ class JsonTemplate
|
|
27
37
|
|
28
38
|
if k == "$DirMerge"
|
29
39
|
process_dirmerge(v)
|
40
|
+
elsif k == "$FLookup"
|
41
|
+
process_flookup(*v)
|
30
42
|
elsif k[0] == "$"
|
31
43
|
raise "Unknown directive #{k}"
|
32
44
|
else
|
33
|
-
[
|
45
|
+
[k,v]
|
34
46
|
end
|
35
47
|
end
|
36
|
-
|
48
|
+
if pairs.length == 1 && !pairs.first.kind_of?(Array)
|
49
|
+
pairs.first
|
50
|
+
else
|
51
|
+
Hash[*pairs.flatten(1)]
|
52
|
+
end
|
37
53
|
end
|
38
54
|
end
|
39
55
|
|
data/parameters.json
ADDED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jsontemplate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vidar Hokstad
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: pry
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rspec
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -63,16 +77,22 @@ files:
|
|
63
77
|
- ".gitignore"
|
64
78
|
- ".rspec"
|
65
79
|
- ".travis.yml"
|
80
|
+
- Dockerfile
|
66
81
|
- Gemfile
|
82
|
+
- Gemfile.lock
|
67
83
|
- LICENSE
|
84
|
+
- Makefile
|
68
85
|
- README.md
|
69
86
|
- Rakefile
|
87
|
+
- Rules.mk
|
70
88
|
- bin/console
|
71
89
|
- bin/setup
|
90
|
+
- bundle_config
|
72
91
|
- exe/jsontemplate
|
73
92
|
- jsontemplate.gemspec
|
74
93
|
- lib/jsontemplate.rb
|
75
94
|
- lib/jsontemplate/version.rb
|
95
|
+
- parameters.json
|
76
96
|
homepage: https://github.com/hokstadconsulting/jsontemplate
|
77
97
|
licenses: []
|
78
98
|
metadata: {}
|