module JsonColumn
Constants
- VERSION
Public Instance Methods
define_accessor(col, cache_name, schema)
click to toggle source
# File lib/json_column/acts_as_json_column.rb, line 32 def define_accessor(col, cache_name, schema) define_method(col) do if self.send(cache_name) self.send(cache_name) else if schema["type"] == "array" klass = JsonColumnArray else klass = JsonColumnObject end if read_attribute(col) column = klass[read_attribute(col)] else column = klass.new end column._schema = schema self.send("#{cache_name}=", column) column end end define_method("#{col}=") do |value| if schema["type"] == "array" obj = JsonColumnArray else obj = JsonColumnObject end column = obj[value] column._schema = schema self.send("#{cache_name}=", column) end end