Sha256: 3cca92f19c087631ef98c47411421b0683cc4bb559485c8b3d1701be2fe549af
Contents?: true
Size: 684 Bytes
Versions: 2
Compression:
Stored size: 684 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 Ohm::Model::Set.send :include, OverloadedSet end Model::Set.send :include, Scope::OverloadedSet end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ohm-contrib-1.0.rc1 | lib/ohm/scope.rb |
ohm-contrib-1.0.rc0 | lib/ohm/scope.rb |