class Lolita::Register
Public Class Methods
new()
click to toggle source
# File lib/lolita/register.rb, line 4 def initialize @store = {} end
Public Instance Methods
filter(*args)
click to toggle source
# File lib/lolita/register.rb, line 20 def filter *args options = args.extract_options! values = if args.first [get_with_options(args.first)] else @store.values end filter_values(values,options) end
get(key)
click to toggle source
# File lib/lolita/register.rb, line 12 def get key item = @store[key] and item.first end
get_with_options(key)
click to toggle source
# File lib/lolita/register.rb, line 16 def get_with_options key @store[key] end
set(key, value, options=nil)
click to toggle source
# File lib/lolita/register.rb, line 8 def set key, value, options=nil !!(@store[key] = [value,options].compact) end
Private Instance Methods
filter_values(values, pattern)
click to toggle source
# File lib/lolita/register.rb, line 32 def filter_values values, pattern unless (pattern && pattern.any?) values else values.inject([]) do |result,value| if value[1] if (pattern.to_a - value[1].to_a).empty? result.push value end end result end end end