Class: ActiveRecord::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/create_dynamic_fields.rb

Overview

Active Record

Class Method Summary collapse

Class Method Details

.acts_as_dynamicObject



55
56
57
58
59
60
61
# File 'lib/create_dynamic_fields.rb', line 55

def self.acts_as_dynamic
  if columns_hash['dynamic_attributes'].blank? || columns_hash['dynamic_attributes'].type != :json
    raise "#{self} must a 'dynamic_attributes' of type 'json'"
  end

  include ActsAsDynamic::DestinationClass
end

.acts_as_dynamic_source(destination, name_option = nil) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
# File 'lib/create_dynamic_fields.rb', line 63

def self.acts_as_dynamic_source(destination, name_option = nil)
  destination_class = destination.to_s.classify.safe_constantize
  raise "#{destination} class does not exist" if destination_class.blank?

  class_attribute :dynamic_destination_class
  class_attribute :namespace
  self.namespace = name_option
  self.dynamic_destination_class = destination_class.to_s

  include ActsAsDynamic::SourceClass
end