Sha256: 645a3279193bb1376924436e55eb2035cbaaf85bce9343726db1d5f3a16e498b

Contents?: true

Size: 910 Bytes

Versions: 6

Compression:

Stored size: 910 Bytes

Contents

require 'congress/client'

module Congress
  extend self # rubocop:disable ModuleFunction
  attr_accessor :key

  # Alias for Congress::Client.new
  #
  # @return [Congress::Client]
  def new(key = key)
    yield self if block_given?
    return @client if instance_variable_defined?(:@client) && @client.key == key
    @client = Congress::Client.new(key)
  end

  # Delegate to Congress::Client
  def method_missing(method, *args, &block)
    return super unless new.respond_to?(method)
    new.send(method, *args, &block)
  end

  # @return [Boolean]
  def respond_to?(method, include_private = false) new.respond_to?(method, include_private) end if RUBY_VERSION < '1.9' # rubocop:disable SingleLineMethods

  # @return [Boolean]
  def respond_to_missing?(method_name, include_private = false) new.respond_to?(method_name, include_private) end if RUBY_VERSION >= '1.9' # rubocop:disable SingleLineMethods
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
congress-0.2.5 lib/congress.rb
congress-0.2.4 lib/congress.rb
congress-0.2.3 lib/congress.rb
congress-0.2.2 lib/congress.rb
congress-0.2.1 lib/congress.rb
congress-0.2.0 lib/congress.rb