lib/sojourn/event.rb
require_relative 'serializers/indifferent_json'
module Sojourn
class Event < ActiveRecord::Base
DEFAULT_FIELDS = %i(id sojourner_uuid name properties user_id created_at)
belongs_to :user
serialize :properties, Serializers::IndifferentJSON
before_save do
properties.keys.map(&:to_sym).each do |key|
send("#{key}=", properties[key]) if self.class.available_fields.include?(key)
end
end
def self.available_fields
@available_fields ||= column_names.map(&:to_sym) - DEFAULT_FIELDS
end
end
end