diff --git a/lib/dm-core/model/property.rb b/lib/dm-core/model/property.rb index 3f003cfb..ba6e6eb5 100644 --- a/lib/dm-core/model/property.rb +++ b/lib/dm-core/model/property.rb @@ -208,22 +208,20 @@ def create_reader_for(property) reader_visibility = property.reader_visibility instance_variable_name = property.instance_variable_name - unless reserved_method?(name) - class_eval <<-RUBY, __FILE__, __LINE__ + 1 - chainable do - #{reader_visibility} - def #{name} - return #{instance_variable_name} if defined?(#{instance_variable_name}) - property = properties[#{name.inspect}] - #{instance_variable_name} = property ? persisted_state.get(property) : nil - end + class_eval <<-RUBY, __FILE__, __LINE__ + 1 + chainable do + #{reader_visibility} + def #{name} + return #{instance_variable_name} if defined?(#{instance_variable_name}) + property = properties[#{name.inspect}] + #{instance_variable_name} = property ? persisted_state.get(property) : nil end - RUBY - end + end + RUBY boolean_reader_name = "#{name}?" - if property.kind_of?(DataMapper::Property::Boolean) && !reserved_method?(boolean_reader_name) + if property.kind_of?(DataMapper::Property::Boolean) class_eval <<-RUBY, __FILE__, __LINE__ + 1 chainable do #{reader_visibility} @@ -244,8 +242,6 @@ def create_writer_for(property) writer_name = "#{name}=" - return if reserved_method?(writer_name) - class_eval <<-RUBY, __FILE__, __LINE__ + 1 chainable do #{writer_visibility} @@ -258,11 +254,6 @@ def #{writer_name}(value) RUBY end - # @api private - def reserved_method?(name) - method_defined?(name) && !%w[ id type ].include?(name) - end - chainable do # @api public def method_missing(method, *args, &block)