Sha256: d4337c73bccf5d0e4b6bf2c44b0007097764c3f742aefce1f85108f8176b718c
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 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(*includes) ac = dup ac.include! *includes ac end def include!(*includes) raise_if_loaded @includes = (safe_to_array(includes) + safe_to_array(includes)).uniq end def include_options @includes.blank?? {} : { :include => @includes } 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
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
martinemde-active_collection-0.2.0 | lib/active_collection/includes.rb |
active_collection-0.2.0 | lib/active_collection/includes.rb |