module ZTK::DSL::Core::Relations::HasMany

@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/has_many.rb, line 7
def self.included(base)
  base.class_eval do
    base.add_relation(:has_many)
    base.send(:extend, ZTK::DSL::Core::Relations::HasMany::ClassMethods)
  end
end

Public Instance Methods

get_has_many_reference(key) click to toggle source
# File lib/ztk/dsl/core/relations/has_many.rb, line 18
def get_has_many_reference(key)
  if has_many_references.key?(key)
    has_many_references[key]
  else
    has_many_references[key] ||= []
  end
end
has_many_references() click to toggle source
# File lib/ztk/dsl/core/relations/has_many.rb, line 14
def has_many_references
  @has_many_references ||= {}
end
save_has_many_references() click to toggle source
# File lib/ztk/dsl/core/relations/has_many.rb, line 32
def save_has_many_references
  has_many_references.each do |key, dataset|
    dataset.each do |data|
      # do something to store the data somewhere
    end
  end
end
set_has_many_reference(key, value) click to toggle source
# File lib/ztk/dsl/core/relations/has_many.rb, line 26
def set_has_many_reference(key, value)
  dataset = get_has_many_reference(key)
  dataset.clear
  dataset.concat(value)
end