squares 0.2.5 → 0.2.6

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