json-translator 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/json-translator.rb +16 -5
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ce0a06bc8cf33433ce24be2ea9b7c3836b6be3f6
4
- data.tar.gz: 33aaf3794daaf6eb86b54a442b5330c1c266cdbd
3
+ metadata.gz: d309732bfcd706d987d1563f7341b56e75999326
4
+ data.tar.gz: 26478f94d03758cbef7638170e83d125d271d126
5
5
  SHA512:
6
- metadata.gz: c0a06499cd9b43394a778b5b38783ab00e011e6538f8da8441a41b1294d27ec49ff25abb3557bce3a205f25c6582c28c982986e1d341d1b0c1152dc76c2d996e
7
- data.tar.gz: a4b15a6c20b27ff323501a2ad9904de4a300e3c7b7b0925bef3450ccde54a226b817b233984ec9c81379f4549b9cafb999dd54a1159abd221a8de6fd3655bdb6
6
+ metadata.gz: 71a1195d78d87171fd482bd9a1bb396d4bb1a6f2b9cb2db18407dc5315f0917bc5f078706b455f5190a653bcdbd15d684cbdca2ee05ee4440fb2adeac5664c52
7
+ data.tar.gz: 3818376ba7dfd83f2829789091c918282e27c074b09be4e124e298bb7eaa54167db9702c208d3406d97990b260b689c07da4902ebb5f6df42a9c8309d7f8c757
@@ -19,12 +19,23 @@ class JT
19
19
  @result
20
20
  end
21
21
 
22
- def method_missing(name, *args)
23
- raise "JT##{name} expects 0 or 1 argument" if args.size > 1
24
- raise "JT##{name} can't get key from #{@data_pointer.inspect}" unless @data_pointer.is_a? Hash
25
- raise "JT##{name} can't set key to #{@result_pointer.inspect}" unless @result_pointer.is_a? Hash
22
+ def method_missing(name, *args, &block)
23
+ set_value(name, name, *args, &block)
24
+ end
25
+
26
+ def t(name, *args, &block)
27
+ set_value(:t, name, *args, &block)
28
+ end
29
+
30
+ def set_value(method, name, *args, &block)
31
+ raise "JT##{method} expects 0 or 1 argument" if args.size > 1
32
+ raise "JT##{method} can't get key from #{@data_pointer.inspect}" unless @data_pointer.is_a? Hash
33
+ raise "JT##{method} can't set key to #{@result_pointer.inspect}" unless @result_pointer.is_a? Hash
34
+
35
+ value = @data_pointer[(args.first || name).to_s]
36
+ value = block.call(value) if block_given?
26
37
 
27
- @result_pointer[name] = @data_pointer[(args.first || name).to_s]
38
+ @result_pointer[name] = value
28
39
  end
29
40
 
30
41
  def scope(name, &block)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json-translator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speransky Danil
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-04 00:00:00.000000000 Z
11
+ date: 2015-04-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A library to transform json from one scheme to another.
14
14
  email: speranskydanil@gmail.com