Sha256: 55deb2b0af5073f0672314e4b43ad0cc7d507048329c5d1c40f383627f94ce20

Contents?: true

Size: 557 Bytes

Versions: 3

Compression:

Stored size: 557 Bytes

Contents

require 'active_support/core_ext/hash/reverse_merge'
require 'conquiro/search_api/adapter'
require 'conquiro/criteria'

module Conquiro
  class SoftwareRepository < Struct.new(:adapter)
    def query(params)
      params.reverse_merge!(default_params)
      criteria = Conquiro::Criteria.new
      params.each { |name, value|
        criteria[name] = value
      }
      adapter.query(criteria)
    end

    def adapter
      super || Conquiro::SearchAPI::Adapter.new
    end

  protected
    def default_params
      {entity: 'software'}
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
conquiro-0.0.3 lib/conquiro/software_repository.rb
conquiro-0.0.2 lib/conquiro/software_repository.rb
conquiro-0.0.1 lib/conquiro/software_repository.rb