module Superseeder::Adapters::Mongoid

Public Instance Methods

each_field(row) { |options || field, is_array_field?(options), is_hash_field?(options)| ... } click to toggle source
# File lib/superseeder/adapters/mongoid.rb, line 11
def each_field(row)
  self.instance.fields.select{ |f, o| row.key? o.options[:as] || f }.each do |field, options|
    yield options.options[:as] || field, self.is_array_field?(options), self.is_hash_field?(options)
  end
end
each_relation() { |key, is_array_relation?(val), class_name.constantize| ... } click to toggle source
# File lib/superseeder/adapters/mongoid.rb, line 5
def each_relation
  self.instance.relations.each do |key, val|
    yield key, self.is_array_relation?(val), val.class_name.constantize
  end
end

Protected Instance Methods

is_array_field?(options) click to toggle source
# File lib/superseeder/adapters/mongoid.rb, line 19
def is_array_field?(options)
  options.type == Array
end
is_array_relation?(options) click to toggle source
# File lib/superseeder/adapters/mongoid.rb, line 27
def is_array_relation?(options)
  [::Mongoid::Relations::Referenced::Many,
   ::Mongoid::Relations::Embedded::Many,
   ::Mongoid::Relations::Referenced::ManyToMany].include? options[:relation]
end
is_hash_field?(options) click to toggle source
# File lib/superseeder/adapters/mongoid.rb, line 23
def is_hash_field?(options)
  options.type == Hash
end