Sha256: 8bb6686b21bba40d6746c2ee71af30f3594e941dad74db9cd319bad6fca9d6ba
Contents?: true
Size: 1.66 KB
Versions: 1
Compression:
Stored size: 1.66 KB
Contents
module Beaker module DSL # These are simple patterns that appear frequently in beaker test # code, and are provided to simplify test construction. # # # It requires the class it is mixed into to provide the attribute # `hosts` which contain the hosts to search, these should implement # {Beaker::Host}'s interface. They, at least, must have #[] # and #to_s available and provide an array when #[]('roles') is called. # module Patterns # Execute a block selecting the hosts that match with the provided criteria # @param [Array<Host>, Host, String, Symbol] hosts_or_filter A host role as a String or Symbol that can be # used to search for a set of Hosts, a host name # as a String that can be used to search for # a set of Hosts, or a {Host} # or Array<{Host}> to run the block against # @param [Block] block This method will yield to a block of code passed by the caller # # @return [Array<Result>, Result] An array of results, or a result object. # Check {#run_block_on} for more details on this. def block_on hosts_or_filter, &block block_hosts = nil if defined? hosts block_hosts = hosts end filter = nil if hosts_or_filter.is_a? String or hosts_or_filter.is_a? Symbol filter = hosts_or_filter else block_hosts = hosts_or_filter end run_block_on block_hosts, filter, &block end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
beaker-2.27.0 | lib/beaker/dsl/patterns.rb |