Sha256: 322cbf2f264c86e13e3ded86306fc9a0c78bd690f4a5215c2693530e37ac4546

Contents?: true

Size: 972 Bytes

Versions: 23

Compression:

Stored size: 972 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

23 entries across 23 versions & 2 rubygems

Version Path
eac_tools-0.75.2 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.75.1 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.75.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.74.1 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.74.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.73.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.72.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.70.1 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.70.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.69.1 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.69.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.68.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.67.1 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.67.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.66.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.65.1 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.65.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.64.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
eac_tools-0.63.0 sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb
avm-eac_redmine_base0-0.20.1 lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb