Sha256: a0ec51452b8b7e1e76c3b2b2f35bf276c463a5579cc868b9ad1a5410ccb08a54

Contents?: true

Size: 680 Bytes

Versions: 5

Compression:

Stored size: 680 Bytes

Contents

module FlexCommerceApi
  module JsonApiClientExtension
    class Builder < ::JsonApiClient::Query::Builder
      def initialize(*)
        super
        @temp_search_criteria = nil
      end
      def temp_search(options = {})
        @temp_search_criteria = options
        self
      end

      def find(args = {})
        case args
          when Hash
            where(args)
          else
            @primary_key = args
        end
        if @temp_search_criteria.nil?
          klass.requestor.get(params)
        else
          klass.requestor.custom(:search, { request_method: :get }, params.merge(filter: @temp_search_criteria))
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
flex_commerce_api-0.8.3 lib/flex_commerce_api/json_api_client_extension/builder.rb
flex_commerce_api-0.8.2 lib/flex_commerce_api/json_api_client_extension/builder.rb
flex_commerce_api-0.8.1 lib/flex_commerce_api/json_api_client_extension/builder.rb
flex_commerce_api-0.7 lib/flex_commerce_api/json_api_client_extension/builder.rb
flex_commerce_api-0.6.57 lib/flex_commerce_api/json_api_client_extension/builder.rb