Sha256: 3864c98cd563ed9dbd73754f11c22f77006109aebafc182761cbd4015fc41dc5

Contents?: true

Size: 768 Bytes

Versions: 7

Compression:

Stored size: 768 Bytes

Contents

require 'logger'

module Pwush
  MissingAuthToken = Class.new(StandardError)
  MissingAppToken = Class.new(StandardError)

  class Config
    URL = 'https://cp.pushwoosh.com/json/1.3'.freeze

    def initialize(options = {})
      @url     = options[:url]     || URL
      @auth    = options[:auth]    || auth_missing
      @app     = options[:app]     || app_missing
      @timeout = options[:timeout] || { write: 2, connect: 5, read: 10 }
      @logger  = options[:logger]  || Logger.new(STDOUT)
    end

    attr_accessor :auth, :url, :app, :timeout, :logger

    private

    def auth_missing
      raise(MissingAuthToken, 'please provide :auth argument')
    end

    def app_missing
      raise(MissingAppToken, 'please provide :app argument')
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
njiuko-pwush-0.3.3 lib/pwush/config.rb
njiuko-pwush-0.3.2 lib/pwush/config.rb
njiuko-pwush-0.3.1 lib/pwush/config.rb
pwush-0.3.0 lib/pwush/config.rb
pwush-0.2.0 lib/pwush/config.rb
pwush-0.1.5 lib/pwush/config.rb
pwush-0.1.4 lib/pwush/config.rb