class Standupguy::Item
Constants
- TicketUrl
Attributes
data[RW]
Public Instance Methods
add_to_today(item)
click to toggle source
# File lib/Standupguy.rb, line 214 def add_to_today(item) @data ||= { description: "", date: "", ticket_id: false } ticket = TicketUrl.new(item) if ticket.valid? zendesk_ticket = client(ticket.subdomain).tickets.find(id: ticket.id) self.ticket_id = item self.description = "#{item} => (#{zendesk_ticket.subject})" else self.description = item end self.name = `whoami`.chop self.date = key end
client(subdomain)
click to toggle source
# File lib/Standupguy.rb, line 229 def client(subdomain) @client ||= ZendeskAPI::Client.new do |config| config.url = "https://#{subdomain}.zendesk.com/api/v2" config.username = ENV["zendesk_user"] config.token = ENV["zendesk_token"] end end
continue?()
click to toggle source
# File lib/Standupguy.rb, line 185 def continue? puts <<-EOS This ticket has already been added. Do you want to continue adding it? (y/N) EOS STDIN.gets.downcase.chomp[0] == "y" end
method_missing(method, *args)
click to toggle source
# File lib/Standupguy.rb, line 178 def method_missing(method, *args) method_list = [:description=, :name=, :date=, :ticket_id=] return unless method_list.include?(method) method = method.to_s.chop.to_sym @data[method] = args.first end
save()
click to toggle source
# File lib/Standupguy.rb, line 192 def save current_standup = load_data current_standup ||= { date_key => [] } data_exists = current_standup.keys.include?(date_key) begin if data_exists && !!@data[:ticket_id] ticket_list = current_standup[date_key] ticket_list = ticket_list.map{ |item| item["ticket_id"] } unless ticket_list.empty? already_added = ticket_list.include?(@data[:ticket_id]) raise "Already added" if already_added end end rescue RuntimeError return unless continue? end current_standup[date_key] ||= [] current_standup[date_key] << @data write_data(current_standup) end