module Findable::Associations::Utils
Public Class Methods
add_reflection(macro, name, options, ar)
click to toggle source
# File lib/findable/associations/utils.rb, line 23 def self.add_reflection(macro, name, options, ar) reflection = ActiveRecord::Reflection.create( macro.to_sym, name.to_sym, nil, options, ar ) ActiveRecord::Reflection.add_reflection(ar, name.to_sym, reflection) end
model_for(name, options = {})
click to toggle source
# File lib/findable/associations/utils.rb, line 4 def self.model_for(name, options = {}) unless model_name = options[:class_name].presence name = options[:collection] ? name.to_s.singularize : name.to_s model_name = name.camelize end if options[:safe] model_name.try(:safe_constantize) else model_name.constantize end end
parse_args(args)
click to toggle source
# File lib/findable/associations/utils.rb, line 17 def self.parse_args(args) copied = args.dup options = copied.extract_options! [copied.first, options] end