Sha256: 3b1b273f030dd3d8200fe4259ff6a57c16ad9ab3e1bd9b3b22d92cb3b4d834c1

Contents?: true

Size: 1.23 KB

Versions: 3

Compression:

Stored size: 1.23 KB

Contents

require 'contacts/version'

module Contacts
  
  Identifier = 'Ruby Contacts v' + VERSION::STRING
  
  # An object that represents a single contact
  class Contact
    attr_reader :emails, :ims, :phones, :addresses, :organizations, :firstname, :lastname
    attr_accessor :name, :username, :service_id, :note
    
    def initialize(email, name = nil, username = nil, firstname = nil, lastname = nil)
      @emails = []
      @emails << email if email
      @ims = []
      @phones = []
      @addresses = []
      @organizations = []
      @name = name
      @username = username
      @firstname = firstname
      @lastname = lastname
    end
    
    def email
      @emails.first
    end
    
    def inspect
      %!#<Contacts::Contact "#{name}"#{email ? " (#{email})" : ''}>!
    end
  end

  def self.verbose=(verbose)
    @verbose = verbose
  end
  
  def self.verbose?
    @verbose || 'irb' == $0
  end
  
  class Error < StandardError
  end
  
  class TooManyRedirects < Error
    attr_reader :response, :location
    
    MAX_REDIRECTS = 2
    
    def initialize(response)
      @response = response
      @location = @response['Location']
      super "exceeded maximum of #{MAX_REDIRECTS} redirects (Location: #{location})"
    end
  end
  
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aeden-contacts-0.2.16 lib/contacts.rb
aeden-contacts-0.2.18 lib/contacts.rb
aeden-contacts-0.2.19 lib/contacts.rb