Sha256: 5b375e02169592cec4025fc3174fc56b3e68044986945bf1d29c9602c7de224f

Contents?: true

Size: 697 Bytes

Versions: 17

Compression:

Stored size: 697 Bytes

Contents

module Biro
  class BaseRequest
    class AuthenticationError < StandardError; end
    class DocumentNotFoundError < StandardError; end

    def production_url
      raise NotImplementedError.new('production_url must be implemented')
    end

    def development_url
      production_url
    end

    def url
      Biro.development? ? development_url : production_url
    end

    def required_params
      []
    end

    def initialize(params)
      required_params.each do |param|
        raise ArgumentError.new("Missing required parameter '#{param}' for #{self.class.name}") unless params.has_key?(param)

        instance_variable_set("@#{param}", params[param])
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
biro-0.7.1 lib/biro/gateways/base_request.rb
biro-0.7.0 lib/biro/gateways/base_request.rb
biro-0.6.10 lib/biro/gateways/base_request.rb
biro-0.6.9 lib/biro/gateways/base_request.rb
biro-0.6.8 lib/biro/gateways/base_request.rb
biro-0.6.7 lib/biro/gateways/base_request.rb
biro-0.6.6 lib/biro/gateways/base_request.rb
biro-0.6.5 lib/biro/gateways/base_request.rb
biro-0.6.4 lib/biro/gateways/base_request.rb
biro-0.6.3 lib/biro/gateways/base_request.rb
biro-0.6.2 lib/biro/gateways/base_request.rb
biro-0.6.1 lib/biro/gateways/base_request.rb
biro-0.5.1 lib/biro/gateways/base_request.rb
biro-0.4.1 lib/biro/gateways/base_request.rb
biro-0.4.0 lib/biro/gateways/base_request.rb
biro-0.3.0 lib/biro/gateways/base_request.rb
biro-0.2.0 lib/biro/gateways/base_request.rb