summaryrefslogtreecommitdiff
path: root/lib/reline/key_actor/composite.rb
blob: 37e94ce6cf0818c2a85cf83cd5da02e01a645fda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Reline::KeyActor::Composite
  def initialize(key_actors)
    @key_actors = key_actors
  end

  def matching?(key)
    @key_actors.any? { |key_actor| key_actor.matching?(key) }
  end

  def get(key)
    @key_actors.each do |key_actor|
      func = key_actor.get(key)
      return func if func
    end
    nil
  end
end