Module: Teamsupport

Defined in:
lib/teamsupport/base.rb,
lib/teamsupport/error.rb,
lib/teamsupport/utils.rb,
lib/teamsupport/client.rb,
lib/teamsupport/ticket.rb,
lib/teamsupport/headers.rb,
lib/teamsupport/product.rb,
lib/teamsupport/version.rb,
lib/teamsupport/customer.rb,
lib/teamsupport/identity.rb,
lib/teamsupport/rest/api.rb,
lib/teamsupport/arguments.rb,
lib/teamsupport/creatable.rb,
lib/teamsupport/rest/utils.rb,
lib/teamsupport/null_object.rb,
lib/teamsupport/rest/client.rb,
lib/teamsupport/rest/request.rb,
lib/teamsupport/rest/tickets.rb,
lib/teamsupport/rest/products.rb,
lib/teamsupport/ticket_action.rb,
lib/teamsupport/rest/customers.rb,
lib/teamsupport/customer_product.rb

Defined Under Namespace

Modules: Creatable, REST, Utils, Version Classes: Arguments, Base, Client, Customer, CustomerProduct, Error, Headers, Identity, Product, Ticket, TicketAction

Constant Summary collapse

NullObject =
Naught.build do |config|
  include Comparable

  config.black_hole
  config.define_explicit_conversions
  config.define_implicit_conversions
  config.predicates_return false

  def !
    true
  end

  def respond_to?(*)
    true
  end

  def instance_of?(klass)
    raise(TypeError, 'class or module required') unless klass.is_a?(Class)
    self.class == klass
  end

  def kind_of?(mod)
    raise(TypeError, 'class or module required') unless mod.is_a?(Module)
    self.class.ancestors.include?(mod)
  end

  alias_method :is_a?, :kind_of?

  def <=>(other)
    if other.is_a?(self.class)
      0
    else
      -1
    end
  end

  def nil?
    true
  end

  def as_json(*)
    'null'
  end
end