Class: Arsenicum::Formatter::ActiveRecord

Inherits:
Arsenicum::Formatter show all
Defined in:
lib/arsenicum/formatter.rb

Constant Summary collapse

TYPE_ACTIVE_RECORD =
'active_record'.freeze

Constants inherited from Arsenicum::Formatter

DATE_FORMAT, DATE_TIME_FORMAT, TYPE_ANY, TYPE_ARRAY, TYPE_CLASS, TYPE_DATE, TYPE_DATETIME, TYPE_HASH, TYPE_RAW

Instance Method Summary collapse

Methods inherited from Arsenicum::Formatter

#format, #format_by_default, #format_for_embedded_classes, #parse, #parse_by_default, #parse_for_embedded_classes

Methods included from Util

#camelcase, #classify, #constantize, included, #normalize_hash, #underscore

Instance Method Details

#format_by_extension(value) ⇒ Object



111
112
113
114
115
116
117
# File 'lib/arsenicum/formatter.rb', line 111

def format_by_extension(value)
  return {
      type: TYPE_ACTIVE_RECORD,
      class: value.class.name,
      id: value.id,
  } if value.is_a? ActiveRecord::Base
end

#parse_by_extension(value) ⇒ Object



119
120
121
122
123
124
# File 'lib/arsenicum/formatter.rb', line 119

def parse_by_extension(value)
  if value[:type] == TYPE_ACTIVE_RECORD
    klass = constaitize value[:class].to_sym
    klass.find value[:id]
  end
end