Sha256: e9072ce5983058a4d45c6e430ca50b82f1a1b1d61cd34c0ca174c3dfdf6c8213

Contents?: true

Size: 708 Bytes

Versions: 4

Compression:

Stored size: 708 Bytes

Contents

module NCore
  module FindSingle
    extend ActiveSupport::Concern

    module ClassMethods
      def find(params={}, api_creds=nil)
        parsed, creds = request(:get, url, api_creds, params)
        if parsed[:errors].any?
          raise parent::QueryError, parsed[:errors]
        end
        new(parsed, creds)
      end

      def retrieve(params={}, api_creds=nil)
        find params, api_creds
      rescue parent::RecordNotFound
        false
      end
    end

    def id
      'singleton'
    end

    private

    def reload(find_params={})
      parsed, @api_creds = request(:get, url, api_creds, find_params)
      @attribs = {}.with_indifferent_access
      load(parsed)
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ncore-1.2.1 lib/ncore/methods/find_single.rb
ncore-1.2.0 lib/ncore/methods/find_single.rb
ncore-1.1.0 lib/ncore/methods/find_single.rb
ncore-1.0.0 lib/ncore/methods/find_single.rb