Class: Avm::EacRedmineBase0::Instances::RestApi::EntityBase

Inherits:
EacRest::Entity
  • Object
show all
Defined in:
lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb

Direct Known Subclasses

Project, Root, WikiPage

Instance Method Summary collapse

Instance Method Details

#build_request(url_suffix) ⇒ Object



12
13
14
# File 'lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb', line 12

def build_request(url_suffix)
  api.request_json("#{url_suffix}.json")
end

#data_from_response(response) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb', line 16

def data_from_response(response)
  raise "\"#{response.url}\" returned non-ok status: #{response.status}" unless
  response.status.to_s.start_with?('2')

  return {} if response.body_str.blank?

  response.body_data
rescue ::JSON::ParserError
  raise "\"#{response.url}\" returned invalid JSON: \"#{response.body_str}\" " \
        "(Status: #{response.status})"
end

#fetch_data(url_suffix) ⇒ Object



28
29
30
# File 'lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb', line 28

def fetch_data(url_suffix)
  data_from_response(build_request(url_suffix).response)
end