dm-core 1.0.0 → 1.0.1

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 (42) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +19 -20
  3. data/Rakefile +1 -1
  4. data/VERSION +1 -1
  5. data/dm-core.gemspec +15 -12
  6. data/lib/dm-core.rb +23 -14
  7. data/lib/dm-core/adapters.rb +7 -3
  8. data/lib/dm-core/adapters/abstract_adapter.rb +3 -9
  9. data/lib/dm-core/associations/many_to_many.rb +1 -1
  10. data/lib/dm-core/associations/many_to_one.rb +3 -4
  11. data/lib/dm-core/associations/one_to_many.rb +2 -2
  12. data/lib/dm-core/associations/one_to_one.rb +1 -1
  13. data/lib/dm-core/collection.rb +4 -6
  14. data/lib/dm-core/model.rb +22 -32
  15. data/lib/dm-core/model/property.rb +15 -39
  16. data/lib/dm-core/property.rb +75 -87
  17. data/lib/dm-core/property/discriminator.rb +3 -3
  18. data/lib/dm-core/property/lookup.rb +42 -0
  19. data/lib/dm-core/property/object.rb +5 -0
  20. data/lib/dm-core/property/serial.rb +6 -1
  21. data/lib/dm-core/query/conditions/comparison.rb +3 -3
  22. data/lib/dm-core/query/conditions/operation.rb +3 -3
  23. data/lib/dm-core/resource.rb +2 -2
  24. data/lib/dm-core/resource/state/dirty.rb +2 -2
  25. data/lib/dm-core/spec/lib/spec_helper.rb +11 -3
  26. data/lib/dm-core/spec/setup.rb +2 -2
  27. data/{spec/public/shared/property_shared_spec.rb → lib/dm-core/spec/shared/public/property_spec.rb} +51 -20
  28. data/{spec/semipublic/shared/property_shared_spec.rb → lib/dm-core/spec/shared/semipublic/property_spec.rb} +22 -26
  29. data/lib/dm-core/support/descendant_set.rb +84 -0
  30. data/lib/dm-core/support/naming_conventions.rb +8 -8
  31. data/lib/dm-core/types/discriminator.rb +2 -2
  32. data/spec/public/associations/many_to_one_with_custom_fk_spec.rb +49 -0
  33. data/spec/public/finalize_spec.rb +42 -11
  34. data/spec/public/property/discriminator_spec.rb +6 -6
  35. data/spec/semipublic/adapters/abstract_adapter_spec.rb +1 -1
  36. data/spec/semipublic/property/lookup_spec.rb +26 -0
  37. data/spec/semipublic/property_spec.rb +43 -0
  38. data/spec/semipublic/resource/state/dirty_spec.rb +4 -2
  39. data/spec/support/{types → properties}/huge_integer.rb +5 -5
  40. data/tasks/local_gemfile.rake +5 -7
  41. metadata +15 -19
  42. data/lib/dm-core/model/descendant_set.rb +0 -81
data/.gitignore CHANGED
@@ -31,6 +31,7 @@ measurements
31
31
  .bundle
32
32
  Gemfile.local
33
33
  Gemfile.lock
34
+ Gemfile.local.lock
34
35
 
35
36
  ## PROJECT::SPECIFIC
36
37
  spec/db/
data/Gemfile CHANGED
@@ -71,24 +71,24 @@
71
71
  source 'http://rubygems.org'
72
72
 
73
73
  DATAMAPPER = 'git://github.com/datamapper'
74
- DM_VERSION = '~> 1.0.0'
74
+ DM_VERSION = '~> 1.0.1'
75
75
 
76
76
  group :runtime do # Runtime dependencies (as in the gemspec)
77
77
 
78
78
  if ENV['EXTLIB']
79
- gem 'extlib', '~> 0.9.15', :git => "#{DATAMAPPER}/extlib.git"
79
+ gem 'extlib', '~> 0.9.15', :git => "#{DATAMAPPER}/extlib.git"
80
80
  else
81
- gem 'activesupport', '~> 3.0.0.beta3', :git => 'git://github.com/rails/rails.git', :require => nil
81
+ gem 'activesupport', '~> 3.0.0', :git => 'git://github.com/rails/rails.git', :branch => '3-0-stable', :require => nil
82
82
  end
83
83
 
84
- gem 'addressable', '~> 2.1'
84
+ gem 'addressable', '~> 2.2'
85
85
 
86
86
  end
87
87
 
88
88
  group(:development) do # Development dependencies (as in the gemspec)
89
89
 
90
90
  gem 'rake', '~> 0.8.7'
91
- gem 'rspec', '~> 1.3'
91
+ gem 'rspec', '~> 1.3', :git => 'git://github.com/snusnu/rspec', :branch => 'heckle_fix_plus_gemfile'
92
92
  gem 'jeweler', '~> 1.4'
93
93
 
94
94
  end
@@ -109,32 +109,31 @@ group :datamapper do # We need this because we want to pin these dependencies to
109
109
  gem 'dm-core', DM_VERSION, :path => File.dirname(__FILE__) # Make ourself available to the adapters
110
110
 
111
111
  adapters = ENV['ADAPTER'] || ENV['ADAPTERS']
112
- adapters = adapters.to_s.gsub(',',' ').split(' ') - ['in_memory']
112
+ adapters = adapters.to_s.tr(',', ' ').split.uniq - %w[ in_memory ]
113
113
 
114
- unless adapters.empty?
114
+ DO_VERSION = '~> 0.10.2'
115
+ DM_DO_ADAPTERS = %w[ sqlite postgres mysql oracle sqlserver ]
115
116
 
116
- DO_VERSION = '~> 0.10.3'
117
- DM_DO_ADAPTERS = %w[sqlite postgres mysql oracle sqlserver]
117
+ if (do_adapters = DM_DO_ADAPTERS & adapters).any?
118
+ options = {}
119
+ options[:git] = "#{DATAMAPPER}/do.git" if ENV['DO_GIT'] == 'true'
118
120
 
119
- gem 'data_objects', DO_VERSION, :git => "#{DATAMAPPER}/do.git"
121
+ gem 'data_objects', DO_VERSION, options.dup
120
122
 
121
- adapters.each do |adapter|
122
- if DM_DO_ADAPTERS.any? { |dm_do_adapter| dm_do_adapter =~ /#{adapter}/ }
123
- adapter = 'sqlite3' if adapter == 'sqlite'
124
- gem "do_#{adapter}", DO_VERSION, :git => "#{DATAMAPPER}/do.git"
125
- end
123
+ do_adapters.each do |adapter|
124
+ adapter = 'sqlite3' if adapter == 'sqlite'
125
+ gem "do_#{adapter}", DO_VERSION, options.dup
126
126
  end
127
127
 
128
128
  gem 'dm-do-adapter', DM_VERSION, :git => "#{DATAMAPPER}/dm-do-adapter.git"
129
+ end
129
130
 
130
- adapters.each do |adapter|
131
- gem "dm-#{adapter}-adapter", DM_VERSION, :git => "#{DATAMAPPER}/dm-#{adapter}-adapter.git"
132
- end
133
-
131
+ adapters.each do |adapter|
132
+ gem "dm-#{adapter}-adapter", DM_VERSION, :git => "#{DATAMAPPER}/dm-#{adapter}-adapter.git"
134
133
  end
135
134
 
136
135
  plugins = ENV['PLUGINS'] || ENV['PLUGIN']
137
- plugins = (plugins.to_s.gsub(',',' ').split(' ') + ['dm-migrations']).uniq
136
+ plugins = plugins.to_s.tr(',', ' ').split.push('dm-migrations').uniq
138
137
 
139
138
  plugins.each do |plugin|
140
139
  gem plugin, DM_VERSION, :git => "#{DATAMAPPER}/#{plugin}.git"
data/Rakefile CHANGED
@@ -16,7 +16,7 @@ begin
16
16
  gem.rubyforge_project = 'datamapper'
17
17
 
18
18
  gem.add_dependency 'extlib', '~> 0.9.15'
19
- gem.add_dependency 'addressable', '~> 2.1'
19
+ gem.add_dependency 'addressable', '~> 2.2'
20
20
 
21
21
  gem.add_development_dependency 'rspec', '~> 1.3'
22
22
  gem.add_development_dependency 'jeweler', '~> 1.4'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
data/dm-core.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dm-core}
8
- s.version = "1.0.0"
8
+ s.version = "1.0.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Dan Kubb"]
12
- s.date = %q{2010-06-08}
12
+ s.date = %q{2010-09-07}
13
13
  s.description = %q{Faster, Better, Simpler.}
14
14
  s.email = %q{dan.kubb@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -47,7 +47,6 @@ Gem::Specification.new do |s|
47
47
  "lib/dm-core/core_ext/try_dup.rb",
48
48
  "lib/dm-core/identity_map.rb",
49
49
  "lib/dm-core/model.rb",
50
- "lib/dm-core/model/descendant_set.rb",
51
50
  "lib/dm-core/model/hook.rb",
52
51
  "lib/dm-core/model/is.rb",
53
52
  "lib/dm-core/model/property.rb",
@@ -63,6 +62,7 @@ Gem::Specification.new do |s|
63
62
  "lib/dm-core/property/discriminator.rb",
64
63
  "lib/dm-core/property/float.rb",
65
64
  "lib/dm-core/property/integer.rb",
65
+ "lib/dm-core/property/lookup.rb",
66
66
  "lib/dm-core/property/numeric.rb",
67
67
  "lib/dm-core/property/object.rb",
68
68
  "lib/dm-core/property/serial.rb",
@@ -95,11 +95,14 @@ Gem::Specification.new do |s|
95
95
  "lib/dm-core/spec/lib/spec_helper.rb",
96
96
  "lib/dm-core/spec/setup.rb",
97
97
  "lib/dm-core/spec/shared/adapter_spec.rb",
98
+ "lib/dm-core/spec/shared/public/property_spec.rb",
98
99
  "lib/dm-core/spec/shared/resource_spec.rb",
99
100
  "lib/dm-core/spec/shared/sel_spec.rb",
101
+ "lib/dm-core/spec/shared/semipublic/property_spec.rb",
100
102
  "lib/dm-core/support/assertions.rb",
101
103
  "lib/dm-core/support/chainable.rb",
102
104
  "lib/dm-core/support/deprecate.rb",
105
+ "lib/dm-core/support/descendant_set.rb",
103
106
  "lib/dm-core/support/equalizer.rb",
104
107
  "lib/dm-core/support/hook.rb",
105
108
  "lib/dm-core/support/lazy_array.rb",
@@ -122,6 +125,7 @@ Gem::Specification.new do |s|
122
125
  "spec/public/associations/many_to_many_spec.rb",
123
126
  "spec/public/associations/many_to_one_spec.rb",
124
127
  "spec/public/associations/many_to_one_with_boolean_cpk_spec.rb",
128
+ "spec/public/associations/many_to_one_with_custom_fk_spec.rb",
125
129
  "spec/public/associations/one_to_many_spec.rb",
126
130
  "spec/public/associations/one_to_one_spec.rb",
127
131
  "spec/public/associations/one_to_one_with_boolean_cpk_spec.rb",
@@ -153,7 +157,6 @@ Gem::Specification.new do |s|
153
157
  "spec/public/shared/collection_finder_shared_spec.rb",
154
158
  "spec/public/shared/collection_shared_spec.rb",
155
159
  "spec/public/shared/finder_shared_spec.rb",
156
- "spec/public/shared/property_shared_spec.rb",
157
160
  "spec/rcov.opts",
158
161
  "spec/semipublic/adapters/abstract_adapter_spec.rb",
159
162
  "spec/semipublic/adapters/in_memory_adapter_spec.rb",
@@ -174,6 +177,7 @@ Gem::Specification.new do |s|
174
177
  "spec/semipublic/property/discriminator_spec.rb",
175
178
  "spec/semipublic/property/float_spec.rb",
176
179
  "spec/semipublic/property/integer_spec.rb",
180
+ "spec/semipublic/property/lookup_spec.rb",
177
181
  "spec/semipublic/property/serial_spec.rb",
178
182
  "spec/semipublic/property/string_spec.rb",
179
183
  "spec/semipublic/property/text_spec.rb",
@@ -191,13 +195,12 @@ Gem::Specification.new do |s|
191
195
  "spec/semipublic/resource/state_spec.rb",
192
196
  "spec/semipublic/resource_spec.rb",
193
197
  "spec/semipublic/shared/condition_shared_spec.rb",
194
- "spec/semipublic/shared/property_shared_spec.rb",
195
198
  "spec/semipublic/shared/resource_shared_spec.rb",
196
199
  "spec/semipublic/shared/resource_state_shared_spec.rb",
197
200
  "spec/semipublic/shared/subject_shared_spec.rb",
198
201
  "spec/spec.opts",
199
202
  "spec/spec_helper.rb",
200
- "spec/support/types/huge_integer.rb",
203
+ "spec/support/properties/huge_integer.rb",
201
204
  "spec/unit/array_spec.rb",
202
205
  "spec/unit/hash_spec.rb",
203
206
  "spec/unit/hook_spec.rb",
@@ -224,6 +227,7 @@ Gem::Specification.new do |s|
224
227
  "spec/public/associations/many_to_many_spec.rb",
225
228
  "spec/public/associations/many_to_one_spec.rb",
226
229
  "spec/public/associations/many_to_one_with_boolean_cpk_spec.rb",
230
+ "spec/public/associations/many_to_one_with_custom_fk_spec.rb",
227
231
  "spec/public/associations/one_to_many_spec.rb",
228
232
  "spec/public/associations/one_to_one_spec.rb",
229
233
  "spec/public/associations/one_to_one_with_boolean_cpk_spec.rb",
@@ -255,7 +259,6 @@ Gem::Specification.new do |s|
255
259
  "spec/public/shared/collection_finder_shared_spec.rb",
256
260
  "spec/public/shared/collection_shared_spec.rb",
257
261
  "spec/public/shared/finder_shared_spec.rb",
258
- "spec/public/shared/property_shared_spec.rb",
259
262
  "spec/semipublic/adapters/abstract_adapter_spec.rb",
260
263
  "spec/semipublic/adapters/in_memory_adapter_spec.rb",
261
264
  "spec/semipublic/associations/many_to_many_spec.rb",
@@ -275,6 +278,7 @@ Gem::Specification.new do |s|
275
278
  "spec/semipublic/property/discriminator_spec.rb",
276
279
  "spec/semipublic/property/float_spec.rb",
277
280
  "spec/semipublic/property/integer_spec.rb",
281
+ "spec/semipublic/property/lookup_spec.rb",
278
282
  "spec/semipublic/property/serial_spec.rb",
279
283
  "spec/semipublic/property/string_spec.rb",
280
284
  "spec/semipublic/property/text_spec.rb",
@@ -292,12 +296,11 @@ Gem::Specification.new do |s|
292
296
  "spec/semipublic/resource/state_spec.rb",
293
297
  "spec/semipublic/resource_spec.rb",
294
298
  "spec/semipublic/shared/condition_shared_spec.rb",
295
- "spec/semipublic/shared/property_shared_spec.rb",
296
299
  "spec/semipublic/shared/resource_shared_spec.rb",
297
300
  "spec/semipublic/shared/resource_state_shared_spec.rb",
298
301
  "spec/semipublic/shared/subject_shared_spec.rb",
299
302
  "spec/spec_helper.rb",
300
- "spec/support/types/huge_integer.rb",
303
+ "spec/support/properties/huge_integer.rb",
301
304
  "spec/unit/array_spec.rb",
302
305
  "spec/unit/hash_spec.rb",
303
306
  "spec/unit/hook_spec.rb",
@@ -313,18 +316,18 @@ Gem::Specification.new do |s|
313
316
 
314
317
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
315
318
  s.add_runtime_dependency(%q<extlib>, ["~> 0.9.15"])
316
- s.add_runtime_dependency(%q<addressable>, ["~> 2.1"])
319
+ s.add_runtime_dependency(%q<addressable>, ["~> 2.2"])
317
320
  s.add_development_dependency(%q<rspec>, ["~> 1.3"])
318
321
  s.add_development_dependency(%q<jeweler>, ["~> 1.4"])
319
322
  else
320
323
  s.add_dependency(%q<extlib>, ["~> 0.9.15"])
321
- s.add_dependency(%q<addressable>, ["~> 2.1"])
324
+ s.add_dependency(%q<addressable>, ["~> 2.2"])
322
325
  s.add_dependency(%q<rspec>, ["~> 1.3"])
323
326
  s.add_dependency(%q<jeweler>, ["~> 1.4"])
324
327
  end
325
328
  else
326
329
  s.add_dependency(%q<extlib>, ["~> 0.9.15"])
327
- s.add_dependency(%q<addressable>, ["~> 2.1"])
330
+ s.add_dependency(%q<addressable>, ["~> 2.2"])
328
331
  s.add_dependency(%q<rspec>, ["~> 1.3"])
329
332
  s.add_dependency(%q<jeweler>, ["~> 1.4"])
330
333
  end
data/lib/dm-core.rb CHANGED
@@ -7,6 +7,10 @@ require 'set'
7
7
  require 'time'
8
8
  require 'yaml'
9
9
 
10
+ module DataMapper
11
+ module Undefined; end
12
+ end
13
+
10
14
  begin
11
15
 
12
16
  # Prefer active_support
@@ -25,6 +29,10 @@ begin
25
29
  require 'dm-core/core_ext/object'
26
30
  require 'dm-core/core_ext/string'
27
31
 
32
+ module DataMapper
33
+ Inflector = ActiveSupport::Inflector
34
+ end
35
+
28
36
  rescue LoadError
29
37
 
30
38
  # Default to extlib
@@ -45,7 +53,7 @@ rescue LoadError
45
53
  end
46
54
  end
47
55
 
48
- module ActiveSupport
56
+ module DataMapper
49
57
  Inflector = Extlib::Inflection
50
58
  end
51
59
 
@@ -63,19 +71,13 @@ require 'dm-core/core_ext/array'
63
71
 
64
72
  require 'dm-core/support/chainable'
65
73
  require 'dm-core/support/deprecate'
74
+ require 'dm-core/support/descendant_set'
66
75
  require 'dm-core/support/equalizer'
67
76
  require 'dm-core/support/assertions'
68
77
  require 'dm-core/support/lazy_array'
69
78
  require 'dm-core/support/local_object_space'
70
79
  require 'dm-core/support/hook'
71
80
  require 'dm-core/support/subject'
72
- require 'dm-core/model'
73
- require 'dm-core/model/descendant_set'
74
- require 'dm-core/model/hook'
75
- require 'dm-core/model/is'
76
- require 'dm-core/model/scope'
77
- require 'dm-core/model/relationship'
78
- require 'dm-core/model/property'
79
81
 
80
82
  require 'dm-core/collection'
81
83
 
@@ -102,8 +104,17 @@ require 'dm-core/property/date_time'
102
104
  require 'dm-core/property/time'
103
105
  require 'dm-core/property/class'
104
106
  require 'dm-core/property/discriminator'
107
+
108
+ require 'dm-core/property/lookup'
105
109
  require 'dm-core/property_set'
106
110
 
111
+ require 'dm-core/model'
112
+ require 'dm-core/model/hook'
113
+ require 'dm-core/model/is'
114
+ require 'dm-core/model/scope'
115
+ require 'dm-core/model/relationship'
116
+ require 'dm-core/model/property'
117
+
107
118
  require 'dm-core/adapters'
108
119
  require 'dm-core/adapters/abstract_adapter'
109
120
  require 'dm-core/associations/relationship'
@@ -112,8 +123,6 @@ require 'dm-core/associations/one_to_one'
112
123
  require 'dm-core/associations/many_to_one'
113
124
  require 'dm-core/associations/many_to_many'
114
125
  require 'dm-core/identity_map'
115
- require 'dm-core/property'
116
- require 'dm-core/property_set'
117
126
  require 'dm-core/query'
118
127
  require 'dm-core/query/conditions/operation'
119
128
  require 'dm-core/query/conditions/comparison'
@@ -327,15 +336,15 @@ module DataMapper
327
336
  raise IncompleteModelError, "#{name} must have at least one property or many to one relationship to be valid"
328
337
  end
329
338
 
330
- if model.key(repository_name).empty?
331
- raise IncompleteModelError, "#{name} must have a key to be valid"
332
- end
333
-
334
339
  # initialize join models and target keys
335
340
  relationships.each do |relationship|
336
341
  relationship.child_key
337
342
  relationship.through if relationship.respond_to?(:through)
338
343
  relationship.via if relationship.respond_to?(:via)
339
344
  end
345
+
346
+ if model.key(repository_name).empty?
347
+ raise IncompleteModelError, "#{name} must have a key to be valid"
348
+ end
340
349
  end
341
350
  end
@@ -129,7 +129,7 @@ module DataMapper
129
129
  # @api private
130
130
  def adapter_class(name)
131
131
  adapter_name = normalize_adapter_name(name)
132
- class_name = (ActiveSupport::Inflector.camelize(adapter_name) << 'Adapter').to_sym
132
+ class_name = (DataMapper::Inflector.camelize(adapter_name) << 'Adapter').to_sym
133
133
  load_adapter(adapter_name) unless const_defined?(class_name)
134
134
  const_get(class_name)
135
135
  end
@@ -161,8 +161,12 @@ module DataMapper
161
161
  # @api private
162
162
  def load_adapter(name)
163
163
  require "dm-#{name}-adapter"
164
- rescue LoadError
165
- require in_memory_adapter?(name) ? in_memory_adapter_path : legacy_path(name)
164
+ rescue LoadError => original_error
165
+ begin
166
+ require in_memory_adapter?(name) ? in_memory_adapter_path : legacy_path(name)
167
+ rescue LoadError
168
+ raise original_error
169
+ end
166
170
  end
167
171
 
168
172
  # Returns wether or not the given adapter name is considered an in memory adapter
@@ -20,18 +20,12 @@ module DataMapper
20
20
 
21
21
  # @api semipublic
22
22
  def self.descendants
23
- @descendants ||= Set.new
23
+ @descendants ||= DescendantSet.new
24
24
  end
25
25
 
26
26
  # @api private
27
- def self.inherited(subclass)
28
- add_descendant(subclass)
29
- end
30
-
31
- # @api private
32
- def self.add_descendant(subclass)
33
- descendants << subclass
34
- superclass.add_descendant(subclass) if superclass.respond_to?(:add_descendant)
27
+ def self.inherited(descendant)
28
+ descendants << descendant
35
29
  end
36
30
 
37
31
  # Adapter name
@@ -196,7 +196,7 @@ module DataMapper
196
196
  def through_relationship_name
197
197
  if anonymous_through_model?
198
198
  namespace = through_model_namespace_name.first
199
- relationship_name = ActiveSupport::Inflector.underscore(through_model.name.sub(/\A#{namespace.name}::/, '')).tr('/', '_')
199
+ relationship_name = DataMapper::Inflector.underscore(through_model.name.sub(/\A#{namespace.name}::/, '')).tr('/', '_')
200
200
  relationship_name.pluralize.to_sym
201
201
  else
202
202
  options[:through]
@@ -55,8 +55,7 @@ module DataMapper
55
55
  properties[property_name] || begin
56
56
  # create the property within the correct repository
57
57
  DataMapper.repository(repository_name) do
58
- type = parent_property.send(parent_property.type == DataMapper::Property::Boolean ? :type : :primitive)
59
- model.property(property_name, type, child_key_options(parent_property))
58
+ model.property(property_name, parent_property.to_child_key, child_key_options(parent_property))
60
59
  end
61
60
  end
62
61
  end
@@ -181,7 +180,7 @@ module DataMapper
181
180
 
182
181
  @required = options.fetch(:required, true)
183
182
  @key = options.fetch(:key, false)
184
- target_model ||= ActiveSupport::Inflector.camelize(name)
183
+ target_model ||= DataMapper::Inflector.camelize(name)
185
184
  options = { :min => @required ? 1 : 0, :max => 1 }.update(options)
186
185
  super
187
186
  end
@@ -222,7 +221,7 @@ module DataMapper
222
221
  #
223
222
  # @api private
224
223
  def inverse_name
225
- super || ActiveSupport::Inflector.underscore(ActiveSupport::Inflector.demodulize(source_model.name)).pluralize.to_sym
224
+ super || DataMapper::Inflector.underscore(DataMapper::Inflector.demodulize(source_model.name)).pluralize.to_sym
226
225
  end
227
226
 
228
227
  # @api private
@@ -110,7 +110,7 @@ module DataMapper
110
110
 
111
111
  # @api semipublic
112
112
  def initialize(name, target_model, source_model, options = {})
113
- target_model ||= ActiveSupport::Inflector.camelize(name.to_s.singularize)
113
+ target_model ||= DataMapper::Inflector.camelize(name.to_s.singularize)
114
114
  options = { :min => 0, :max => source_model.n }.update(options)
115
115
  super
116
116
  end
@@ -150,7 +150,7 @@ module DataMapper
150
150
  #
151
151
  # @api private
152
152
  def inverse_name
153
- super || ActiveSupport::Inflector.underscore(ActiveSupport::Inflector.demodulize(source_model.name)).to_sym
153
+ super || DataMapper::Inflector.underscore(DataMapper::Inflector.demodulize(source_model.name)).to_sym
154
154
  end
155
155
 
156
156
  # @api private
@@ -72,7 +72,7 @@ module DataMapper
72
72
  # @api semipublic
73
73
  def initialize(name, target_model, source_model, options = {})
74
74
  klass = options.key?(:through) ? ManyToMany::Relationship : OneToMany::Relationship
75
- target_model ||= ActiveSupport::Inflector.camelize(name).freeze
75
+ target_model ||= DataMapper::Inflector.camelize(name).freeze
76
76
  @relationship = klass.new(name, target_model, source_model, options)
77
77
  end
78
78