Sha256: 6ddef5e608bd6a6363a52b1cc67c1d1ca4dda01f6710faab41d27bfbac79e86d

Contents?: true

Size: 763 Bytes

Versions: 6

Compression:

Stored size: 763 Bytes

Contents

require "swa/cli/selector"

module Swa
  module CLI

    module CollectionBehaviour

      def self.included(target)

        target.default_subcommand = "summary"

        target.subcommand ["summary", "s"], "One-line summary" do
          def execute
            collection.each do |i|
              puts i.summary
            end
          end
        end

        target.subcommand ["data", "d"], "Full details" do

          parameter "[QUERY]", "JMESPath expression"

          def execute
            display_data(collection.map(&:data).to_a, query)
          end

        end

      end

      def selector
        context[:selector] ||= Selector.new
      end

      def query_options
        context[:query_options] ||= {}
      end

    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
swa-0.4.4 lib/swa/cli/collection_behaviour.rb
swa-0.4.3 lib/swa/cli/collection_behaviour.rb
swa-0.4.2 lib/swa/cli/collection_behaviour.rb
swa-0.4.1 lib/swa/cli/collection_behaviour.rb
swa-0.4.0 lib/swa/cli/collection_behaviour.rb
swa-0.3.3 lib/swa/cli/collection_behaviour.rb