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



119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'lib/actasdynamic.rb', line 119

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



141
142
143
144
145
146
147
148
# File 'lib/actasdynamic.rb', line 141

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



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

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