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