squares 0.2.8 → 0.2.9

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 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