Sha256: 241c3df6a27f93481da4c86d16d63ef6170573cd441c65e894dc6ee74765456a

Contents?: true

Size: 676 Bytes

Versions: 6

Compression:

Stored size: 676 Bytes

Contents

module Uia
  module Finder
    def find_by_id(id)
      find_by_property(:id, id)
    end

    def find_by_name(name)
      find_by_property(:name, name)
    end

    def find_by_pid(pid)
      Library.find_by_pid(pid)
    end

    def find_by_runtime_id(runtime_id)
      Library.find_by_runtime_id(runtime_id)
    end

    def find_by_handle(handle)
      Library.find_by_handle handle
    end

    private
    def find_by_property(property, what)
      case what
        when String
          Library.send("find_by_#{property}", what)
        when Regexp
          children.find { |e| e.send(property) =~ what }
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
uia-0.0.7.3 lib/uia/finder.rb
uia-0.0.7.2 lib/uia/finder.rb
uia-0.0.7.1 lib/uia/finder.rb
uia-0.0.7 lib/uia/finder.rb
uia-0.0.6.1 lib/uia/finder.rb
uia-0.0.6 lib/uia/finder.rb