Class: CanLII::Case

Inherits:
Base
  • Object
show all
Defined in:
lib/canlii/case.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

with_client

Class Method Details

.browse(database_id, **options) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/canlii/case.rb', line 14

def browse(database_id, **options)
  with_client do |client|
    params = build_browse_params(options)
    response = client.get("/caseBrowse/#{language}/#{database_id}", params)

    return [] if response.is_a?(Array)

    cases = response["cases"] || []
    cases.map { |data| new_from_browse(data) }
  end
end

.find(database_id, case_id) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/canlii/case.rb', line 26

def find(database_id, case_id)
  with_client do |client|
    response = client.get("/caseBrowse/#{language}/#{database_id}/#{case_id}")
    new_from_detail(response)
  end
rescue NotFoundError
  nil
end

.find!(database_id, case_id) ⇒ Object



35
36
37
38
# File 'lib/canlii/case.rb', line 35

def find!(database_id, case_id)
  find(database_id, case_id) ||
    raise(NotFoundError, "Case not found: #{database_id}/#{case_id}")
end

Instance Method Details

#to_sObject



84
85
86
# File 'lib/canlii/case.rb', line 84

def to_s
  citation || title || "#{database_id}/#{case_id}"
end