Sha256: 21fd86801899f8ae4bec9b12f38faa7b032a18e08d039ee57f53106808a23c7d

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

module ActiveFedora
  module QueryMethods # :nodoc:

    def extending_values
      @values[:extending] || []
    end

    def extending_values=(values)
      raise ImmutableRelation if @loaded
      @values[:extending] = values
    end

    def where_values
      @values[:where] ||= {}
    end

    def where_values=(values)
      raise ImmutableRelation if @loaded
      @values[:where] = values
    end   

    def order_values
      @values[:order] || []
    end

    def order_values=(values)
      raise ImmutableRelation if @loaded
      @values[:order] = values
    end   

    def limit_value
      @values[:limit]
    end

    def limit_value=(value)
      raise ImmutableRelation if @loaded
      @values[:limit] = value
    end   

    def none! # :nodoc:
      extending!(NullRelation)
    end

    def extending!(*modules, &block) # :nodoc:
      modules << Module.new(&block) if block
      modules.flatten!

      self.extending_values += modules
      extend(*extending_values) if extending_values.any?

      self
    end

    def select
      to_a.select { |*block_args| yield(*block_args) }
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
active-fedora-7.0.0.pre3 lib/active_fedora/relation/query_methods.rb
active-fedora-7.0.0.pre2 lib/active_fedora/relation/query_methods.rb
active-fedora-7.0.0.pre1 lib/active_fedora/relation/query_methods.rb