Class: ActiveRecord::Base

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

Class Method Summary collapse

Class Method Details

.acts_as_dynamic_on_record(source = nil) ⇒ Object



125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/actasdynamic.rb', line 125

def self.acts_as_dynamic_on_record(source =nil)
  source_class = if source.present?
                   source.to_s.classify.constantize rescue nil
                 else
                   self
                 end
  raise "#{source} class does not exist" if source.blank?

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

  class_attribute :dynamic_source_class
  self.dynamic_source_class = source_class

  include ActsAsDynamic::OnRecord::DestinationClass
  # include ActsAsDynamic::Attachment

end

.acts_as_dynamic_on_record_source_class(destination) ⇒ Object



145
146
147
148
149
150
151
152
153
154
155
# File 'lib/actasdynamic.rb', line 145

def self.acts_as_dynamic_on_record_source_class(destination)
  destination_class = destination.to_s.classify.constantize rescue nil

  raise "#{destination} class does not exist" if destination_class.blank?

  class_attribute :dynamic_destination_class
  self.dynamic_destination_class = destination_class

  include ActsAsDynamic::OnRecord::SourceClass
  # include ActsAsDynamic::Attachment
end

.acts_as_dynamic_on_tableObject



116
117
118
119
120
121
122
123
# File 'lib/actasdynamic.rb', line 116

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

  include ActsAsDynamic::OnTable
  # include ActsAsDynamic::Attachment
end