module JsonColumn::ActsAsJsonColumn::ClassMethods

Public Instance Methods

acts_as_json_column(columns: columns.each do |col| if col.is_a? Symbol) click to toggle source
# File lib/json_column/acts_as_json_column.rb, line 10
def acts_as_json_column columns:

  columns.each do |col|
    if col.is_a? Symbol
      #serialize "#{col}".to_sym, Hash
      schema = "Schemas::#{col.to_s.camelize}".constantize.schema
      cache_name = "cache_attr_#{col}".to_sym
      cattr_accessor cache_name
      define_accessor(col, cache_name, schema)
    elsif col.is_a? Hash
      cols = col
      cols.each do |col, sch|
       # serialize "#{col}".to_sym, Hash
        schema = "Schemas::#{sch.to_s.camelize}".constantize.schema
        cache_name = "cache_attr_#{col}".to_sym
        cattr_accessor cache_name
        define_accessor(col, cache_name, schema)
      end
    end