memory_model 0.0.2 → 0.1.0

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 (70) hide show
  1. checksums.yaml +15 -0
  2. data/.ruby-version +1 -0
  3. data/.travis.yml +7 -4
  4. data/Appraisals +9 -0
  5. data/Guardfile +7 -1
  6. data/README.md +5 -1
  7. data/Rakefile +12 -0
  8. data/gemfiles/rails_3.gemfile +8 -0
  9. data/gemfiles/rails_3.gemfile.lock +109 -0
  10. data/gemfiles/rails_4.gemfile +8 -0
  11. data/gemfiles/rails_4.gemfile.lock +117 -0
  12. data/lib/memory_model/base/actions/class_methods.rb +27 -0
  13. data/lib/memory_model/base/actions.rb +75 -0
  14. data/lib/memory_model/base/attributes.rb +87 -0
  15. data/lib/memory_model/base/auto_increment.rb +47 -0
  16. data/lib/memory_model/base/collectible.rb +26 -0
  17. data/lib/memory_model/base/conversion.rb +11 -0
  18. data/lib/memory_model/base/fields/field.rb +57 -0
  19. data/lib/memory_model/base/fields/field_set.rb +87 -0
  20. data/lib/memory_model/base/fields.rb +49 -0
  21. data/lib/memory_model/base/operations/comparisons.rb +25 -0
  22. data/lib/memory_model/base/operations.rb +10 -0
  23. data/lib/memory_model/base/persistence.rb +13 -11
  24. data/lib/memory_model/base.rb +58 -43
  25. data/lib/memory_model/collection/finders.rb +75 -0
  26. data/lib/memory_model/collection/index/multi.rb +61 -0
  27. data/lib/memory_model/collection/index/unique.rb +79 -0
  28. data/lib/memory_model/collection/index.rb +86 -0
  29. data/lib/memory_model/collection/initializers.rb +48 -0
  30. data/lib/memory_model/collection/loader_delegate.rb +63 -0
  31. data/lib/memory_model/collection/marshaled_record.rb +23 -0
  32. data/lib/memory_model/collection/operations.rb +82 -0
  33. data/lib/memory_model/collection.rb +18 -73
  34. data/lib/memory_model/version.rb +1 -1
  35. data/lib/memory_model.rb +7 -7
  36. data/memory_model.gemspec +8 -3
  37. data/spec/benchmark/benchmark.rb +126 -0
  38. data/spec/memory_model/base/{actionable_spec.rb → actions_spec.rb} +34 -103
  39. data/spec/memory_model/base/{attributable_spec.rb → attributes_spec.rb} +4 -6
  40. data/spec/memory_model/base/{collectable_spec.rb → collectible_spec.rb} +1 -1
  41. data/spec/memory_model/base/fieldable/field_set_spec.rb +23 -37
  42. data/spec/memory_model/base/fieldable/field_spec.rb +16 -16
  43. data/spec/memory_model/base/{fieldable_spec.rb → fields_spec.rb} +1 -1
  44. data/spec/memory_model/base/{comparable_spec.rb → operations/comparisons_spec.rb} +4 -4
  45. data/spec/memory_model/base/persistence_spec.rb +2 -2
  46. data/spec/memory_model/base_spec.rb +10 -9
  47. data/spec/memory_model/collection_spec.rb +24 -146
  48. data/spec/spec_helper.rb +11 -0
  49. data/spec/support/delegate_matcher.rb +40 -0
  50. metadata +120 -65
  51. data/.idea/.rakeTasks +0 -7
  52. data/.idea/dictionaries/jwaldrip.xml +0 -3
  53. data/.idea/encodings.xml +0 -5
  54. data/.idea/memory_model.iml +0 -47
  55. data/.idea/misc.xml +0 -8
  56. data/.idea/modules.xml +0 -9
  57. data/.idea/scopes/scope_settings.xml +0 -5
  58. data/.idea/vcs.xml +0 -7
  59. data/.idea/workspace.xml +0 -701
  60. data/lib/memory_model/base/actionable.rb +0 -95
  61. data/lib/memory_model/base/attributable.rb +0 -76
  62. data/lib/memory_model/base/collectable.rb +0 -22
  63. data/lib/memory_model/base/comparable.rb +0 -16
  64. data/lib/memory_model/base/fieldable/field.rb +0 -35
  65. data/lib/memory_model/base/fieldable/field_set.rb +0 -74
  66. data/lib/memory_model/base/fieldable.rb +0 -45
  67. data/lib/memory_model/base/versionable.rb +0 -17
  68. data/lib/memory_model/core_ext/object.rb +0 -5
  69. data/spec/memory_model/base/versionable_spec.rb +0 -31
  70. data/spec/memory_model/core_ext/object_spec.rb +0 -12
@@ -3,20 +3,19 @@ require 'spec_helper'
3
3
  describe MemoryModel::Collection do
4
4
 
5
5
  let(:klass) { MemoryModel::Collection }
6
- let(:model) { Class.new(MemoryModel::Base) }
7
- subject(:collection) { model.collection }
8
- before(:each) do
6
+ let(:model) do
7
+ model = Class.new(MemoryModel::Base) do
8
+ set_primary_key :id
9
+ end
9
10
  stub_const('MyModel', model)
10
11
  end
11
12
 
13
+ subject(:collection) { model.collection }
14
+
12
15
  describe '.new' do
13
16
  it 'should be empty' do
14
17
  collection.size.should == 0
15
18
  end
16
-
17
- it 'should be present' do
18
- klass.all.should include collection
19
- end
20
19
  end
21
20
 
22
21
  describe '.all' do
@@ -25,115 +24,48 @@ describe MemoryModel::Collection do
25
24
  end
26
25
  end
27
26
 
28
- # Instance Methods
29
-
30
- describe '#all' do
31
- it 'should be an array' do
32
- collection.all.should be_a Array
27
+ describe '.index_names' do
28
+ it 'should return the name of all the indexes' do
29
+ allow(collection).to receive(:indexes).and_return({ foo: [], bar: [], baz: []})
30
+ collection.index_names.should include :foo, :bar, :baz
33
31
  end
32
+ end
34
33
 
35
- it 'should call unique' do
36
- collection.should_receive(:unique).and_return([])
37
- collection.all
38
- end
34
+ describe '.index_by' do
35
+ it 'should add a index key' do
39
36
 
40
- it 'should not contain deleted items' do
41
- 3.times { model.new.commit }
42
- model.new.commit.delete
43
- collection.all.each do |record|
44
- record.should_not be_deleted
45
- end
46
37
  end
47
38
  end
48
39
 
49
- describe '#deleted' do
50
- it 'should be an array' do
51
- collection.deleted.should be_a Array
52
- end
53
-
54
- it 'should call unique' do
55
- collection.should_receive(:unique).and_return([])
56
- collection.deleted
57
- end
40
+ # Instance Methods
58
41
 
59
- it 'should contain deleted items' do
60
- 3.times { model.new.commit }
61
- model.new.commit.delete
62
- collection.deleted.each do |record|
63
- record.should be_deleted
64
- end
42
+ describe '#all' do
43
+ it 'should be an array' do
44
+ collection.all.should be_a MemoryModel::Collection::LoaderDelegate
65
45
  end
66
46
  end
67
47
 
68
48
  describe '#find' do
69
49
  it 'should return a single object' do
70
- id = model.new.commit.id
50
+ id = model.create.id
71
51
  collection.find(id).should be_present
72
52
  end
73
53
 
74
54
  it 'should have unfrozen attributes' do
75
- instance = model.new
76
- instance.commit
55
+ instance = model.create
77
56
  collection.find(instance.id).instance_variable_get(:@attributes).should_not be_frozen
78
57
  end
79
58
 
80
59
  it 'should not return a deleted object' do
81
- instance = model.new
82
- instance.commit.delete
60
+ instance = model.create.delete
83
61
  expect { collection.find(instance.id) }.to raise_error MemoryModel::RecordNotFoundError
84
62
  end
85
63
 
86
- context 'with the deleted option' do
87
- it 'should return a deleted object with the deleted option' do
88
- instance = model.new
89
- instance.commit.delete
90
- collection.find(instance.id, deleted: true).should be_present
91
- collection.find(instance.id, deleted: true).should be_deleted
92
- collection.find(instance.id, deleted: true).should be_frozen
93
- end
94
- end
95
-
96
- context 'with a version' do
97
- it 'should return a version' do
98
- model.send(:field, :foo)
99
- instance = model.new(foo: 'bar')
100
- instance.commit
101
- instance.foo = 'baz'
102
- instance.commit
103
- collection.find(instance.id, version: 1).foo.should == 'bar'
104
- end
105
-
106
- it 'should return previous version of a deleted object' do
107
- instance = model.new
108
- instance.commit.delete
109
- expect { collection.find(instance.id) }.to raise_error MemoryModel::RecordNotFoundError
110
- collection.find(instance.id, version: 1).should be_present
111
- end
112
- end
113
- end
114
-
115
- describe "#insert" do
116
- it 'should raise an error for an invalid object' do
117
- expect { collection.insert Object.new }.to raise_error MemoryModel::Collection::InvalidTypeError
118
- end
119
-
120
- it 'should duplicate a record being inserted' do
121
- instance = model.new
122
- instance.should_receive :dup
123
- collection.insert instance
124
- end
125
-
126
- it 'should freeze a record being inserted' do
127
- instance = model.new
128
- collection.insert instance
129
- collection.last.should == instance
130
- collection.records(false).last.should be_frozen
131
- end
132
64
  end
133
65
 
134
66
  describe '#inspect' do
135
67
  it 'should delegate inspect to all' do
136
- all_mock = mock
68
+ all_mock = double
137
69
  all_mock.should_receive(:inspect)
138
70
  collection.stub(:all).and_return(all_mock)
139
71
  collection.inspect
@@ -142,7 +74,7 @@ describe MemoryModel::Collection do
142
74
 
143
75
  describe '#records' do
144
76
  let(:mock_record) do
145
- mock_record = mock
77
+ mock_record = double
146
78
  mock_record.stub(:deleted?).and_return(false)
147
79
  mock_record
148
80
  end
@@ -151,65 +83,11 @@ describe MemoryModel::Collection do
151
83
  collection.instance_variable_set :@records, [mock_record]
152
84
  end
153
85
 
154
- it 'should dup records' do
155
- mock_record.should_receive(:dup)
156
- collection.records
157
- end
158
-
159
- it 'should not dup records' do
160
- mock_record.should_not_receive(:dup)
161
- collection.records(false)
162
- end
163
86
  end
164
87
 
165
88
  describe '#records' do
166
- it 'should contain unfrozen duplicates' do
167
- 3.times { model.new.commit }
168
- collection.records.each do |record|
169
- record.should_not be_frozen
170
- end
171
- collection.records.size.should == 3
172
- end
173
- end
174
-
175
- describe '#method_missing' do
176
- it 'should delegate method to all' do
177
- all_mock = mock
178
- all_mock.should_receive(:test_method)
179
- collection.stub(:all).and_return(all_mock)
180
- collection.test_method
181
- end
182
- end
183
-
184
- describe '#respond_to_missing?' do
185
- it 'should check if all responds to' do
186
- all_mock = mock
187
- all_mock.should_receive(:respond_to?)
188
- collection.stub(:all).and_return(all_mock)
189
- collection.send :respond_to_missing?, :test_method
190
- end
191
- end
192
-
193
- describe 'sorted' do
194
- it 'should be sorted by timestamp, with most recent first' do
195
- item_1 = model.new.commit
196
- item_2 = model.new.commit
197
- collection[1].should == item_1
198
- collection[0].should == item_2
199
- end
200
- end
201
-
202
- describe '#unique' do
203
- it 'should contain unique items' do
204
- instance = model.new
205
- 3.times { instance.commit }
206
- collection.send(:unique).size.should == 1
207
- collection.records.size.should == 3
208
- end
209
-
210
- it 'should call sorted' do
211
- collection.should_receive(:sorted).and_return([])
212
- collection.send(:unique)
89
+ it 'should be an array' do
90
+ collection.send(:records).should be_an Array
213
91
  end
214
92
  end
215
93
 
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,18 @@
1
1
  require 'simplecov'
2
+ require 'coveralls'
3
+
4
+ require 'rspec/autorun'
5
+ require 'bundler/setup'
6
+ require 'pry'
7
+
8
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
9
+ SimpleCov::Formatter::HTMLFormatter,
10
+ Coveralls::SimpleCov::Formatter
11
+ ]
2
12
  SimpleCov.start
3
13
 
4
14
  require 'memory_model'
15
+
5
16
  Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
6
17
 
7
18
  RSpec.configure do |config|
@@ -0,0 +1,40 @@
1
+ # RSpec matcher to spec delegations.
2
+ #
3
+ # Usage:
4
+ #
5
+ # describe Post do
6
+ # it { should delegate(:name).to(:author).with_prefix } # post.author_name
7
+ # it { should delegate(:month).to(:created_at) }
8
+ # it { should delegate(:year).to(:created_at) }
9
+ # end
10
+
11
+ RSpec::Matchers.define :delegate do |target_method|
12
+ match do |delegator|
13
+ source_method = @prefix ? :"#{@to}_#{target_method}" : target_method
14
+ @delegator = delegator
15
+ begin
16
+ @delegator.send(@to)
17
+ rescue NoMethodError
18
+ raise "#{@delegator} does not respond to #{@to}!"
19
+ end
20
+ allow(@delegator).to receive(@to).and_return(double 'receiver', target_method => :called)
21
+ args = (target_method =~ /[^\]]=$/) ? [:called] : []
22
+ @delegator.send(source_method, *args) == :called
23
+ end
24
+
25
+ description do
26
+ "delegate :#{target_method} to its #{@to}#{@prefix ? ' with prefix' : ''}"
27
+ end
28
+
29
+ failure_message_for_should do |text|
30
+ "expected #{@delegator} to delegate :#{target_method} to its #{@to}#{@prefix ? ' with prefix' : ''}"
31
+ end
32
+
33
+ failure_message_for_should_not do |text|
34
+ "expected #{@delegator} not to delegate :#{target_method} to its #{@to}#{@prefix ? ' with prefix' : ''}"
35
+ end
36
+
37
+ chain(:to) { |receiver| @to = receiver }
38
+ chain(:with_prefix) { @prefix = true }
39
+
40
+ end
metadata CHANGED
@@ -1,52 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memory_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jason Waldrip
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-01-14 00:00:00.000000000 Z
11
+ date: 2013-10-17 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activemodel
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
21
- version: '0'
19
+ version: '3.2'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
29
- version: '0'
26
+ version: '3.2'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: activesupport
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
37
- version: '0'
33
+ version: '3.2'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
45
- version: '0'
40
+ version: '3.2'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: concerned_inheritance
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,23 +48,20 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
- name: ice_nine
56
+ name: appraisal
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
- type: :runtime
62
+ type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: guard-rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,20 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard-bundler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
90
93
  requirements:
91
94
  - - ! '>='
92
95
  - !ruby/object:Gem::Version
@@ -94,7 +97,6 @@ dependencies:
94
97
  - !ruby/object:Gem::Dependency
95
98
  name: rb-fsevent
96
99
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
100
  requirements:
99
101
  - - ! '>='
100
102
  - !ruby/object:Gem::Version
@@ -102,7 +104,6 @@ dependencies:
102
104
  type: :development
103
105
  prerelease: false
104
106
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
107
  requirements:
107
108
  - - ! '>='
108
109
  - !ruby/object:Gem::Version
@@ -110,7 +111,6 @@ dependencies:
110
111
  - !ruby/object:Gem::Dependency
111
112
  name: rspec
112
113
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
114
  requirements:
115
115
  - - ! '>='
116
116
  - !ruby/object:Gem::Version
@@ -118,7 +118,6 @@ dependencies:
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
121
  requirements:
123
122
  - - ! '>='
124
123
  - !ruby/object:Gem::Version
@@ -126,7 +125,6 @@ dependencies:
126
125
  - !ruby/object:Gem::Dependency
127
126
  name: simplecov
128
127
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
128
  requirements:
131
129
  - - ! '>='
132
130
  - !ruby/object:Gem::Version
@@ -134,7 +132,6 @@ dependencies:
134
132
  type: :development
135
133
  prerelease: false
136
134
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
135
  requirements:
139
136
  - - ! '>='
140
137
  - !ruby/object:Gem::Version
@@ -142,7 +139,6 @@ dependencies:
142
139
  - !ruby/object:Gem::Dependency
143
140
  name: terminal-notifier-guard
144
141
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
142
  requirements:
147
143
  - - ! '>='
148
144
  - !ruby/object:Gem::Version
@@ -150,7 +146,6 @@ dependencies:
150
146
  type: :development
151
147
  prerelease: false
152
148
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
149
  requirements:
155
150
  - - ! '>='
156
151
  - !ruby/object:Gem::Version
@@ -158,7 +153,6 @@ dependencies:
158
153
  - !ruby/object:Gem::Dependency
159
154
  name: test-unit
160
155
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
156
  requirements:
163
157
  - - ! '>='
164
158
  - !ruby/object:Gem::Version
@@ -166,7 +160,62 @@ dependencies:
166
160
  type: :development
167
161
  prerelease: false
168
162
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: coveralls
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: pry
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ! '>='
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ! '>='
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: colorize
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ! '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ! '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: faker
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ! '>='
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
170
219
  requirements:
171
220
  - - ! '>='
172
221
  - !ruby/object:Gem::Version
@@ -180,87 +229,93 @@ extensions: []
180
229
  extra_rdoc_files: []
181
230
  files:
182
231
  - .gitignore
183
- - .idea/.rakeTasks
184
- - .idea/dictionaries/jwaldrip.xml
185
- - .idea/encodings.xml
186
- - .idea/memory_model.iml
187
- - .idea/misc.xml
188
- - .idea/modules.xml
189
- - .idea/scopes/scope_settings.xml
190
- - .idea/vcs.xml
191
- - .idea/workspace.xml
192
232
  - .rspec
233
+ - .ruby-version
193
234
  - .travis.yml
235
+ - Appraisals
194
236
  - Gemfile
195
237
  - Guardfile
196
238
  - LICENSE.txt
197
239
  - README.md
198
240
  - Rakefile
241
+ - gemfiles/rails_3.gemfile
242
+ - gemfiles/rails_3.gemfile.lock
243
+ - gemfiles/rails_4.gemfile
244
+ - gemfiles/rails_4.gemfile.lock
199
245
  - lib/memory_model.rb
200
246
  - lib/memory_model/base.rb
201
- - lib/memory_model/base/actionable.rb
202
- - lib/memory_model/base/attributable.rb
203
- - lib/memory_model/base/collectable.rb
204
- - lib/memory_model/base/comparable.rb
205
- - lib/memory_model/base/fieldable.rb
206
- - lib/memory_model/base/fieldable/field.rb
207
- - lib/memory_model/base/fieldable/field_set.rb
247
+ - lib/memory_model/base/actions.rb
248
+ - lib/memory_model/base/actions/class_methods.rb
249
+ - lib/memory_model/base/attributes.rb
250
+ - lib/memory_model/base/auto_increment.rb
251
+ - lib/memory_model/base/collectible.rb
252
+ - lib/memory_model/base/conversion.rb
253
+ - lib/memory_model/base/fields.rb
254
+ - lib/memory_model/base/fields/field.rb
255
+ - lib/memory_model/base/fields/field_set.rb
256
+ - lib/memory_model/base/operations.rb
257
+ - lib/memory_model/base/operations/comparisons.rb
208
258
  - lib/memory_model/base/persistence.rb
209
- - lib/memory_model/base/versionable.rb
210
259
  - lib/memory_model/collection.rb
211
- - lib/memory_model/core_ext/object.rb
260
+ - lib/memory_model/collection/finders.rb
261
+ - lib/memory_model/collection/index.rb
262
+ - lib/memory_model/collection/index/multi.rb
263
+ - lib/memory_model/collection/index/unique.rb
264
+ - lib/memory_model/collection/initializers.rb
265
+ - lib/memory_model/collection/loader_delegate.rb
266
+ - lib/memory_model/collection/marshaled_record.rb
267
+ - lib/memory_model/collection/operations.rb
212
268
  - lib/memory_model/version.rb
213
269
  - memory_model.gemspec
214
- - spec/memory_model/base/actionable_spec.rb
215
- - spec/memory_model/base/attributable_spec.rb
216
- - spec/memory_model/base/collectable_spec.rb
217
- - spec/memory_model/base/comparable_spec.rb
270
+ - spec/benchmark/benchmark.rb
271
+ - spec/memory_model/base/actions_spec.rb
272
+ - spec/memory_model/base/attributes_spec.rb
273
+ - spec/memory_model/base/collectible_spec.rb
218
274
  - spec/memory_model/base/fieldable/field_set_spec.rb
219
275
  - spec/memory_model/base/fieldable/field_spec.rb
220
- - spec/memory_model/base/fieldable_spec.rb
276
+ - spec/memory_model/base/fields_spec.rb
277
+ - spec/memory_model/base/operations/comparisons_spec.rb
221
278
  - spec/memory_model/base/persistence_spec.rb
222
- - spec/memory_model/base/versionable_spec.rb
223
279
  - spec/memory_model/base_spec.rb
224
280
  - spec/memory_model/collection_spec.rb
225
- - spec/memory_model/core_ext/object_spec.rb
226
281
  - spec/spec_helper.rb
227
282
  - spec/support/active_model_lint.rb
283
+ - spec/support/delegate_matcher.rb
228
284
  homepage: http://github.com/jwaldrip/memory_model
229
285
  licenses: []
286
+ metadata: {}
230
287
  post_install_message:
231
288
  rdoc_options: []
232
289
  require_paths:
233
290
  - lib
234
291
  required_ruby_version: !ruby/object:Gem::Requirement
235
- none: false
236
292
  requirements:
237
293
  - - ! '>='
238
294
  - !ruby/object:Gem::Version
239
295
  version: '0'
240
296
  required_rubygems_version: !ruby/object:Gem::Requirement
241
- none: false
242
297
  requirements:
243
298
  - - ! '>='
244
299
  - !ruby/object:Gem::Version
245
300
  version: '0'
246
301
  requirements: []
247
302
  rubyforge_project:
248
- rubygems_version: 1.8.23
303
+ rubygems_version: 2.1.5
249
304
  signing_key:
250
- specification_version: 3
305
+ specification_version: 4
251
306
  summary: An in memory, ORM
252
307
  test_files:
253
- - spec/memory_model/base/actionable_spec.rb
254
- - spec/memory_model/base/attributable_spec.rb
255
- - spec/memory_model/base/collectable_spec.rb
256
- - spec/memory_model/base/comparable_spec.rb
308
+ - spec/benchmark/benchmark.rb
309
+ - spec/memory_model/base/actions_spec.rb
310
+ - spec/memory_model/base/attributes_spec.rb
311
+ - spec/memory_model/base/collectible_spec.rb
257
312
  - spec/memory_model/base/fieldable/field_set_spec.rb
258
313
  - spec/memory_model/base/fieldable/field_spec.rb
259
- - spec/memory_model/base/fieldable_spec.rb
314
+ - spec/memory_model/base/fields_spec.rb
315
+ - spec/memory_model/base/operations/comparisons_spec.rb
260
316
  - spec/memory_model/base/persistence_spec.rb
261
- - spec/memory_model/base/versionable_spec.rb
262
317
  - spec/memory_model/base_spec.rb
263
318
  - spec/memory_model/collection_spec.rb
264
- - spec/memory_model/core_ext/object_spec.rb
265
319
  - spec/spec_helper.rb
266
320
  - spec/support/active_model_lint.rb
321
+ - spec/support/delegate_matcher.rb
data/.idea/.rakeTasks DELETED
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Settings><!--This file was automatically generated by Ruby plugin.
3
- You are allowed to:
4
- 1. Remove rake task
5
- 2. Add existing rake tasks
6
- To add existing rake tasks automatically delete this file and reload the project.
7
- --><RakeGroup description="" fullCmd="" taksId="rake" /></Settings>
@@ -1,3 +0,0 @@
1
- <component name="ProjectDictionaryState">
2
- <dictionary name="jwaldrip" />
3
- </component>
data/.idea/encodings.xml DELETED
@@ -1,5 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
4
- </project>
5
-