Sha256: 96e1c57d362270c0c11fdde5f197d43971868a9de1f6be3837c05c0bfc17532b

Contents?: true

Size: 498 Bytes

Versions: 4

Compression:

Stored size: 498 Bytes

Contents

module Casino
  class Focus
    attr_accessor :model

    def initialize(model)
      self.model = model
    end

    def hash
      model.hash
    end

    def ==(other)
      other.is_a?(self.class) && other.model == model
    end
    alias :eql? :==

    def build_criteria(*queries)
      conditions = queries.map(&:conditions).flatten(1)
      conditions.reduce(model) do |criteria, condition_pair|
        criteria.send(condition_pair.first, condition_pair.last)
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mongoid-casino-0.0.4 lib/casino/focus.rb
mongoid-casino-0.0.3 lib/casino/focus.rb
mongoid-casino-0.0.2 lib/casino/focus.rb
mongoid-casino-0.0.1 lib/casino/focus.rb