lib/apisync.rb in apisync-0.1.6 vs lib/apisync.rb in apisync-0.2.0

- old
+ new

@@ -1,7 +1,9 @@ require "bundler/setup" require "httparty" +require "securerandom" +require "logger" require "apisync/version" require "apisync/exceptions" require "apisync/resource" require "apisync/http_client" @@ -10,28 +12,53 @@ class Apisync @@api_key = nil @@host = nil - def initialize(api_key: nil) + # Verbose will do $stdout.puts. That's useful on a Rails console in + # development, where logger output is ommited. + @@verbose = false + @@logger = ::Logger.new(IO::NULL) + + attr_accessor :verbose + + def initialize(api_key: nil, verbose: nil, logger: nil) @api_key = api_key || @@api_key @host = @@host + @verbose = verbose || @@verbose + @logger = logger || @@logger + raise ArgumentError, "missing keyword: api_key" if @api_key.nil? end def method_missing(name, args = {}, &block) # overrides the instance api_key as `authorization` options = { - host: @host + host: @host, + verbose: @verbose, + logger: @logger }.merge(args).merge(api_key: @api_key) + Apisync::Resource.new(name, options) end def self.host=(value) @@host = value end def self.api_key=(value) @@api_key = value + end + + def self.verbose=(value) + @@verbose = value + end + + def self.logger=(value) + @@logger = value + end + + def self.verbose? + !!@@verbose end end