Sha256: f9035f6a57460db4f04ba5b4918d95ac94e8b872f7f9ff7467e5f69119b6605b

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

module Xolphin
  module Api
    module Endpoint
      class Support
        def initialize(http)
          @http = http
        end

        def products
          products = []

          result = @http.get("/products", page: 1)
          response = Xolphin::Api::Responses::Products.new(result)

          unless response.error?
            products = response.products
            while response.page < response.pages
              result = @http.get("/products", page: response.page + 1)
              response = Xolphin::Api::Responses::Products.new(result)
              break if response.error?

              products += response.products
            end
          end

          products
        end

        def product(id)
          result = @http.get("/products/#{id}")

          Xolphin::Api::Responses::Product.new(result)
        end

        def decode_csr(csr)
          result = @http.post("/decode-csr", csr: csr)

          Xolphin::Api::Responses::CsrData.new(result)
        end

        def approver_email_addresses(domain)
          @http.get("/approver-email-addresses", domain: domain)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
xolphin-api-1.9.0 lib/xolphin/api/endpoint/support.rb
xolphin-api-1.8.0 lib/xolphin/api/endpoint/support.rb