Sha256: b08eab810f8095162e41caf1cfdd6ae00a87e76676e70aa88210db05b9d5822c

Contents?: true

Size: 667 Bytes

Versions: 6

Compression:

Stored size: 667 Bytes

Contents

require 'volt/models/persistors/base'

module Volt
  module Persistors
    class Page < Base
      def auto_generate_id
        true
      end

      def where(query)
        result = @model.select do |model|
          # Run through each key in the query and make sure the value matches.
          # We use .all? because once one fails to match, we can return false,
          # because it wouldn't match as a whole.
          query.all? do |key, value|
            model.get(key) == value
          end
        end

        options = @model.options.merge(parent: @model, path: @model.path)
        @model.new_array_model(result, options)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
volt-0.9.7.pre8 lib/volt/models/persistors/page.rb
volt-0.9.7.pre7 lib/volt/models/persistors/page.rb
volt-0.9.7.pre6 lib/volt/models/persistors/page.rb
volt-0.9.7.pre5 lib/volt/models/persistors/page.rb
volt-0.9.7.pre3 lib/volt/models/persistors/page.rb
volt-0.9.7.pre2 lib/volt/models/persistors/page.rb