class Alfred::Handler::Help
Public Class Methods
new(alfred, opts = {})
click to toggle source
Calls superclass method
Alfred::Handler::Base::new
# File lib/alfred/handler/help.rb, line 30 def initialize(alfred, opts = {}) super @settings = { :handler => 'Help' , :exclusive? => true , :with_handler_help => true , :items => [] , :handler_order => ( Base_Invoke_Order / 10 ) }.update(opts) @order = @settings[:handler_order] if @settings[:items].empty? @load_from_workflow_setting = true else @load_from_workflow_setting = false end end
Public Instance Methods
feedback?()
click to toggle source
# File lib/alfred/handler/help.rb, line 68 def feedback? options.help end
on_action(arg)
click to toggle source
# File lib/alfred/handler/help.rb, line 149 def on_action(arg) return unless action?(arg) case arg[:kind] when 'url' ::Alfred::Util.open_url(arg[:url]) when 'file' %x{open "#{arg[:path]}"} end end
on_feedback()
click to toggle source
# File lib/alfred/handler/help.rb, line 72 def on_feedback return unless feedback? if @settings[:with_handler_help] @settings[:items].push @core.on_help @core.handler_controller.each do |h| @settings[:items].push h.on_help end end if @load_from_workflow_setting if @core.workflow_setting.has_key?(:help) @settings[:items].push @core.workflow_setting[:help] end end @settings[:items].flatten!.compact! @settings[:items].map! { |i| HelpItem.new(i) }.sort! @settings[:items].each do |item| case item[:kind] when 'file' item[:path] = File.expand_path(item[:path]) # action is handled by fallback action in the main loop feedback.add_file_item(item[:path], item) when 'url' item[:arg] = xml_builder( :handler => @settings[:handler] , :kind => item[:kind] , :url => item[:url] ) feedback.add_item( { :icon => ::Alfred::Feedback.CoreServicesIcon('BookmarkIcon') }.merge(item) ) when 'text', 'message' item[:arg] = xml_builder( { :handler => @settings[:handler] , :kind => item[:kind] , } ) feedback.add_item( { :valid => 'no' , :autocomplete => '' , :icon => ::Alfred::Feedback.CoreServicesIcon('ClippingText') , }.merge(item) ) else if item.has_key? :title item[:arg] = xml_builder( { :handler => @settings[:handler] , :kind => item[:kind] , }.merge(item) ) feedback.add_item( { :icon => ::Alfred::Feedback.CoreServicesIcon('HelpIcon'), }.merge(item) ) end end end @status = :exclusive if @settings[:exclusive?] end
on_help()
click to toggle source
# File lib/alfred/handler/help.rb, line 56 def on_help { :kind => 'text' , :valid => 'no' , :autocomplete => '-h' , :match? => :always_match? , :order => (HelpItem::Base_Order * 12) , :title => '-?, -h, --help [Show Workflow Usage Help]' , :subtitle => 'Other feedbacks are blocked.' , } end
on_parser()
click to toggle source
# File lib/alfred/handler/help.rb, line 50 def on_parser parser.on_tail('-?', '-h', '--help', 'Workflow Helper') do options.help = true end end