Module: DaisybillApi::Ext::CRUD::Search::ClassMethods

Defined in:
lib/daisybill_api/ext/crud/search.rb

Instance Method Summary collapse

Instance Method Details

#search(options = {}) ⇒ Object

Retrieves a list of records

@patients = DaisybillApi::Models::Patient.search(billing_provider_id: 2)
# => #<DaisybillApi::Ext::PageableCollection>

Parameters:

  • options (Hash) (defaults to: {})

Returns:



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/daisybill_api/ext/crud/search.rb', line 13

def search(options = {})
  id = options[@prefix_property]
  c = client(:get, search_path(id), options)

  if c.success?
    DaisybillApi::Ext::PageableCollection.new(
      c.response[plural_key.to_s].map { |attributes|
        instance = new(attributes)
        instance.send("#{prefix_property}=", id) if path_prefix?
        instance
      },
      {
        headers: c.headers,
        params: options,
        resource_class: self
      }
    )
  else
    DaisybillApi::Ext::PageableCollection.new([])
  end
end