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



134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/actasdynamic.rb', line 134

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



154
155
156
157
158
159
160
161
162
163
164
# File 'lib/actasdynamic.rb', line 154

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



125
126
127
128
129
130
131
132
# File 'lib/actasdynamic.rb', line 125

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