module SimpleFacade::Mixin
Public Instance Methods
facade_delete(key)
click to toggle source
# File lib/simple_facade.rb, line 36 def facade_delete(key) return if key.nil? @__members__ = nil __subjects__.delete_at(__subjects__.index { |el| el.first == key }) end
facade_dequeue()
click to toggle source
# File lib/simple_facade.rb, line 25 def facade_dequeue @__members__ = nil __subjects__.shift end
facade_enqueue(k, v)
click to toggle source
# File lib/simple_facade.rb, line 19 def facade_enqueue(k, v) return if v.nil? || k.nil? || key_exists?(k) @__members__ = nil __subjects__.unshift([k, v]) end
facade_insert(index, k, v)
click to toggle source
# File lib/simple_facade.rb, line 30 def facade_insert(index, k, v) return if v.nil? || k.nil? || index.nil? || key_exists?(k) @__members__ = nil __subjects__.insert(index, [k, v]) end
facade_pop()
click to toggle source
# File lib/simple_facade.rb, line 14 def facade_pop @__members__ = nil __subjects__.pop end
facade_push(k, v)
click to toggle source
# File lib/simple_facade.rb, line 8 def facade_push(k, v) return if v.nil? || k.nil? || key_exists?(k) @__members__ = nil __subjects__.push([k, v]) end
facade_reverse()
click to toggle source
# File lib/simple_facade.rb, line 42 def facade_reverse @__members__ = nil __subjects__.reverse! end
method_missing(method_name, *attrs, &block)
click to toggle source
Calls superclass method
# File lib/simple_facade.rb, line 47 def method_missing(method_name, *attrs, &block) member = __members__[method_name] return member if member responder = __members__.values.detect { |obj| obj.respond_to?(method_name) } if responder responder.public_send(method_name, *attrs, &block) else super end end
respond_to_missing?(method_name, _include_private = false)
click to toggle source
# File lib/simple_facade.rb, line 58 def respond_to_missing?(method_name, _include_private = false) !__members__[method_name].nil? || __members__.values.any? { |obj| obj.respond_to?(method_name) } end
Private Instance Methods
__members__()
click to toggle source
# File lib/simple_facade.rb, line 68 def __members__ @__members__ ||= __subjects__.to_h end
__subjects__()
click to toggle source
# File lib/simple_facade.rb, line 64 def __subjects__ @__subjects__ ||= [] end
key_exists?(key)
click to toggle source
# File lib/simple_facade.rb, line 72 def key_exists?(key) __members__.keys.include?(key) end