Sha256: 9c4d4b334751b430596604419ea59a6ec0579cadd94040cb8cf7b08381d98b01
Contents?: true
Size: 740 Bytes
Versions: 57
Compression:
Stored size: 740 Bytes
Contents
module ReeDao module AssociationMethods def self.included(base) base.include(InstanceMethods) end def self.extended(base) base.include(Instance) end module InstanceMethods SUFFIXES = ["", "s", "es", "dao", "s_dao", "es_dao"].freeze def find_dao(assoc_name, parent_caller, scope = nil) SUFFIXES.each do |suffix| dao_from_name = parent_caller.instance_variable_get("@#{assoc_name}#{suffix}") return dao_from_name if dao_from_name end if scope.is_a?(Sequel::Dataset) return scope.unfiltered end raise ArgumentError, "can't find DAO for :#{assoc_name}, provide correct scope or association name" end end end end
Version data entries
57 entries across 57 versions & 1 rubygems