module Activecube::Query::ChainAppender
Private Instance Methods
append(*args, list, def_class, definitions)
click to toggle source
# File lib/activecube/query/chain_appender.rb, line 5 def append *args, list, def_class, definitions list.concat args.map{|arg| if arg.kind_of?(Symbol) && definitions definitions[arg] elsif arg.kind_of?(def_class) arg elsif arg.kind_of? Hash arg.collect{|pair| raise Activecube::InputArgumentError, "Unexpected #{pair.second.class.name} to use for #{def_class} as #{arg}[#{pair.first}]" unless pair.second.kind_of?(def_class) pair.second.alias! pair.first } else raise Activecube::InputArgumentError, "Unexpected #{arg.class} to use for #{def_class} as #{arg}" end }.flatten self end