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

Sign up to get free protection for your applications and to get access to all the features.
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