Sha256: c24bc657f032e7ea199fba6b1af26d325c4cdb20a5ecc9823ce3d464078e90c5

Contents?: true

Size: 1.09 KB

Versions: 10

Compression:

Stored size: 1.09 KB

Contents

module Centaman
  #:nodoc:
  class Wrapper
    include HTTParty
    
    if ENV['FIXIE_URL']
      FIXIE = URI.parse(ENV['FIXIE_URL'])
      http_proxy FIXIE.host, FIXIE.port, FIXIE.user, FIXIE.password
    end
    
    attr_reader :api_username, :api_password, :api_token

    def initialize(args = {})
      @api_username = ENV['CENTAMAN_API_USERNAME']
      @api_password = ENV['CENTAMAN_API_PASSWORD']      
      @api_token = ENV.fetch('CENTAMAN_API_TOKEN', generate_token)
      self.class.base_uri ENV['CENTAMAN_API_URL']
      after_init(args)
    end

    def headers
      { 'authorization' => "Basic #{api_token}", 'Content-Type' => 'application/json' }
    end

    def generate_token
      Base64.encode64("#{api_username}:#{api_password}")
    end

    def options
      [] # overwritten by children
    end

    def options_hash
      hash = {}
      options.each do |option_hash|
        next unless option_hash[:value].present?
        hash[option_hash[:key]] = option_hash[:value]
      end
      hash
    end

    def after_init(args = {})
      # hook method for subclasses
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
centaman-0.1.13 lib/centaman/wrapper.rb
centaman-0.1.12 lib/centaman/wrapper.rb
centaman-0.1.11 lib/centaman/wrapper.rb
centaman-0.1.10 lib/centaman/wrapper.rb
centaman-0.1.9 lib/centaman/wrapper.rb
centaman-0.1.8 lib/centaman/wrapper.rb
centaman-0.1.7 lib/centaman/wrapper.rb
centaman-0.1.6 lib/centaman/wrapper.rb
centaman-0.1.5 lib/centaman/wrapper.rb
centaman-0.1.4 lib/centaman/wrapper.rb