class PT::CLI
Constants
- ACTION
- TYPE
Attributes
project[R]
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/pt/cli.rb, line 29 def initialize(*args) super @config = PT::Configuration.new @client = @config.client || Client.new @project = @client.project end
Public Instance Methods
create(title =nil)
click to toggle source
# File lib/pt/cli.rb, line 137 def create(title =nil) if title owner_id = if options[:owner] && (owner = @client.find_member(options[:owner])) owner.person.id else nil end description = edit_using_editor if options[:m] params = { name: title, requested_by_id: Settings[:user_id], owner_ids: [owner_id], description: description } params[:story_type] = options[:type] if options[:type] story = @client.create_story(params) congrats("Story with title #{story.name} has been created \n #{story.url}") else create_interactive_story end end
find(query=nil)
click to toggle source
# File lib/pt/cli.rb, line 163 def find(query=nil) query ||= ask("Please type seach query") { |q| q.readline = true } story = select_story_from_paginated_table(title: "Search result for #{query}")do |page| @client.get_stories(filter: query, page: page) end show_story(story) end
label(_label=nil)
click to toggle source
# File lib/pt/cli.rb, line 72 def label(_label=nil) _label ||= select('Please select label', LabelsTable.new(@client.project.labels)).name select_story_from_paginated_table(title: "stories with label:#{_label}") do |page| @client.get_stories(filter: "label:#{_label}", page: page) end end
list(owner = nil)
click to toggle source
# File lib/pt/cli.rb, line 107 def list(owner = nil) owner = choose_person.initials unless owner select_story_from_paginated_table(title: "stories for #{owner}") do |page| @client.get_stories(filter: "owner:#{owner} -state:accepted", page: page) end end
mywork()
click to toggle source
# File lib/pt/cli.rb, line 91 def mywork select_story_from_paginated_table(title: 'My Work') do |page| @client.get_stories(filter: "owner:#{Settings[:user_name]} -state:accepted", page: page) end end
notifications()
click to toggle source
# File lib/pt/cli.rb, line 172 def notifications NotificationsTable.new(@client.notifications).print end
recent()
click to toggle source
# File lib/pt/cli.rb, line 115 def recent title("Your recent stories from #{project_to_s}") select_story_from_paginated_table(title: "recent stories") do |page| @client.get_stories(filter: Settings[:recent_tasks].join(','), page: page) end end