module ZTK::DSL::Core::Relations::BelongsTo
@author Zachary Patten <zpatten AT jovelabs DOT io> @api private
Public Class Methods
included(base)
click to toggle source
# File lib/ztk/dsl/core/relations/belongs_to.rb, line 7 def self.included(base) base.class_eval do base.add_relation(:belongs_to) base.send(:extend, ZTK::DSL::Core::Relations::BelongsTo::ClassMethods) end end
Public Instance Methods
belongs_to_references()
click to toggle source
# File lib/ztk/dsl/core/relations/belongs_to.rb, line 14 def belongs_to_references @belongs_to_references ||= {} end
get_belongs_to_reference(key)
click to toggle source
# File lib/ztk/dsl/core/relations/belongs_to.rb, line 18 def get_belongs_to_reference(key) if belongs_to_references.key?(key) belongs_to_references[key] else key_id = send("#{key}_id") item = key.to_s.classify.constantize.find(key_id).first belongs_to_references[key] = item end end
save_belongs_to_references()
click to toggle source
# File lib/ztk/dsl/core/relations/belongs_to.rb, line 39 def save_belongs_to_references belongs_to_references.each do |key, dataset| dataset.each do |data| # do something to store the data somewhere end end end
set_belongs_to_reference(key, value)
click to toggle source
# File lib/ztk/dsl/core/relations/belongs_to.rb, line 28 def set_belongs_to_reference(key, value) belongs_to_references[key] = value attributes.merge!("#{key}_id".to_sym => value.id) klass = self.class.to_s.demodulize.downcase.pluralize many = value.send(klass) many << self many.uniq! end