aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib/active_model/attributes.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activemodel/lib/active_model/attributes.rb')
-rw-r--r--activemodel/lib/active_model/attributes.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/activemodel/lib/active_model/attributes.rb b/activemodel/lib/active_model/attributes.rb
new file mode 100644
index 0000000000..4665525281
--- /dev/null
+++ b/activemodel/lib/active_model/attributes.rb
@@ -0,0 +1,17 @@
+require 'active_support/core_ext/object/instance_variables'
+
+module ActiveModel
+ module Attributes
+ def attributes
+ instance_values
+ end
+
+ def read_attribute(attr_name)
+ instance_variable_get(:"@#{attr_name}")
+ end
+
+ def write_attribute(attr_name, value)
+ instance_variable_set(:"@#{attr_name}", value)
+ end
+ end
+end