Sha256: 59f2ad5cae2393ea3f6a305d5340b44ebec27181e1408da165fa1c04bfc76deb

Contents?: true

Size: 679 Bytes

Versions: 12

Compression:

Stored size: 679 Bytes

Contents

module NCore
  module Find
    extend ActiveSupport::Concern

    module ClassMethods
      def find(id, params={})
        raise(module_parent::RecordNotFound, "Cannot find id=nil") if id.blank?
        o = new({id: id})
        o.reload(params)
      end

      def retrieve(id, params={})
        find id, params
      rescue module_parent::RecordNotFound
        nil
      end
    end

    def reload(find_params={})
      return if id.blank?
      params = parse_request_params(find_params).reverse_merge credentials: api_creds
      parsed, @api_creds = request(:get, resource_path, params)
      @attribs = {}.with_indifferent_access
      load(parsed)
    end

  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
ncore-3.12.0 lib/ncore/methods/find.rb
ncore-3.11.0 lib/ncore/methods/find.rb
ncore-3.10.0 lib/ncore/methods/find.rb
ncore-3.9.1 lib/ncore/methods/find.rb
ncore-3.9.0 lib/ncore/methods/find.rb
ncore-3.8.1 lib/ncore/methods/find.rb
ncore-3.8.0 lib/ncore/methods/find.rb
ncore-3.7.1 lib/ncore/methods/find.rb
ncore-3.7.0 lib/ncore/methods/find.rb
ncore-3.6.2 lib/ncore/methods/find.rb
ncore-3.6.1 lib/ncore/methods/find.rb
ncore-3.6.0 lib/ncore/methods/find.rb