class EverydayMenu::CommandList
Attributes
label[RW]
Public Class Methods
new(parent, label)
click to toggle source
# File lib/everyday-menu/utils.rb, line 32 def initialize(parent, label) @parent = parent @label = label @items = {} @rand = Random.new end
Public Instance Methods
[](id)
click to toggle source
# File lib/everyday-menu/utils.rb, line 56 def [](id) @items[id] end
add(command_id = nil, &block)
click to toggle source
# File lib/everyday-menu/utils.rb, line 51 def add(command_id = nil, &block) id = command_id || rand_id @items[id] = EverydayCommand.new(@parent, @label, id, &block) end
canExecute()
click to toggle source
# File lib/everyday-menu/utils.rb, line 64 def canExecute @items.values.any? { |item| item.canExecute } end
execute(sender)
click to toggle source
# File lib/everyday-menu/utils.rb, line 60 def execute(sender) @items.values.each { |item| item.execute(sender) } end
md5(str)
click to toggle source
# File lib/everyday-menu/utils.rb, line 39 def md5(str) str.dataUsingEncoding(NSUTF8StringEncoding).MD5HexDigest end
rand_id()
click to toggle source
# File lib/everyday-menu/utils.rb, line 47 def rand_id :"command_id_#{unique_id}" end
unique_id()
click to toggle source
# File lib/everyday-menu/utils.rb, line 43 def unique_id md5(WeakRef.new("#{@rand.rand}#{@rand.rand}")) end