Class: ActiveRecord::Base
- Inherits:
-
Object
- Object
- ActiveRecord::Base
- Defined in:
- lib/actasdynamic.rb
Class Method Summary collapse
- .acts_as_dynamic_on_record(source = nil) ⇒ Object
- .acts_as_dynamic_on_record_source_class(destination) ⇒ Object
- .acts_as_dynamic_on_table ⇒ Object
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_table ⇒ Object
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 |