Class: Dbla::Repository

Inherits:
Blacklight::AbstractRepository
  • Object
show all
Extended by:
Deprecation
Defined in:
lib/dbla/repository.rb

Instance Method Summary collapse

Instance Method Details

#api_keyObject



36
37
38
# File 'lib/dbla/repository.rb', line 36

def api_key
  Dbla.config[:api_key]
end

#find(id, params = {}) ⇒ Object



6
7
8
9
# File 'lib/dbla/repository.rb', line 6

def find id, params = {}
  data = get("#{url}/#{id}?api_key=#{api_key}")
  Response.new(data, params,{})
end

#get(uri) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/dbla/repository.rb', line 28

def get(uri)
  uri = URI(uri)
  Net::HTTP.start(uri.host, uri.port) do |http|
    request = Net::HTTP::Get.new uri
    response = http.request request
    return JSON.parse(response.body)
  end
end

#search(params = {}) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/dbla/repository.rb', line 11

def search params = {}
  data = nil
  #TODO Move this into a SearchBuilder, add a generator
  if params['q']
    q = "?api_key=#{api_key}&q=#{params['q']}"
    if params.page
        q << "&page=#{params.page}"
    end
    if params.rows
        q << "&page_size=#{params.rows}"
    end
    puts url + q
    data = get(url + q)
  end
  Response.new(data, params,{})
end

#urlObject



40
41
42
# File 'lib/dbla/repository.rb', line 40

def url
  @url ||= (Dbla.config[:url] + blacklight_config.document_model.name.downcase.pluralize).freeze
end