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