Sha256: 24aaaf3f4b1d0d8a7f17bd1958163539a724a15ca9a56cb26b11f6475a8c089d

Contents?: true

Size: 1.07 KB

Versions: 19

Compression:

Stored size: 1.07 KB

Contents

module PactBroker
  module Client
    module CLI
      class VersionSelectorOptionsParser
        def self.call options
          versions = []
          last_flag = nil
          options.each do | option |
            case option
            when "--pacticipant", "-a"
              versions << {}
            when "--latest", "-l"
              versions << {pacticipant: nil} unless versions.last
              versions.last[:latest] = true
            when /^\-/
              nil
            else
              case last_flag
              when "--pacticipant", "-a"
                versions.last[:pacticipant] = option
              when "--version", "-e"
                versions << {pacticipant: nil} unless versions.last
                versions.last[:version] = option
              when "--latest", "-l"
                versions << {pacticipant: nil} unless versions.last
                versions.last[:tag] = option
              end
            end
            last_flag = option if option.start_with?("-")
          end
          versions
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
pact_broker-client-1.22.3 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.22.2 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.22.1 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.21.0 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.20.0 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.19.0 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.18.0 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.17.0 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.16.2 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.16.1 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.16.0 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.15.1 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.15.0 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.14.1 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.14.0 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.13.1 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.13.0 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.12.0 lib/pact_broker/client/cli/version_selector_options_parser.rb
pact_broker-client-1.11.0 lib/pact_broker/client/cli/version_selector_options_parser.rb