module Mynu::Dsl::Block
Public Instance Methods
add_item(title, runtime_block, &block)
click to toggle source
# File lib/mynu/dsl/block.rb, line 71 def add_item(title, runtime_block, &block) item = Menu::BlockMenuItem.new(title, runtime_block) item.instance_eval(&block) if block_given? @items << item item end
app(title, app, &block)
click to toggle source
# File lib/mynu/dsl/block.rb, line 8 def app(title, app, &block) block = Proc.new {} unless block_given? add_item( title, item_block(block) { `open -a #{app}` } ) end
item(title, &block)
click to toggle source
# File lib/mynu/dsl/block.rb, line 35 def item(title, &block) block = Proc.new {} unless block_given? add_item( title, item_block(block) { } ) end
item_block(original_block, &block)
click to toggle source
# File lib/mynu/dsl/block.rb, line 78 def item_block(original_block, &block) Receivable.new { |sender| block.call(sender) if block case original_block.arity when 0 sender.instance_eval(&original_block) when 1 original_block.call(sender) else raise end } end
open(title, path, &block)
click to toggle source
# File lib/mynu/dsl/block.rb, line 16 def open(title, path, &block) block = Proc.new {} unless block_given? add_item( title, item_block(block) { `open #{path}` } ) end
separator()
click to toggle source
# File lib/mynu/dsl/block.rb, line 4 def separator @items << NSMenuItem.separatorItem end
terminal(title, command, options={}, &block)
click to toggle source
# File lib/mynu/dsl/block.rb, line 24 def terminal(title, command, options={}, &block) block = Proc.new {} unless block_given? add_item( title, item_block(block) { terminal = Mynu::Support::Terminal.new terminal.create_tab(command, options) } ) end