Sha256: 077117a1d79486a1c48630570148558207641fb49743d1fa6a604a976e64e4f2
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
module ActiveCollection module Includes def self.included(mod) mod.extend ClassMethods mod.class_eval do find_scope :include_options end end module ClassMethods def includes(*includes) write_inheritable_attribute(:default_includes, includes) end def default_includes read_inheritable_attribute(:default_includes) || [] end end def includes @includes ||= self.class.default_includes end def include(*new_includes) ac = unloading_dup ac.include! *new_includes ac end def include!(*new_includes) raise_if_loaded @includes = (safe_to_array(new_includes) + safe_to_array(includes)).uniq end def include_options { :include => @includes } unless @includes.blank? end protected # Taken from ActiveRecord::Base # # Object#to_a is deprecated, though it does have the desired behavior def safe_to_array(o) case o when NilClass [] when Array o else [o] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_collection-0.2.4 | lib/active_collection/includes.rb |