dm-mongo-adapter 0.2.0.pre1 → 0.2.0.pre2

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.
data/Rakefile CHANGED
@@ -23,6 +23,9 @@ begin
23
23
  gem.add_development_dependency 'rspec', '>= 1.3.0'
24
24
  gem.add_development_dependency 'yard', '>= 0.5'
25
25
  gem.add_development_dependency 'yardstick', '>= 0.1'
26
+
27
+ # Exclude files
28
+ gem.files.exclude "bin/console"
26
29
  end
27
30
  Jeweler::GemcutterTasks.new
28
31
  FileList['tasks/**/*.rake'].each { |task| import task }
data/VERSION.yml CHANGED
@@ -2,4 +2,4 @@
2
2
  :major: 0
3
3
  :minor: 2
4
4
  :patch: 0
5
- :build: pre1
5
+ :build: pre2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dm-mongo-adapter}
8
- s.version = "0.2.0.pre1"
8
+ s.version = "0.2.0.pre2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Piotr Solnica"]
12
- s.date = %q{2010-01-31}
12
+ s.date = %q{2010-02-22}
13
13
  s.default_executable = %q{console}
14
14
  s.email = %q{piotr.solnica@gmail.com}
15
15
  s.executables = ["console"]
@@ -25,7 +25,6 @@ Gem::Specification.new do |s|
25
25
  "Rakefile",
26
26
  "TODO",
27
27
  "VERSION.yml",
28
- "bin/console",
29
28
  "dm-mongo-adapter.gemspec",
30
29
  "lib/mongo_adapter.rb",
31
30
  "lib/mongo_adapter/adapter.rb",
@@ -84,38 +83,37 @@ Gem::Specification.new do |s|
84
83
  "tasks/yard.rake",
85
84
  "tasks/yardstick.rake"
86
85
  ]
87
- s.has_rdoc = false
88
86
  s.homepage = %q{http://github.com/solnic/dm-mongo-adapter}
89
87
  s.rdoc_options = ["--charset=UTF-8"]
90
88
  s.require_paths = ["lib"]
91
- s.rubygems_version = %q{1.3.5}
89
+ s.rubygems_version = %q{1.3.6}
92
90
  s.summary = %q{MongoDB DataMapper Adapter}
93
91
  s.test_files = [
94
92
  "spec/semipublic/model/embedment_spec.rb",
95
93
  "spec/semipublic/resource_spec.rb",
96
94
  "spec/semipublic/embedded_model_spec.rb",
97
- "spec/spec_helper.rb",
98
- "spec/legacy/sti_spec.rb",
99
- "spec/legacy/property_spec.rb",
100
- "spec/legacy/modifier_spec.rb",
101
- "spec/legacy/adapter_spec.rb",
102
- "spec/legacy/spec_helper.rb",
103
- "spec/legacy/embedments_spec.rb",
104
- "spec/legacy/adapter_shared_spec.rb",
105
- "spec/legacy/associations_spec.rb",
106
- "spec/legacy/embedded_resource_spec.rb",
107
- "spec/public/embedded_collection_spec.rb",
108
- "spec/public/model_spec.rb",
109
- "spec/public/model/embedment_spec.rb",
110
- "spec/public/shared/model_embedments_spec.rb",
111
- "spec/public/shared/object_id_shared_spec.rb",
112
- "spec/public/resource_spec.rb",
113
95
  "spec/public/types/discriminator_spec.rb",
114
- "spec/public/types/embedded_hash_spec.rb",
115
- "spec/public/types/embedded_array_spec.rb",
116
96
  "spec/public/types/df_ref_spec.rb",
97
+ "spec/public/types/embedded_hash_spec.rb",
117
98
  "spec/public/types/object_id_spec.rb",
99
+ "spec/public/types/embedded_array_spec.rb",
100
+ "spec/public/model/embedment_spec.rb",
101
+ "spec/public/resource_spec.rb",
102
+ "spec/public/shared/object_id_shared_spec.rb",
103
+ "spec/public/shared/model_embedments_spec.rb",
118
104
  "spec/public/embedded_resource_spec.rb",
105
+ "spec/public/embedded_collection_spec.rb",
106
+ "spec/public/model_spec.rb",
107
+ "spec/legacy/property_spec.rb",
108
+ "spec/legacy/associations_spec.rb",
109
+ "spec/legacy/modifier_spec.rb",
110
+ "spec/legacy/adapter_shared_spec.rb",
111
+ "spec/legacy/embedded_resource_spec.rb",
112
+ "spec/legacy/sti_spec.rb",
113
+ "spec/legacy/embedments_spec.rb",
114
+ "spec/legacy/adapter_spec.rb",
115
+ "spec/legacy/spec_helper.rb",
116
+ "spec/spec_helper.rb",
119
117
  "spec/lib/cleanup_models.rb",
120
118
  "spec/lib/raw_connections.rb"
121
119
  ]
@@ -154,7 +154,8 @@ module DataMapper
154
154
  model.properties.each do |property|
155
155
  name = property.name
156
156
  if model.public_method_defined?(name)
157
- value = record.__send__(name)
157
+ value = property.get(record)
158
+
158
159
  attributes[property.field] = property.custom? ?
159
160
  property.type.dump(value, property) : value
160
161
  end
@@ -166,7 +167,7 @@ module DataMapper
166
167
  value = record.__send__(name)
167
168
 
168
169
  if embedment.kind_of?(Embedments::OneToMany::Relationship)
169
- attributes[name] = value.map{ |resource| attributes_as_fields(resource) }
170
+ attributes[embedment.storage_name] = value.map{ |resource| attributes_as_fields(resource) }
170
171
  else
171
172
  attributes[name] = attributes_as_fields(value)
172
173
  end
@@ -186,7 +187,7 @@ module DataMapper
186
187
  when DataMapper::Property
187
188
  attributes[key.field] = key.custom? ? key.type.dump(value, key) : value
188
189
  when Embedments::Relationship
189
- attributes[key.name] = attributes_as_fields(value)
190
+ attributes[key.storage_name] = attributes_as_fields(value)
190
191
  end
191
192
  end
192
193
 
@@ -59,6 +59,11 @@ module DataMapper
59
59
  get!(source).replace(targets)
60
60
  end
61
61
 
62
+ # @api public
63
+ def storage_name
64
+ @storage_name ||= target_model.storage_name
65
+ end
66
+
62
67
  private
63
68
 
64
69
  # Creates a new collection instance for the source resources.
@@ -46,6 +46,10 @@ module DataMapper
46
46
  set!(source, target)
47
47
  end
48
48
 
49
+ # @api public
50
+ def storage_name
51
+ @storage_name ||= target_model.storage_name.singular
52
+ end
49
53
  end # Relationship
50
54
  end # OneToOne
51
55
  end # Embedments
@@ -149,7 +149,7 @@ module DataMapper
149
149
  def comparison_statement_for_embedment(comparison, affirmative = true)
150
150
  embedment = @query.model.embedments.values.detect { |e| e.target_model == comparison.subject.model }
151
151
 
152
- field = "#{embedment.name}.#{comparison.subject.field}"
152
+ field = "#{embedment.storage_name}.#{comparison.subject.field}"
153
153
 
154
154
  update_statements(comparison, field, affirmative)
155
155
  end
@@ -8,10 +8,6 @@ module DataMapper
8
8
  self.typecast(value, property)
9
9
  end
10
10
 
11
- def self.dump(value, property)
12
- self.typecast(value, property)
13
- end
14
-
15
11
  def self.typecast(value, property)
16
12
  case value
17
13
  when ::Date
@@ -9,8 +9,7 @@ describe DataMapper::Mongo::Resource do
9
9
  property :state, String
10
10
  end
11
11
 
12
- class ::Location
13
- include DataMapper::Mongo::EmbeddedResource
12
+ class ::Location < ::Address
14
13
  property :country, String
15
14
  property :continent, String
16
15
  end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-mongo-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.pre1
4
+ prerelease: true
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 0
9
+ - pre2
10
+ version: 0.2.0.pre2
5
11
  platform: ruby
6
12
  authors:
7
13
  - Piotr Solnica
@@ -9,79 +15,105 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-01-31 00:00:00 +01:00
18
+ date: 2010-02-22 00:00:00 +01:00
13
19
  default_executable: console
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: dm-core
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
20
25
  requirements:
21
26
  - - ~>
22
27
  - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ - 10
31
+ - 2
23
32
  version: 0.10.2
24
- version:
33
+ type: :runtime
34
+ version_requirements: *id001
25
35
  - !ruby/object:Gem::Dependency
26
36
  name: dm-aggregates
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
30
39
  requirements:
31
40
  - - ~>
32
41
  - !ruby/object:Gem::Version
42
+ segments:
43
+ - 0
44
+ - 10
45
+ - 2
33
46
  version: 0.10.2
34
- version:
47
+ type: :runtime
48
+ version_requirements: *id002
35
49
  - !ruby/object:Gem::Dependency
36
50
  name: mongo
37
- type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
40
53
  requirements:
41
54
  - - ~>
42
55
  - !ruby/object:Gem::Version
56
+ segments:
57
+ - 0
58
+ - 18
59
+ - 3
43
60
  version: 0.18.3
44
- version:
61
+ type: :runtime
62
+ version_requirements: *id003
45
63
  - !ruby/object:Gem::Dependency
46
64
  name: mongo_ext
47
- type: :runtime
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
65
+ prerelease: false
66
+ requirement: &id004 !ruby/object:Gem::Requirement
50
67
  requirements:
51
68
  - - ~>
52
69
  - !ruby/object:Gem::Version
70
+ segments:
71
+ - 0
72
+ - 18
73
+ - 3
53
74
  version: 0.18.3
54
- version:
75
+ type: :runtime
76
+ version_requirements: *id004
55
77
  - !ruby/object:Gem::Dependency
56
78
  name: rspec
57
- type: :development
58
- version_requirement:
59
- version_requirements: !ruby/object:Gem::Requirement
79
+ prerelease: false
80
+ requirement: &id005 !ruby/object:Gem::Requirement
60
81
  requirements:
61
82
  - - ">="
62
83
  - !ruby/object:Gem::Version
84
+ segments:
85
+ - 1
86
+ - 3
87
+ - 0
63
88
  version: 1.3.0
64
- version:
89
+ type: :development
90
+ version_requirements: *id005
65
91
  - !ruby/object:Gem::Dependency
66
92
  name: yard
67
- type: :development
68
- version_requirement:
69
- version_requirements: !ruby/object:Gem::Requirement
93
+ prerelease: false
94
+ requirement: &id006 !ruby/object:Gem::Requirement
70
95
  requirements:
71
96
  - - ">="
72
97
  - !ruby/object:Gem::Version
98
+ segments:
99
+ - 0
100
+ - 5
73
101
  version: "0.5"
74
- version:
102
+ type: :development
103
+ version_requirements: *id006
75
104
  - !ruby/object:Gem::Dependency
76
105
  name: yardstick
77
- type: :development
78
- version_requirement:
79
- version_requirements: !ruby/object:Gem::Requirement
106
+ prerelease: false
107
+ requirement: &id007 !ruby/object:Gem::Requirement
80
108
  requirements:
81
109
  - - ">="
82
110
  - !ruby/object:Gem::Version
111
+ segments:
112
+ - 0
113
+ - 1
83
114
  version: "0.1"
84
- version:
115
+ type: :development
116
+ version_requirements: *id007
85
117
  description:
86
118
  email: piotr.solnica@gmail.com
87
119
  executables:
@@ -99,7 +131,6 @@ files:
99
131
  - Rakefile
100
132
  - TODO
101
133
  - VERSION.yml
102
- - bin/console
103
134
  - dm-mongo-adapter.gemspec
104
135
  - lib/mongo_adapter.rb
105
136
  - lib/mongo_adapter/adapter.rb
@@ -157,7 +188,7 @@ files:
157
188
  - tasks/spec.rake
158
189
  - tasks/yard.rake
159
190
  - tasks/yardstick.rake
160
- has_rdoc: false
191
+ has_rdoc: true
161
192
  homepage: http://github.com/solnic/dm-mongo-adapter
162
193
  licenses: []
163
194
 
@@ -170,18 +201,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
170
201
  requirements:
171
202
  - - ">="
172
203
  - !ruby/object:Gem::Version
204
+ segments:
205
+ - 0
173
206
  version: "0"
174
- version:
175
207
  required_rubygems_version: !ruby/object:Gem::Requirement
176
208
  requirements:
177
209
  - - ">"
178
210
  - !ruby/object:Gem::Version
211
+ segments:
212
+ - 1
213
+ - 3
214
+ - 1
179
215
  version: 1.3.1
180
- version:
181
216
  requirements: []
182
217
 
183
218
  rubyforge_project:
184
- rubygems_version: 1.3.5
219
+ rubygems_version: 1.3.6
185
220
  signing_key:
186
221
  specification_version: 3
187
222
  summary: MongoDB DataMapper Adapter
@@ -189,27 +224,27 @@ test_files:
189
224
  - spec/semipublic/model/embedment_spec.rb
190
225
  - spec/semipublic/resource_spec.rb
191
226
  - spec/semipublic/embedded_model_spec.rb
192
- - spec/spec_helper.rb
193
- - spec/legacy/sti_spec.rb
194
- - spec/legacy/property_spec.rb
195
- - spec/legacy/modifier_spec.rb
196
- - spec/legacy/adapter_spec.rb
197
- - spec/legacy/spec_helper.rb
198
- - spec/legacy/embedments_spec.rb
199
- - spec/legacy/adapter_shared_spec.rb
200
- - spec/legacy/associations_spec.rb
201
- - spec/legacy/embedded_resource_spec.rb
202
- - spec/public/embedded_collection_spec.rb
203
- - spec/public/model_spec.rb
204
- - spec/public/model/embedment_spec.rb
205
- - spec/public/shared/model_embedments_spec.rb
206
- - spec/public/shared/object_id_shared_spec.rb
207
- - spec/public/resource_spec.rb
208
227
  - spec/public/types/discriminator_spec.rb
209
- - spec/public/types/embedded_hash_spec.rb
210
- - spec/public/types/embedded_array_spec.rb
211
228
  - spec/public/types/df_ref_spec.rb
229
+ - spec/public/types/embedded_hash_spec.rb
212
230
  - spec/public/types/object_id_spec.rb
231
+ - spec/public/types/embedded_array_spec.rb
232
+ - spec/public/model/embedment_spec.rb
233
+ - spec/public/resource_spec.rb
234
+ - spec/public/shared/object_id_shared_spec.rb
235
+ - spec/public/shared/model_embedments_spec.rb
213
236
  - spec/public/embedded_resource_spec.rb
237
+ - spec/public/embedded_collection_spec.rb
238
+ - spec/public/model_spec.rb
239
+ - spec/legacy/property_spec.rb
240
+ - spec/legacy/associations_spec.rb
241
+ - spec/legacy/modifier_spec.rb
242
+ - spec/legacy/adapter_shared_spec.rb
243
+ - spec/legacy/embedded_resource_spec.rb
244
+ - spec/legacy/sti_spec.rb
245
+ - spec/legacy/embedments_spec.rb
246
+ - spec/legacy/adapter_spec.rb
247
+ - spec/legacy/spec_helper.rb
248
+ - spec/spec_helper.rb
214
249
  - spec/lib/cleanup_models.rb
215
250
  - spec/lib/raw_connections.rb