Sha256: 840ca4333c3c93d7ded08121146ab332ce6e72594e671e3e870b0e07c105e24d

Contents?: true

Size: 1.12 KB

Versions: 7

Compression:

Stored size: 1.12 KB

Contents

module Heirloom
  module CLI
    module Formatter
      class Catalog
        def format(args)
          @catalog = args[:catalog]
          @name    = args[:name]

          return summary unless @name

          return "Heirloom #{@name} not found in catalog." unless name_exists?

          filter_by_name
          details
        end

        private

        def name_exists?
          @catalog.include? @name
        end

        def filter_by_name
          @catalog.select! {|k| @name == k }
        end

        def summary
          @catalog.keys.join "\n"
        end

        def details
          data = @catalog.each_pair.map do |k,v|
            urls = v["regions"].map do |region|
              bucket_prefix = v["bucket_prefix"].first
              "  #{region}-s3-url : s3://#{bucket_prefix}-#{region}/#{k}"
            end

            d = k + "\n"
            d << "  regions          : " + @catalog[k]["regions"].join(", ") + "\n"
            d << "  bucket_prefix    : " + @catalog[k]["bucket_prefix"].first + "\n"
            d << urls.join("\n")
          end
          data.join "\n"
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
heirloom-0.12.1 lib/heirloom/cli/formatter/catalog.rb
heirloom-0.12.0 lib/heirloom/cli/formatter/catalog.rb
heirloom-0.11.2 lib/heirloom/cli/formatter/catalog.rb
heirloom-0.11.1 lib/heirloom/cli/formatter/catalog.rb
heirloom-0.11.0 lib/heirloom/cli/formatter/catalog.rb
heirloom-0.11.0.beta.2 lib/heirloom/cli/formatter/catalog.rb
heirloom-0.11.0.beta.1 lib/heirloom/cli/formatter/catalog.rb