setsumei 0.0.2 → 0.0.3
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.
@@ -11,10 +11,23 @@ module Setsumei
|
|
11
11
|
attr_accessor :klass, :options
|
12
12
|
|
13
13
|
def set_value_on(object, options = {})
|
14
|
-
|
14
|
+
return nil if options.empty?
|
15
|
+
|
16
|
+
Array( extract_from_hash options[:from_value_in] ).each do |data|
|
15
17
|
object << Build.a(klass, from: data)
|
16
18
|
end
|
17
19
|
end
|
20
|
+
|
21
|
+
private
|
22
|
+
def extract_from_hash(hash)
|
23
|
+
hash[ extract_key_for hash ]
|
24
|
+
end
|
25
|
+
def extract_key_for(hash)
|
26
|
+
Build::Key.for configured_key, given: hash.keys
|
27
|
+
end
|
28
|
+
def configured_key
|
29
|
+
options[:within] || klass
|
30
|
+
end
|
18
31
|
end
|
19
32
|
end
|
20
33
|
end
|
data/lib/setsumei/version.rb
CHANGED
@@ -44,8 +44,12 @@ module Setsumei
|
|
44
44
|
subject
|
45
45
|
end
|
46
46
|
|
47
|
+
context "nil value" do
|
48
|
+
specify { collection.set_value_on(object).should be_nil }
|
49
|
+
end
|
50
|
+
|
47
51
|
context "single value" do
|
48
|
-
let(:single_value) { mock "single_value" }
|
52
|
+
let(:single_value) { mock "single_value", to_a: nil }
|
49
53
|
let(:single_instance) { mock "single_instance" }
|
50
54
|
|
51
55
|
before do
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: setsumei
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jon Rowe
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-24 00:00:00 +01:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|