Sha256: fd5df5dcaa3404be1a969ff57b792d161a00a495c5efb8e0342b9e9bdc66234e

Contents?: true

Size: 1.54 KB

Versions: 8

Compression:

Stored size: 1.54 KB

Contents

module Ecoportal
  module API
    # @attr_reader client [Common::Client] a `Common::Client` object that holds the configuration of the api connection.
    # @attr_reader logger [Logger] the logger.
    class V2
      extend Common::BaseClass
      include Common::Logging

      VERSION = "v2"

      class_resolver :registers_class, "Ecoportal::API::V2::Registers"
      class_resolver :pages_class,     "Ecoportal::API::V2::Pages"

      attr_reader :client, :logger

      # Creates an `V2` object to scope version specific api requests.
      # @param api_key [String] the key version to stablish the api connection.
      # @param host [String] api server domain.
      # @param logger [Logger] an object with `Logger` interface to generate logs.
      def initialize(api_key, host: "live.ecoportal.com", logger: default_logger)
        @logger = logger
        @client = Common::Content::Client.new(
          api_key: api_key,
          host:    host,
          version: self.class::VERSION,
          logger:  @logger
        )
      end

      # Obtain specific object for schema api requests.
      # @return [Registers] an instance object ready to make registers api requests.
      def registers
        registers_class.new(client)
      end

      # Obtain specific object for pages api requests.
      # @return [Pages] an instance object ready to make pages api requests.
      def pages
        pages_class.new(client)
      end

    end
  end
end

require 'ecoportal/api/v2/registers'
require 'ecoportal/api/v2/pages'

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ecoportal-api-oozes-0.7.1 lib/ecoportal/api/v2.rb
ecoportal-api-oozes-0.7.0 lib/ecoportal/api/v2.rb
ecoportal-api-oozes-0.6.1 lib/ecoportal/api/v2.rb
ecoportal-api-oozes-0.6.0 lib/ecoportal/api/v2.rb
ecoportal-api-oozes-0.5.9 lib/ecoportal/api/v2.rb
ecoportal-api-oozes-0.5.8 lib/ecoportal/api/v2.rb
ecoportal-api-oozes-0.5.7 lib/ecoportal/api/v2.rb
ecoportal-api-oozes-0.5.6 lib/ecoportal/api/v2.rb