toystore 0.5

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.
Files changed (113) hide show
  1. data/.autotest +11 -0
  2. data/.bundle/config +2 -0
  3. data/.gitignore +6 -0
  4. data/Gemfile +10 -0
  5. data/Gemfile.lock +49 -0
  6. data/LICENSE +9 -0
  7. data/LOGGING.rdoc +16 -0
  8. data/README.rdoc +13 -0
  9. data/Rakefile +7 -0
  10. data/examples/memcached.rb +20 -0
  11. data/examples/memory.rb +20 -0
  12. data/examples/models.rb +51 -0
  13. data/examples/redis.rb +20 -0
  14. data/lib/toy.rb +81 -0
  15. data/lib/toy/attribute.rb +73 -0
  16. data/lib/toy/attributes.rb +137 -0
  17. data/lib/toy/caching.rb +20 -0
  18. data/lib/toy/callbacks.rb +48 -0
  19. data/lib/toy/collection.rb +55 -0
  20. data/lib/toy/connection.rb +28 -0
  21. data/lib/toy/dirty.rb +47 -0
  22. data/lib/toy/dolly.rb +30 -0
  23. data/lib/toy/embedded_list.rb +45 -0
  24. data/lib/toy/embedded_lists.rb +68 -0
  25. data/lib/toy/equality.rb +19 -0
  26. data/lib/toy/exceptions.rb +29 -0
  27. data/lib/toy/extensions/array.rb +22 -0
  28. data/lib/toy/extensions/boolean.rb +43 -0
  29. data/lib/toy/extensions/date.rb +24 -0
  30. data/lib/toy/extensions/float.rb +13 -0
  31. data/lib/toy/extensions/hash.rb +17 -0
  32. data/lib/toy/extensions/integer.rb +22 -0
  33. data/lib/toy/extensions/nil_class.rb +17 -0
  34. data/lib/toy/extensions/object.rb +26 -0
  35. data/lib/toy/extensions/set.rb +23 -0
  36. data/lib/toy/extensions/string.rb +17 -0
  37. data/lib/toy/extensions/time.rb +29 -0
  38. data/lib/toy/identity.rb +26 -0
  39. data/lib/toy/identity/abstract_key_factory.rb +10 -0
  40. data/lib/toy/identity/uuid_key_factory.rb +9 -0
  41. data/lib/toy/identity_map.rb +109 -0
  42. data/lib/toy/index.rb +74 -0
  43. data/lib/toy/indices.rb +56 -0
  44. data/lib/toy/inspect.rb +12 -0
  45. data/lib/toy/list.rb +46 -0
  46. data/lib/toy/lists.rb +37 -0
  47. data/lib/toy/logger.rb +26 -0
  48. data/lib/toy/mass_assignment_security.rb +16 -0
  49. data/lib/toy/persistence.rb +138 -0
  50. data/lib/toy/plugins.rb +23 -0
  51. data/lib/toy/proxies/embedded_list.rb +74 -0
  52. data/lib/toy/proxies/list.rb +97 -0
  53. data/lib/toy/proxies/proxy.rb +59 -0
  54. data/lib/toy/querying.rb +57 -0
  55. data/lib/toy/reference.rb +134 -0
  56. data/lib/toy/references.rb +19 -0
  57. data/lib/toy/serialization.rb +81 -0
  58. data/lib/toy/store.rb +36 -0
  59. data/lib/toy/timestamps.rb +22 -0
  60. data/lib/toy/validations.rb +45 -0
  61. data/lib/toy/version.rb +3 -0
  62. data/lib/toystore.rb +1 -0
  63. data/spec/helper.rb +35 -0
  64. data/spec/spec.opts +3 -0
  65. data/spec/support/constants.rb +41 -0
  66. data/spec/support/identity_map_matcher.rb +20 -0
  67. data/spec/support/name_and_number_key_factory.rb +5 -0
  68. data/spec/toy/attribute_spec.rb +176 -0
  69. data/spec/toy/attributes_spec.rb +394 -0
  70. data/spec/toy/caching_spec.rb +62 -0
  71. data/spec/toy/callbacks_spec.rb +97 -0
  72. data/spec/toy/connection_spec.rb +47 -0
  73. data/spec/toy/dirty_spec.rb +99 -0
  74. data/spec/toy/dolly_spec.rb +76 -0
  75. data/spec/toy/embedded_list_spec.rb +607 -0
  76. data/spec/toy/embedded_lists_spec.rb +172 -0
  77. data/spec/toy/equality_spec.rb +46 -0
  78. data/spec/toy/exceptions_spec.rb +18 -0
  79. data/spec/toy/extensions/array_spec.rb +25 -0
  80. data/spec/toy/extensions/boolean_spec.rb +41 -0
  81. data/spec/toy/extensions/date_spec.rb +48 -0
  82. data/spec/toy/extensions/float_spec.rb +14 -0
  83. data/spec/toy/extensions/hash_spec.rb +21 -0
  84. data/spec/toy/extensions/integer_spec.rb +29 -0
  85. data/spec/toy/extensions/nil_class_spec.rb +14 -0
  86. data/spec/toy/extensions/set_spec.rb +27 -0
  87. data/spec/toy/extensions/string_spec.rb +28 -0
  88. data/spec/toy/extensions/time_spec.rb +94 -0
  89. data/spec/toy/identity/abstract_key_factory_spec.rb +7 -0
  90. data/spec/toy/identity/uuid_key_factory_spec.rb +7 -0
  91. data/spec/toy/identity_map_spec.rb +150 -0
  92. data/spec/toy/identity_spec.rb +52 -0
  93. data/spec/toy/index_spec.rb +230 -0
  94. data/spec/toy/indices_spec.rb +141 -0
  95. data/spec/toy/inspect_spec.rb +15 -0
  96. data/spec/toy/list_spec.rb +576 -0
  97. data/spec/toy/lists_spec.rb +95 -0
  98. data/spec/toy/logger_spec.rb +33 -0
  99. data/spec/toy/mass_assignment_security_spec.rb +116 -0
  100. data/spec/toy/persistence_spec.rb +312 -0
  101. data/spec/toy/plugins_spec.rb +39 -0
  102. data/spec/toy/querying_spec.rb +162 -0
  103. data/spec/toy/reference_spec.rb +400 -0
  104. data/spec/toy/references_spec.rb +86 -0
  105. data/spec/toy/serialization_spec.rb +354 -0
  106. data/spec/toy/store_spec.rb +41 -0
  107. data/spec/toy/timestamps_spec.rb +63 -0
  108. data/spec/toy/validations_spec.rb +171 -0
  109. data/spec/toy_spec.rb +26 -0
  110. data/specs.watchr +52 -0
  111. data/test/lint_test.rb +40 -0
  112. data/toystore.gemspec +24 -0
  113. metadata +290 -0
@@ -0,0 +1,63 @@
1
+ require 'helper'
2
+
3
+ describe Toy::Timestamps do
4
+ uses_constants('User')
5
+
6
+ before do
7
+ User.timestamps
8
+ end
9
+
10
+ it "adds created_at attribute" do
11
+ User.attribute?(:created_at)
12
+ end
13
+
14
+ it "adds updated_at attribute" do
15
+ User.attribute?(:updated_at)
16
+ end
17
+
18
+ describe "on create" do
19
+ before do
20
+ @now = Time.now.utc
21
+ Timecop.freeze(@now) do
22
+ @user = User.create
23
+ end
24
+ end
25
+
26
+ it "sets created at" do
27
+ @user.created_at.to_i.should == @now.to_i
28
+ end
29
+
30
+ it "sets updated at" do
31
+ @user.updated_at.to_i.should == @now.to_i
32
+ end
33
+
34
+ it "uses created_at if provided" do
35
+ yesterday = @now - 1.day
36
+ @user = User.create(:created_at => yesterday)
37
+ @user.created_at.to_i.should == yesterday.to_i
38
+ end
39
+ end
40
+
41
+ describe "on update" do
42
+ before do
43
+ @now = Time.now.utc
44
+ @yesterday = @now - 1.day
45
+
46
+ Timecop.freeze(@yesterday) do
47
+ @user = User.create
48
+ end
49
+
50
+ Timecop.freeze(@now) do
51
+ @user.save
52
+ end
53
+ end
54
+
55
+ it "does not change created at" do
56
+ @user.created_at.to_i.should == @yesterday.to_i
57
+ end
58
+
59
+ it "updates updated at" do
60
+ @user.updated_at.to_i.should == @now.to_i
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,171 @@
1
+ require 'helper'
2
+
3
+ describe Toy::Validations do
4
+ uses_constants('User', 'Game', 'Move')
5
+
6
+ before do
7
+ User.class_eval do
8
+ attribute :name, String
9
+ validates_presence_of :name
10
+
11
+ [:before_validation, :after_validation].each do |callback|
12
+ callback_method = "#{callback}_callback"
13
+ send(callback, callback_method)
14
+ define_method(callback_method) { history << callback.to_sym }
15
+ end
16
+
17
+ def history
18
+ @history ||= []
19
+ end
20
+ end
21
+ end
22
+
23
+ it "runs validation callbacks around valid?" do
24
+ doc = User.new(:name => 'John')
25
+ doc.valid?
26
+ doc.history.should == [:before_validation, :after_validation]
27
+ end
28
+
29
+ describe "validate callback" do
30
+ before do
31
+ User.class_eval do
32
+ attribute :name, String
33
+ validate :name_not_john
34
+
35
+ private
36
+ def name_not_john
37
+ errors.add(:name, 'cannot be John') if name == 'John'
38
+ end
39
+ end
40
+ end
41
+
42
+ it "adds error if fails" do
43
+ doc = User.new(:name => 'John')
44
+ doc.valid?
45
+ doc.errors[:name].should include('cannot be John')
46
+ end
47
+
48
+ it "does not add error if all good" do
49
+ doc = User.new(:name => 'Frank')
50
+ doc.should be_valid
51
+ end
52
+ end
53
+
54
+ describe "#save" do
55
+ context "with valid" do
56
+ before do
57
+ @doc = User.new(:name => 'John')
58
+ @result = @doc.save
59
+ end
60
+
61
+ it "returns true" do
62
+ @result.should be_true
63
+ end
64
+
65
+ it "persists the instance" do
66
+ @doc.should be_persisted
67
+ end
68
+ end
69
+
70
+ context "with invalid" do
71
+ before do
72
+ @doc = User.new
73
+ @result = @doc.save
74
+ end
75
+
76
+ it "returns false" do
77
+ @result.should be_false
78
+ end
79
+
80
+ it "does not persist instance" do
81
+ @doc.should_not be_persisted
82
+ end
83
+ end
84
+
85
+ context "with invalid option" do
86
+ it "raises error" do
87
+ lambda { User.new.save(:foobar => '') }.should raise_error
88
+ end
89
+ end
90
+
91
+ context "with :validate option" do
92
+ before do
93
+ User.validates_presence_of(:name)
94
+ @doc = User.new
95
+ end
96
+
97
+ it "does not perform validations if false" do
98
+ @doc.save(:validate => false).should be_true
99
+ User.key?(@doc.id).should be_true
100
+ end
101
+
102
+ it "does perform validations if true" do
103
+ @doc.save(:validate => true).should be_false
104
+ User.key?(@doc.id).should be_false
105
+ end
106
+ end
107
+ end
108
+
109
+ describe "#save!" do
110
+ context "with valid" do
111
+ before do
112
+ @doc = User.new(:name => 'John')
113
+ @result = @doc.save!
114
+ end
115
+
116
+ it "returns true" do
117
+ @result.should be_true
118
+ end
119
+
120
+ it "persists the instance" do
121
+ @doc.should be_persisted
122
+ end
123
+ end
124
+
125
+ context "with invalid" do
126
+ before do
127
+ @doc = User.new
128
+ end
129
+
130
+ it "raises an RecordInvalidError" do
131
+ lambda { @doc.save! }.should raise_error(Toy::RecordInvalidError)
132
+ end
133
+ end
134
+ end
135
+
136
+ describe "#create!" do
137
+ context "with valid" do
138
+ it "persists the instance" do
139
+ @doc = User.create!(:name => 'John')
140
+ @doc.should be_persisted
141
+ end
142
+ end
143
+
144
+ context "with invalid" do
145
+ it "raises an RecordInvalidError" do
146
+ lambda { User.create! }.should raise_error(Toy::RecordInvalidError)
147
+ end
148
+ end
149
+ end
150
+
151
+ describe ".validates_embedded" do
152
+ before do
153
+ Game.embedded_list(:moves)
154
+ Move.attribute(:index, Integer)
155
+ Move.validates_presence_of(:index)
156
+ Game.validates_embedded(:moves)
157
+ end
158
+
159
+ it "adds errors if any of the embedded are invalid" do
160
+ game = Game.new(:moves => [Move.new])
161
+ game.valid?
162
+ game.errors[:moves].should include('is invalid')
163
+ end
164
+
165
+ it "does not have errors if all embedded are valid" do
166
+ game = Game.new(:moves => [Move.new(:index => 1)])
167
+ game.valid?
168
+ game.errors[:moves].should_not include('is invalid')
169
+ end
170
+ end
171
+ end
@@ -0,0 +1,26 @@
1
+ require 'helper'
2
+
3
+ describe Toy do
4
+ uses_constants('User', 'Game', 'Move')
5
+
6
+ describe ".clear" do
7
+ it "can clear all the stores in one magical moment" do
8
+ Game.embedded_list(:moves)
9
+ user = User.create!
10
+ game = Game.create!(:moves => [Move.new])
11
+ Toy.clear
12
+ User.get(user.id).should be_nil
13
+ Game.get(game.id).should be_nil
14
+ end
15
+
16
+ it "does not raise error when no default store set" do
17
+ klass = Class.new { include Toy::Store }
18
+ lambda { Toy.clear }.should_not raise_error
19
+ end
20
+
21
+ it "does not raise error when no cache set" do
22
+ klass = Class.new { include Toy::Store }
23
+ lambda { Toy.clear }.should_not raise_error
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,52 @@
1
+ def growl(title, msg, img)
2
+ %x{growlnotify -m #{ msg.inspect} -t #{title.inspect} --image ~/.watchr/#{img}.png}
3
+ end
4
+
5
+ def form_growl_message(str)
6
+ msg = str.split("\n").last
7
+ if msg =~ /(\d)\sfailure/
8
+ img = $1.to_i > 0 ? 'fail' : 'pass'
9
+ end
10
+ growl 'Results', msg, img
11
+ end
12
+
13
+ def run(cmd)
14
+ puts cmd
15
+ output = ""
16
+ IO.popen(cmd) do |com|
17
+ com.each_char do |c|
18
+ print c
19
+ output << c
20
+ $stdout.flush
21
+ end
22
+ end
23
+ form_growl_message output
24
+ end
25
+
26
+ def run_all
27
+ run('bundle exec rake')
28
+ end
29
+
30
+ def run_spec(path)
31
+ path.gsub!('lib/', 'spec/')
32
+ path.gsub!('_spec', '')
33
+ file_name = File.basename(path, '.rb')
34
+ path.gsub!(file_name, file_name + "_spec")
35
+ if File.exists?(path)
36
+ system('clear')
37
+ run(%Q(bundle exec spec #{path}))
38
+ end
39
+ end
40
+
41
+ watch('spec/helper\.rb') { run_all }
42
+ watch('lib/.*\.rb') { |m| run_spec(m[0]) }
43
+ watch('spec/.*_spec\.rb') { |m| run_spec(m[0]) }
44
+
45
+ # Ctrl-\
46
+ Signal.trap('QUIT') do
47
+ puts " --- Running all tests ---\n\n"
48
+ run_all
49
+ end
50
+
51
+ # Ctrl-C
52
+ Signal.trap('INT') { abort("\n") }
@@ -0,0 +1,40 @@
1
+ require 'bundler/setup'
2
+ require 'pathname'
3
+
4
+ root_path = Pathname(__FILE__).dirname.join('..').expand_path
5
+ lib_path = root_path.join('lib')
6
+
7
+ $:.unshift(lib_path)
8
+
9
+ require 'toy'
10
+
11
+ Adapter.define(:memory) do
12
+ def read(key)
13
+ deserialize(client[key_for(key)])
14
+ end
15
+
16
+ def write(key, value)
17
+ client[key_for(key)] = serialize(value)
18
+ end
19
+
20
+ def delete(key)
21
+ client.delete(key_for(key))
22
+ end
23
+
24
+ def clear
25
+ client.clear
26
+ end
27
+ end
28
+
29
+ class User
30
+ include Toy::Store
31
+ store :memory, {}
32
+ end
33
+
34
+ class LintTest < ActiveModel::TestCase
35
+ include ActiveModel::Lint::Tests
36
+
37
+ def setup
38
+ @model = User.new
39
+ end
40
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "toy/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "toystore"
7
+ s.version = Toy::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ['Geoffrey Dagley', 'John Nunemaker']
10
+ s.email = ['gdagley@gmail.com', 'nunemaker@gmail.com']
11
+ s.homepage = 'http://github.com/newtoy/toystore'
12
+ s.summary = 'An object mapper for anything that can read, write and delete data'
13
+ s.description = 'An object mapper for anything that can read, write and delete data'
14
+
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
+ s.require_paths = ["lib"]
19
+
20
+ s.add_dependency 'adapter', '~> 0.5.1'
21
+ s.add_dependency 'activemodel', '~> 3.0.3'
22
+ s.add_dependency 'activesupport', '~> 3.0.3'
23
+ s.add_dependency 'simple_uuid', '~> 0.1.1'
24
+ end
metadata ADDED
@@ -0,0 +1,290 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: toystore
3
+ version: !ruby/object:Gem::Version
4
+ hash: 1
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 5
9
+ version: "0.5"
10
+ platform: ruby
11
+ authors:
12
+ - Geoffrey Dagley
13
+ - John Nunemaker
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-01-26 00:00:00 -05:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: adapter
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 9
30
+ segments:
31
+ - 0
32
+ - 5
33
+ - 1
34
+ version: 0.5.1
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: activemodel
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 1
46
+ segments:
47
+ - 3
48
+ - 0
49
+ - 3
50
+ version: 3.0.3
51
+ type: :runtime
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: activesupport
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 1
62
+ segments:
63
+ - 3
64
+ - 0
65
+ - 3
66
+ version: 3.0.3
67
+ type: :runtime
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ name: simple_uuid
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ hash: 25
78
+ segments:
79
+ - 0
80
+ - 1
81
+ - 1
82
+ version: 0.1.1
83
+ type: :runtime
84
+ version_requirements: *id004
85
+ description: An object mapper for anything that can read, write and delete data
86
+ email:
87
+ - gdagley@gmail.com
88
+ - nunemaker@gmail.com
89
+ executables: []
90
+
91
+ extensions: []
92
+
93
+ extra_rdoc_files: []
94
+
95
+ files:
96
+ - .autotest
97
+ - .bundle/config
98
+ - .gitignore
99
+ - Gemfile
100
+ - Gemfile.lock
101
+ - LICENSE
102
+ - LOGGING.rdoc
103
+ - README.rdoc
104
+ - Rakefile
105
+ - examples/memcached.rb
106
+ - examples/memory.rb
107
+ - examples/models.rb
108
+ - examples/redis.rb
109
+ - lib/toy.rb
110
+ - lib/toy/attribute.rb
111
+ - lib/toy/attributes.rb
112
+ - lib/toy/caching.rb
113
+ - lib/toy/callbacks.rb
114
+ - lib/toy/collection.rb
115
+ - lib/toy/connection.rb
116
+ - lib/toy/dirty.rb
117
+ - lib/toy/dolly.rb
118
+ - lib/toy/embedded_list.rb
119
+ - lib/toy/embedded_lists.rb
120
+ - lib/toy/equality.rb
121
+ - lib/toy/exceptions.rb
122
+ - lib/toy/extensions/array.rb
123
+ - lib/toy/extensions/boolean.rb
124
+ - lib/toy/extensions/date.rb
125
+ - lib/toy/extensions/float.rb
126
+ - lib/toy/extensions/hash.rb
127
+ - lib/toy/extensions/integer.rb
128
+ - lib/toy/extensions/nil_class.rb
129
+ - lib/toy/extensions/object.rb
130
+ - lib/toy/extensions/set.rb
131
+ - lib/toy/extensions/string.rb
132
+ - lib/toy/extensions/time.rb
133
+ - lib/toy/identity.rb
134
+ - lib/toy/identity/abstract_key_factory.rb
135
+ - lib/toy/identity/uuid_key_factory.rb
136
+ - lib/toy/identity_map.rb
137
+ - lib/toy/index.rb
138
+ - lib/toy/indices.rb
139
+ - lib/toy/inspect.rb
140
+ - lib/toy/list.rb
141
+ - lib/toy/lists.rb
142
+ - lib/toy/logger.rb
143
+ - lib/toy/mass_assignment_security.rb
144
+ - lib/toy/persistence.rb
145
+ - lib/toy/plugins.rb
146
+ - lib/toy/proxies/embedded_list.rb
147
+ - lib/toy/proxies/list.rb
148
+ - lib/toy/proxies/proxy.rb
149
+ - lib/toy/querying.rb
150
+ - lib/toy/reference.rb
151
+ - lib/toy/references.rb
152
+ - lib/toy/serialization.rb
153
+ - lib/toy/store.rb
154
+ - lib/toy/timestamps.rb
155
+ - lib/toy/validations.rb
156
+ - lib/toy/version.rb
157
+ - lib/toystore.rb
158
+ - spec/helper.rb
159
+ - spec/spec.opts
160
+ - spec/support/constants.rb
161
+ - spec/support/identity_map_matcher.rb
162
+ - spec/support/name_and_number_key_factory.rb
163
+ - spec/toy/attribute_spec.rb
164
+ - spec/toy/attributes_spec.rb
165
+ - spec/toy/caching_spec.rb
166
+ - spec/toy/callbacks_spec.rb
167
+ - spec/toy/connection_spec.rb
168
+ - spec/toy/dirty_spec.rb
169
+ - spec/toy/dolly_spec.rb
170
+ - spec/toy/embedded_list_spec.rb
171
+ - spec/toy/embedded_lists_spec.rb
172
+ - spec/toy/equality_spec.rb
173
+ - spec/toy/exceptions_spec.rb
174
+ - spec/toy/extensions/array_spec.rb
175
+ - spec/toy/extensions/boolean_spec.rb
176
+ - spec/toy/extensions/date_spec.rb
177
+ - spec/toy/extensions/float_spec.rb
178
+ - spec/toy/extensions/hash_spec.rb
179
+ - spec/toy/extensions/integer_spec.rb
180
+ - spec/toy/extensions/nil_class_spec.rb
181
+ - spec/toy/extensions/set_spec.rb
182
+ - spec/toy/extensions/string_spec.rb
183
+ - spec/toy/extensions/time_spec.rb
184
+ - spec/toy/identity/abstract_key_factory_spec.rb
185
+ - spec/toy/identity/uuid_key_factory_spec.rb
186
+ - spec/toy/identity_map_spec.rb
187
+ - spec/toy/identity_spec.rb
188
+ - spec/toy/index_spec.rb
189
+ - spec/toy/indices_spec.rb
190
+ - spec/toy/inspect_spec.rb
191
+ - spec/toy/list_spec.rb
192
+ - spec/toy/lists_spec.rb
193
+ - spec/toy/logger_spec.rb
194
+ - spec/toy/mass_assignment_security_spec.rb
195
+ - spec/toy/persistence_spec.rb
196
+ - spec/toy/plugins_spec.rb
197
+ - spec/toy/querying_spec.rb
198
+ - spec/toy/reference_spec.rb
199
+ - spec/toy/references_spec.rb
200
+ - spec/toy/serialization_spec.rb
201
+ - spec/toy/store_spec.rb
202
+ - spec/toy/timestamps_spec.rb
203
+ - spec/toy/validations_spec.rb
204
+ - spec/toy_spec.rb
205
+ - specs.watchr
206
+ - test/lint_test.rb
207
+ - toystore.gemspec
208
+ has_rdoc: true
209
+ homepage: http://github.com/newtoy/toystore
210
+ licenses: []
211
+
212
+ post_install_message:
213
+ rdoc_options: []
214
+
215
+ require_paths:
216
+ - lib
217
+ required_ruby_version: !ruby/object:Gem::Requirement
218
+ none: false
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ hash: 3
223
+ segments:
224
+ - 0
225
+ version: "0"
226
+ required_rubygems_version: !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ hash: 3
232
+ segments:
233
+ - 0
234
+ version: "0"
235
+ requirements: []
236
+
237
+ rubyforge_project:
238
+ rubygems_version: 1.3.7
239
+ signing_key:
240
+ specification_version: 3
241
+ summary: An object mapper for anything that can read, write and delete data
242
+ test_files:
243
+ - spec/helper.rb
244
+ - spec/spec.opts
245
+ - spec/support/constants.rb
246
+ - spec/support/identity_map_matcher.rb
247
+ - spec/support/name_and_number_key_factory.rb
248
+ - spec/toy/attribute_spec.rb
249
+ - spec/toy/attributes_spec.rb
250
+ - spec/toy/caching_spec.rb
251
+ - spec/toy/callbacks_spec.rb
252
+ - spec/toy/connection_spec.rb
253
+ - spec/toy/dirty_spec.rb
254
+ - spec/toy/dolly_spec.rb
255
+ - spec/toy/embedded_list_spec.rb
256
+ - spec/toy/embedded_lists_spec.rb
257
+ - spec/toy/equality_spec.rb
258
+ - spec/toy/exceptions_spec.rb
259
+ - spec/toy/extensions/array_spec.rb
260
+ - spec/toy/extensions/boolean_spec.rb
261
+ - spec/toy/extensions/date_spec.rb
262
+ - spec/toy/extensions/float_spec.rb
263
+ - spec/toy/extensions/hash_spec.rb
264
+ - spec/toy/extensions/integer_spec.rb
265
+ - spec/toy/extensions/nil_class_spec.rb
266
+ - spec/toy/extensions/set_spec.rb
267
+ - spec/toy/extensions/string_spec.rb
268
+ - spec/toy/extensions/time_spec.rb
269
+ - spec/toy/identity/abstract_key_factory_spec.rb
270
+ - spec/toy/identity/uuid_key_factory_spec.rb
271
+ - spec/toy/identity_map_spec.rb
272
+ - spec/toy/identity_spec.rb
273
+ - spec/toy/index_spec.rb
274
+ - spec/toy/indices_spec.rb
275
+ - spec/toy/inspect_spec.rb
276
+ - spec/toy/list_spec.rb
277
+ - spec/toy/lists_spec.rb
278
+ - spec/toy/logger_spec.rb
279
+ - spec/toy/mass_assignment_security_spec.rb
280
+ - spec/toy/persistence_spec.rb
281
+ - spec/toy/plugins_spec.rb
282
+ - spec/toy/querying_spec.rb
283
+ - spec/toy/reference_spec.rb
284
+ - spec/toy/references_spec.rb
285
+ - spec/toy/serialization_spec.rb
286
+ - spec/toy/store_spec.rb
287
+ - spec/toy/timestamps_spec.rb
288
+ - spec/toy/validations_spec.rb
289
+ - spec/toy_spec.rb
290
+ - test/lint_test.rb