Module: Dynamini::TypeHandler::ClassMethods
- Defined in:
- lib/dynamini/type_handler.rb
Instance Method Summary collapse
- #define_handled_getter(column, format_class, _options = {}) ⇒ Object
- #define_handled_setter(column, format_class) ⇒ Object
- #handle(column, format_class, options = {}) ⇒ Object
Instance Method Details
#define_handled_getter(column, format_class, _options = {}) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/dynamini/type_handler.rb', line 11 def define_handled_getter(column, format_class, = {}) proc = GETTER_PROCS[format_class] fail 'Unsupported data type: ' + format_class.to_s if proc.nil? define_method(column) do read_attribute(column) end end |
#define_handled_setter(column, format_class) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/dynamini/type_handler.rb', line 20 def define_handled_setter(column, format_class) method_name = (column.to_s + '=') proc = SETTER_PROCS[format_class] fail 'Unsupported data type: ' + format_class.to_s if proc.nil? define_method(method_name) do |value| write_attribute(column, value) end end |
#handle(column, format_class, options = {}) ⇒ Object
4 5 6 7 8 9 |
# File 'lib/dynamini/type_handler.rb', line 4 def handle(column, format_class, = {}) self.handles = self.handles.merge(column => { format: format_class, options: }) define_handled_getter(column, format_class, ) define_handled_setter(column, format_class) end |