Module: IdigbioClient
- Extended by:
- Helper
- Defined in:
- lib/idigbio_client.rb,
lib/idigbio_client/helper.rb,
lib/idigbio_client/search.rb,
lib/idigbio_client/version.rb
Overview
Ruby wrapper for iDigBio API
Defined Under Namespace
Modules: Helper, Search
Constant Summary
collapse
- URL =
"https://beta-search.idigbio.org/v2/"
- MAX_LIMIT =
100_000
- DEFAULT_LIMIT =
100
{ content_type: :json, accept: :json }
- VERSION =
"0.1.2"
Class Method Summary
collapse
Methods included from Helper
get, normalize_type, post, post?, query, request, symbolize, url_params
Class Method Details
.count(opts = {}) ⇒ Object
33
34
35
36
37
38
|
# File 'lib/idigbio_client.rb', line 33
def count(opts = {})
opts = { type: "records", params: {} }.merge(opts)
type = normalize_type(opts[:type])
res = query(path: "summary/count/#{type}/", params: opts[:params])
res ? res[:itemCount] : nil
end
|
.fields(type = nil) ⇒ Object
40
41
42
43
44
45
|
# File 'lib/idigbio_client.rb', line 40
def fields(type = nil)
types = type ? [normalize_type(type)] : IdigbioClient.types
types.each_with_object({}) do |t, res|
res[t.to_sym] = query(path: "meta/fields/#{t}", method: :get)
end
end
|
.logger ⇒ Object
21
22
23
|
# File 'lib/idigbio_client.rb', line 21
def logger
@logger ||= Logger.new($stdout)
end
|
.search(opts) ⇒ Object
17
18
19
|
# File 'lib/idigbio_client.rb', line 17
def search(opts)
Search.search(opts)
end
|
.show(uuid) ⇒ Object
25
26
27
|
# File 'lib/idigbio_client.rb', line 25
def show(uuid)
query(path: "view/#{uuid}", method: :get)
end
|
.types ⇒ Object
29
30
31
|
# File 'lib/idigbio_client.rb', line 29
def types
%w(records mediarecords recordsets publishers)
end
|
.version ⇒ Object
5
6
7
|
# File 'lib/idigbio_client/version.rb', line 5
def self.version
VERSION
end
|