yahm 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0f3b3361f9ae499904bc07b44ea3cd0e78bed96e
4
- data.tar.gz: 2b2e5fb632f5baf585f796246d2f62fbbdc0f9cc
3
+ metadata.gz: 3669e5773fbee15e1bfc56c48621b6d33f70d140
4
+ data.tar.gz: 9b70508e061b4dadad85cde16ed8dd73fa1f00c1
5
5
  SHA512:
6
- metadata.gz: 8030fd97a445a125f0fd922f1b031b9a55e8dd1c61a83630a3582eb05c1a4b0f57142ac640deca4cb6cfcec27526f1d5ebe55439a2f9e776022a39a82deee191
7
- data.tar.gz: 00ffd3f91ba7a204a7ddf51293f0d62e8d10e8e07e908dbde8d64793b890af19b861b9baf886e724e5d3a7595dfe92654bc5052bdad92b99ddee3880ef87533d
6
+ metadata.gz: 3aaa22017c4d520092eef71cf1c32e8bb5fb40e0b3e09fc99ee844ee5eca6588635df163bfbeac8f5aecea98a32f92ec233a33a406273fe1589ad6a831dd49a1
7
+ data.tar.gz: ff2e8271415b7b281d97b3fc2db1fcff0deeccb2bc08371d6725d83dbdfb21bca229931c2d8d72b7ef8e96318d051731a4de381a8216dcd44a63b4fc522447f7
data/lib/yahm/mapping.rb CHANGED
@@ -40,11 +40,15 @@ class Yahm::Mapping
40
40
 
41
41
  source_value = sanitized_source_path.inject(input_hash) { |hash, key| hash[key] }
42
42
 
43
- unless (processed_by_method_name = rule.last[:processed_by]).nil?
43
+ unless (symbol_or_callable = rule.last[:processed_by]).nil?
44
44
  source_value = if source_value.is_a?(Array)
45
- source_value.map(&processed_by_method_name)
45
+ source_value.map(&symbol_or_callable)
46
46
  else
47
- source_value.send(processed_by_method_name)
47
+ if symbol_or_callable.is_a?(Symbol)
48
+ source_value.send(symbol_or_callable)
49
+ else
50
+ symbol_or_callable.call(source_value)
51
+ end
48
52
  end
49
53
  end
50
54
 
data/lib/yahm/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Yahm
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -66,6 +66,18 @@ describe Yahm::Mapping do
66
66
  :target => ["foo", "foo;bar"]
67
67
  })
68
68
  end
69
+
70
+ it "processes the source value by the lambda/proc given by \"processed_by\"" do
71
+ expect(Yahm::Mapping.new.map("/source/value", to: "/target", processed_by: lambda { |v| v.downcase }).translate_hash(source: { value: "A STRING" }))
72
+ .to eq({
73
+ :target => "a string"
74
+ })
75
+
76
+ expect(Yahm::Mapping.new.map("/source/value", to: "/target", processed_by: proc { |v| v.downcase }).translate_hash(source: { value: "A STRING" }))
77
+ .to eq({
78
+ :target => "a string"
79
+ })
80
+ end
69
81
  end
70
82
 
71
83
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yahm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Sievers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-12 00:00:00.000000000 Z
11
+ date: 2014-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler