Sha256: 0a58a0e18cd2531411f6e791c9868f169989abdec58827078ce8503e1a57c102
Contents?: true
Size: 1.7 KB
Versions: 1
Compression:
Stored size: 1.7 KB
Contents
module TicketMaster::Provider # This is the Fogbugz Provider for ticketmaster module Fogbugz include TicketMaster::Provider::Base class << self attr_accessor :api end #TICKET_API = Fogbugz::Ticket # The class to access the api's tickets #PROJECT_API = Fogbugz::Project # The class to access the api's projects # This is for cases when you want to instantiate using TicketMaster::Provider::Fogbugz.new(auth) def self.new(auth = {}) TicketMaster.new(:fogbugz, auth) end # Providers must define an authorize method. This is used to initialize and set authentication # parameters to access the API def authorize(auth = {}) @authentication ||= TicketMaster::Authenticator.new(auth) auth = @authentication unless auth.email? && auth.password? && auth.uri? raise TicketMaster::Exception.new 'Please provide email, password and uri' end begin @fogbugz = ::Fogbugz::Interface.new(:email => auth.email, :uri => auth.uri, :password => auth.password) TicketMaster::Provider::Fogbugz.api = @fogbugz @fogbugz.authenticate rescue Exception => ex warn "There was a problem authenticaticating #{ex.message}" end end # declare needed overloaded methods here def projects(*options) Project.find(options) end def project(*options) unless options.first.is_a? Fixnum raise "Search for a single project only works with a project id" else Project.find_by_id(options.first) end end def valid? begin @fogbugz.command(:search, :q => 'case') true rescue false end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ticketmaster-fogbugz-0.1.2 | lib/provider/fogbugz.rb |