squares 0.2.5 → 0.2.6

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: d9f5a0b44cce814649ee77cde2a0be83eef84a38
4
- data.tar.gz: 7d9b35db9915f472e4ee0b49ea3a887bf3142d16
3
+ metadata.gz: cf8c75aaeea7f3aff796bddd82f7a3e531313aef
4
+ data.tar.gz: 7a38ff61c1f2f0296da57a22a348e7b058ea0d22
5
5
  SHA512:
6
- metadata.gz: 4b99c4b36e70742563dbec73491c41eb67325f5a5e61292e410493fc08d240b322f17297bafed918fca3f15a733838228b19fca3c5447d7ebf0c7fc3cec39993
7
- data.tar.gz: 85d738998ad6fb4556ab57dbbbd4a36150bb18380bda5a1d362baa54c67e71ac1f4154df97850f9a20c658ff82f0462c20ac50c86a15647cab2f1f4f53543ba9
6
+ metadata.gz: 698462838762538729d1440133fa76a0bb356f618da001da515c866bd4c40a5a39d256f1623ce08705afabf8753a38005cdbfd68906556ea33d548967a824192
7
+ data.tar.gz: 4a1a16afa74164ecfc5882040eada688a02e88004aabad63c0532664206898a233f4fe373366e8e884625e117f7b0f74b8ad6909354f5402b65e4eb70ac47cde
data/lib/squares/base.rb CHANGED
@@ -74,6 +74,14 @@ module Squares
74
74
  alias_method :member?, :has_key?
75
75
  alias_method :includes?, :has_key?
76
76
 
77
+ def keys
78
+ store.keys
79
+ end
80
+
81
+ def values
82
+ store.values
83
+ end
84
+
77
85
  def delete id
78
86
  store.delete id
79
87
  end
@@ -1,3 +1,3 @@
1
1
  module Squares
2
- VERSION = "0.2.5"
2
+ VERSION = "0.2.6"
3
3
  end
@@ -13,35 +13,35 @@ end
13
13
 
14
14
  module Squares
15
15
  describe Base do
16
- Given(:storage) { {} }
17
- Given(:test_class) { Marvel::SuperHero }
18
- Given { test_class.store = storage }
16
+ Given(:storage) { {} }
17
+ Given(:test_class) { Marvel::SuperHero }
18
+ Given { test_class.store = storage }
19
19
 
20
- Given(:id) { 'Captain America' }
21
- Given(:name) { 'Steve Rogers' }
22
- Given(:powers) { ['super strength', 'strategy', 'leadership'] }
23
- When(:hero) { test_class.new id, real_name: name, special_powers: powers }
20
+ Given(:id) { 'Captain America' }
21
+ Given(:name) { 'Steve Rogers' }
22
+ Given(:powers) { ['super strength', 'strategy', 'leadership'] }
23
+ When(:hero) { test_class.new id, real_name: name, special_powers: powers }
24
24
 
25
25
  describe 'class' do
26
26
 
27
27
  describe '.underscore_name' do
28
- Then { test_class.underscore_name == 'marvel/super_hero' }
28
+ Then { test_class.underscore_name == 'marvel/super_hero' }
29
29
  end
30
30
 
31
31
  describe '.delete' do
32
32
  Given { hero.save }
33
- When { Marvel::SuperHero.delete id }
34
- Then { expect(storage).to_not be_member(id) }
33
+ When { Marvel::SuperHero.delete id }
34
+ Then { expect(storage).to_not be_member(id) }
35
35
  end
36
36
 
37
37
  describe '.properties' do
38
- Then { test_class.properties == [:real_name, :special_powers] }
38
+ Then { test_class.properties == [:real_name, :special_powers] }
39
39
  end
40
40
 
41
41
  describe '.use_storage' do
42
- Given(:storage) { {attack: :fwoosh } }
43
- When { test_class.store = storage }
44
- Then { test_class.store == storage }
42
+ Given(:storage) { {attack: :fwoosh } }
43
+ When { test_class.store = storage }
44
+ Then { test_class.store == storage }
45
45
  end
46
46
 
47
47
  describe '.models lists defined models (inheritors)' do
@@ -50,64 +50,64 @@ module Squares
50
50
  end
51
51
 
52
52
  describe '.[]' do
53
- Given { storage[id] = Marshal.dump hero }
54
- When(:recovered_hero) { Marvel::SuperHero['Captain America'] }
55
- Then { recovered_hero.class == Marvel::SuperHero }
56
- Then { recovered_hero.id == 'Captain America' }
57
- Then { recovered_hero.real_name == 'Steve Rogers' }
58
- Then { recovered_hero.special_powers.include? 'leadership' }
53
+ Given { storage[id] = Marshal.dump hero }
54
+ When(:recovered_hero) { Marvel::SuperHero['Captain America'] }
55
+ Then { recovered_hero.class == Marvel::SuperHero }
56
+ Then { recovered_hero.id == 'Captain America' }
57
+ Then { recovered_hero.real_name == 'Steve Rogers' }
58
+ Then { recovered_hero.special_powers.include? 'leadership' }
59
59
  end
60
60
 
61
61
  describe '.[]= creates & stores a new instance' do
62
- Given(:id) { 'Spiderman' }
63
- Given(:name) { 'Peter Parker' }
64
- Given(:powers) { [ 'wall crawling', 'web spinning', 'cracking wise' ] }
62
+ Given(:id) { 'Spiderman' }
63
+ Given(:name) { 'Peter Parker' }
64
+ Given(:powers) { [ 'wall crawling', 'web spinning', 'cracking wise' ] }
65
65
 
66
66
  context 'whether created with an instance' do
67
- Given(:instance) { test_class.new(id, real_name: name, special_powers: powers) }
67
+ Given(:instance) { test_class.new(id, real_name: name, special_powers: powers) }
68
68
 
69
- When { test_class[id] = instance }
70
- When(:spidey) { Marshal.restore storage.values.first }
69
+ When { test_class[id] = instance }
70
+ When(:spidey) { Marshal.restore storage.values.first }
71
71
 
72
- Then { spidey.class == Marvel::SuperHero }
73
- Then { spidey.id == 'Spiderman' }
74
- Then { spidey.real_name == 'Peter Parker' }
75
- Then { spidey.special_powers.include? 'cracking wise' }
72
+ Then { spidey.class == Marvel::SuperHero }
73
+ Then { spidey.id == 'Spiderman' }
74
+ Then { spidey.real_name == 'Peter Parker' }
75
+ Then { spidey.special_powers.include? 'cracking wise' }
76
76
  end
77
77
 
78
78
  context 'or creating using a hash' do
79
- When { test_class[id] = { real_name: name, special_powers: powers } }
79
+ When { test_class[id] = { real_name: name, special_powers: powers } }
80
80
 
81
- When(:spidey) { Marshal.restore storage.values.first }
82
- Then { spidey.class == Marvel::SuperHero }
83
- Then { spidey.id == 'Spiderman' }
84
- Then { spidey.real_name == 'Peter Parker' }
85
- Then { spidey.special_powers.include? 'cracking wise' }
81
+ When(:spidey) { Marshal.restore storage.values.first }
82
+ Then { spidey.class == Marvel::SuperHero }
83
+ Then { spidey.id == 'Spiderman' }
84
+ Then { spidey.real_name == 'Peter Parker' }
85
+ Then { spidey.special_powers.include? 'cracking wise' }
86
86
  end
87
87
 
88
88
  context 'but creating with an invalid object' do
89
- Then { expect{ test_class[id] = 12 } .to raise_error(ArgumentError) }
89
+ Then { expect{ test_class[id] = 12 } .to raise_error(ArgumentError) }
90
90
  end
91
91
 
92
92
  context '.create alias returns the new object' do
93
- When(:result) { test_class.create id, real_name: name, special_powers: powers }
94
- Then { expect(result).to be_kind_of(Marvel::SuperHero) }
93
+ When(:result) { test_class.create id, real_name: name, special_powers: powers }
94
+ Then { expect(result).to be_kind_of(Marvel::SuperHero) }
95
95
  end
96
96
  end
97
97
 
98
98
  describe '.has_key?' do
99
- Given { hero.save }
100
- Then { expect(test_class).to have_key(id) }
101
- Then { expect(test_class).to be_key(id) }
102
- Then { expect(test_class).to be_member(id) }
103
- Then { expect(test_class).to be_includes(id) }
99
+ Given { hero.save }
100
+ Then { expect(test_class).to have_key(id) }
101
+ Then { expect(test_class).to be_key(id) }
102
+ Then { expect(test_class).to be_member(id) }
103
+ Then { expect(test_class).to be_includes(id) }
104
104
  end
105
105
 
106
106
  describe 'more cool stuff' do
107
107
  Given do
108
108
  Marvel::SuperHero['Superman'] = { real_name: 'Clark Kent', special_powers: ['flying'] }
109
- Marvel::SuperHero['Hulk'] = { real_name: 'Bruce Banner', special_powers: ['smash'] }
110
- Marvel::SuperHero['Batman'] = { real_name: 'Bruce Wayne', special_powers: ['stuff'] }
109
+ Marvel::SuperHero['Hulk'] = { real_name: 'Bruce Banner', special_powers: ['smash'] }
110
+ Marvel::SuperHero['Batman'] = { real_name: 'Bruce Wayne', special_powers: ['stuff'] }
111
111
  end
112
112
 
113
113
  describe '.where' do
@@ -125,30 +125,30 @@ module Squares
125
125
 
126
126
  describe 'instances' do
127
127
  describe '#{{property}}' do
128
- Then { hero.id == id }
129
- Then { hero.real_name == name }
130
- Then { hero.special_powers == powers }
128
+ Then { hero.id == id }
129
+ Then { hero.real_name == name }
130
+ Then { hero.special_powers == powers }
131
131
  end
132
132
 
133
133
  describe '#save' do
134
- When { hero.save }
135
- When(:frozen_hero) { Marshal.restore storage.values.first }
136
- Then { storage.keys.first == 'Captain America' }
137
- Then { frozen_hero.real_name == 'Steve Rogers' }
138
- Then { frozen_hero.class == Marvel::SuperHero }
134
+ When { hero.save }
135
+ When(:frozen_hero) { Marshal.restore storage.values.first }
136
+ Then { storage.keys.first == 'Captain America' }
137
+ Then { frozen_hero.real_name == 'Steve Rogers' }
138
+ Then { frozen_hero.class == Marvel::SuperHero }
139
139
  end
140
140
 
141
141
  describe '#==' do
142
- Given(:hero1) { test_class.new id, real_name: name, special_powers: powers }
143
- Given(:hero2) { test_class.new id, real_name: name, special_powers: powers }
142
+ Given(:hero1) { test_class.new id, real_name: name, special_powers: powers }
143
+ Given(:hero2) { test_class.new id, real_name: name, special_powers: powers }
144
144
 
145
145
  context 'when they are equal' do
146
- Then { hero1 == hero2 }
146
+ Then { hero1 == hero2 }
147
147
  end
148
148
 
149
149
  context 'when some property(ies) are not equal' do
150
- Given { hero2.real_name = 'Steven Rogers' }
151
- Then { hero1 != hero2 }
150
+ Given { hero2.real_name = 'Steven Rogers' }
151
+ Then { hero1 != hero2 }
152
152
  end
153
153
  end
154
154
 
@@ -158,23 +158,23 @@ module Squares
158
158
  property :hair_color, default: 'black'
159
159
  end
160
160
  end
161
- When(:hero) { test_class.new id, real_name: name }
162
- Then { hero.special_powers == nil }
163
- Then { hero.hair_color == 'black' }
164
- Then { Marvel::SuperHero.defaults == { hair_color: 'black' } }
161
+ When(:hero) { test_class.new id, real_name: name }
162
+ Then { hero.special_powers == nil }
163
+ Then { hero.hair_color == 'black' }
164
+ Then { Marvel::SuperHero.defaults == { hair_color: 'black' } }
165
165
  end
166
166
 
167
167
  end
168
168
 
169
169
  describe "models' properties don't bleed into each other" do
170
170
  When(:villain) { Marvel::Villain.new 'Dr. Octopus', vehicle: 'jets', lair: 'abandonned sewer' }
171
- Then { villain.class == Marvel::Villain }
172
- Then { Marvel::Villain.properties == [:vehicle, :lair, :really_evil?] }
173
- Then { villain.properties == [:vehicle, :lair, :really_evil?] }
174
- Then { expect(villain).to_not respond_to(:hair_color) }
175
- Then { expect(villain).to respond_to(:really_evil?) }
176
- Then { expect(villain).to respond_to(:really_evil=) }
177
- Then { expect(villain).to be_really_evil }
171
+ Then { villain.class == Marvel::Villain }
172
+ Then { Marvel::Villain.properties == [:vehicle, :lair, :really_evil?] }
173
+ Then { villain.properties == [:vehicle, :lair, :really_evil?] }
174
+ Then { expect(villain).to_not respond_to(:hair_color) }
175
+ Then { expect(villain).to respond_to(:really_evil?) }
176
+ Then { expect(villain).to respond_to(:really_evil=) }
177
+ Then { expect(villain).to be_really_evil }
178
178
  end
179
179
  end
180
180
  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.5
4
+ version: 0.2.6
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-06 00:00:00.000000000 Z
11
+ date: 2015-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler