squares 0.2.8 → 0.2.9

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: de5127c42ca404a5c0ba192a7cce5cb9efbeb929
4
- data.tar.gz: e165de18d68aeb5ce113b13e02b172f8cea26b02
3
+ metadata.gz: 3ccabaf667507b7c385bb90a3d678c52efe24a46
4
+ data.tar.gz: 26050ec6702c082cbf7f6dc2fe3e14fccefb669c
5
5
  SHA512:
6
- metadata.gz: a53b475c52095181a40454bf33584c45c797e584ae87b28478d0ab60714c7ad1573badc92e1b462e09964cb6435a7d7ba1ccb7ce929b4aecec822e314ab16e98
7
- data.tar.gz: 3c5d2ca85ab287f30a56ecb01657ef30690697ec12342e21b98c1bd3ae9d769042040e9ccdf85e861f8c123b74876081841a56ddcff2a93df8e1930f25bee9a2
6
+ metadata.gz: b19a525035738a4c114fb53c2ea848ec30e3fcce50dea155e120768f32e5003b2421e8f697e20c6171e1d3cc58e331429171f7a1a4e89b64c9d249fc116bd87c
7
+ data.tar.gz: ba24c3380162919427a2b40a302741047851fff7cea759cdb57776e221897179d2fbc0185b75bc8a2d61183b8fd64b01d08f862d77e1d98a8f0ad1fbc2cbaece
data/lib/squares/base.rb CHANGED
@@ -36,14 +36,18 @@ module Squares
36
36
  end
37
37
 
38
38
  def apply *args
39
- @id, value_hash = *args
39
+ @id, values = *args
40
+ value_hash = values.to_h
40
41
  self.class.properties.each do |property|
41
- value = args.last.to_h[property] || self.class.defaults[property]
42
- # self.class.method_for(property)
42
+ value = value_hash.has_key?(property) ? value_hash[property] : default_for(property)
43
43
  self.send "#{property.to_s.gsub(/\?$/,'')}=".to_sym, value
44
44
  end
45
45
  end
46
46
 
47
+ def default_for property
48
+ self.class.defaults[property]
49
+ end
50
+
47
51
  def store
48
52
  self.class.store
49
53
  end
@@ -1,3 +1,3 @@
1
1
  module Squares
2
- VERSION = "0.2.8"
2
+ VERSION = "0.2.9"
3
3
  end
@@ -191,5 +191,10 @@ module Squares
191
191
  Then { expect(villain).to respond_to(:really_evil=) }
192
192
  Then { expect(villain).to be_really_evil }
193
193
  end
194
+
195
+ describe 'question? properties' do
196
+ When(:villain) { Marvel::Villain.new 'Lizard Man', really_evil?: false }
197
+ Then { expect(villain).to_not be_really_evil }
198
+ end
194
199
  end
195
200
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: squares
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Helbling
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-09 00:00:00.000000000 Z
11
+ date: 2015-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler