Sha256: 089deee9f4d8fec3321f98ea317c538d84a88aaf0b5ded07bf17470f927efa1c

Contents?: true

Size: 783 Bytes

Versions: 4

Compression:

Stored size: 783 Bytes

Contents

# frozen_string_literal: true

module RubyLokaliseApi
  module Endpoints
    module OAuth2
      class OAuth2Endpoint < BaseEndpoint
        BASE_URL = 'https://app.lokalise.com/oauth2'
        PARTIAL_URI_TEMPLATE = '{/segments*}{?query*}'

        def initialize(client, params = {})
          super client, params

          @uri = partial_uri(base_query(*@query_params), params.fetch(:get, []))
        end

        private

        def partial_uri(segments, query)
          template = super

          template.expand(
            segments: segments.to_a.flatten,
            query: query.filter { |_k, v| !v.nil? }
          ).to_s
        end

        def base_query(segment = nil)
          [segment]
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ruby-lokalise-api-9.0.0 lib/ruby_lokalise_api/endpoints/oauth2/oauth2_endpoint.rb
ruby-lokalise-api-8.0.1 lib/ruby_lokalise_api/endpoints/oauth2/oauth2_endpoint.rb
ruby-lokalise-api-8.0.0 lib/ruby_lokalise_api/endpoints/oauth2/oauth2_endpoint.rb
ruby-lokalise-api-8.0.0.rc1 lib/ruby_lokalise_api/endpoints/oauth2/oauth2_endpoint.rb