Sha256: 5b159695faa720b6d1da86a7bffb776bce3039a32feb38d324714becf90148ad
Contents?: true
Size: 668 Bytes
Versions: 6
Compression:
Stored size: 668 Bytes
Contents
module Ohm module Scope def self.included(model) unless model.const_defined?(:DefinedScopes) model.const_set(:DefinedScopes, Module.new) end model.extend ClassMethods end module ClassMethods def scope(scope = nil, &block) self::DefinedScopes.module_eval(&block) if block_given? self::DefinedScopes.send(:include, scope) if scope end end module OverloadedSet def initialize(*args) super extend model::DefinedScopes if defined?(model::DefinedScopes) end end end Set.send :include, Scope::OverloadedSet MultiSet.send :include, Scope::OverloadedSet end
Version data entries
6 entries across 6 versions & 1 rubygems