Sha256: 99358e90839dfb9bc6cba2bedba3552a3ca989246bf68714a72df500d93be2cd
Contents?: true
Size: 675 Bytes
Versions: 1
Compression:
Stored size: 675 Bytes
Contents
module Ohm module Scope def self.included(model) unless model.const_defined?(:DefinedScopes, false) 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ohm-contrib-1.0.0.rc2 | lib/ohm/scope.rb |