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
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_table ⇒ Object
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 |