lib/koine/attributes.rb in koine-attributes-0.3.0 vs lib/koine/attributes.rb in koine-attributes-0.3.1
- old
+ new
@@ -1,6 +1,5 @@
-require 'forwardable'
require 'koine/attributes/version'
require 'koine/attributes/adapter/base'
# provides the following API
#
@@ -152,10 +151,20 @@
block = lambda_arg || block
@_attributes_factory.add_attribute(name, adapter, &block)
instance_eval do
- def_delegators :attributes, name, "#{name}=", "with_#{name}"
+ define_method name do
+ attributes.send(name)
+ end
+
+ define_method "#{name}=" do |value|
+ attributes.send("#{name}=", value)
+ end
+
+ define_method "with_#{name}" do |value|
+ attributes.send("with_#{name}", value)
+ end
define_method :== do |other|
attributes == other.send(:attributes)
end
end