Sha256: d94ca9ac7e056822b1cbc39aff62812d81b4d23d87e64b43e0560ade5d7377f2

Contents?: true

Size: 976 Bytes

Versions: 20

Compression:

Stored size: 976 Bytes

Contents

# frozen_string_literal: true

require 'eac_rest/api'
require 'eac_rest/entity'
require 'eac_ruby_utils/core_ext'

module Avm
  module EacRedmineBase0
    module Instances
      class RestApi < ::EacRest::Api
        class EntityBase < ::EacRest::Entity
          def build_request(url_suffix)
            api.request_json("#{url_suffix}.json")
          end

          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

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

Version data entries

20 entries across 20 versions & 2 rubygems

Version Path
avm-eac_redmine_base0-0.22.3 lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.91.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
avm-eac_redmine_base0-0.22.2 lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.87.1 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
avm-eac_redmine_base0-0.22.1 lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.86.11 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.83.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.82.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.81.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
avm-eac_redmine_base0-0.22.0 lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.80.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
avm-eac_redmine_base0-0.21.2 lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.79.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
avm-eac_redmine_base0-0.21.1 lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.78.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.77.1 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.77.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.76.1 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
avm-eac_redmine_base0-0.21.0 lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.76.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb