Sha256: 8240432c778c2c388c288e5996fce9c962e5110f707f649fc96a493355aaf4a7

Contents?: true

Size: 1.32 KB

Versions: 2

Compression:

Stored size: 1.32 KB

Contents

module ConfCtl::Cli
  module Swpins::Utils
    def cluster_name_list(pattern)
      ConfCtl::Swpins::ClusterNameList.new(pattern:)
    end

    def each_cluster_name(cn_pattern)
      cluster_name_list(cn_pattern).each do |cn|
        cn.parse
        yield(cn)
      end
    end

    def each_cluster_name_spec(cn_pattern, sw_pattern)
      each_cluster_name(cn_pattern) do |cn|
        cn.specs.each do |name, spec|
          yield(cn, spec) if ConfCtl::Pattern.match?(sw_pattern, name)
        end
      end
    end

    def channel_list(pattern)
      ConfCtl::Swpins::ChannelList.pattern(pattern)
    end

    def each_channel(chan_pattern)
      channel_list(chan_pattern).each do |chan|
        chan.parse
        yield(chan)
      end
    end

    def each_channel_spec(chan_pattern, sw_pattern)
      each_channel(chan_pattern) do |chan|
        chan.specs.each do |name, spec|
          yield(chan, spec) if ConfCtl::Pattern.match?(sw_pattern, name)
        end
      end
    end

    def spec_set_msg(parent, spec)
      $stdout.write("Configuring #{spec.name} in #{parent.name}")
      $stdout.flush
      yield
      puts " -> #{spec.version}"
    end

    def spec_update_msg(parent, spec)
      $stdout.write("Updating #{spec.name} in #{parent.name}")
      $stdout.flush
      yield
      puts " -> #{spec.version}"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
confctl-2.0.0 lib/confctl/cli/swpins/utils.rb
confctl-1.0.0 lib/confctl/cli/swpins/utils.rb