lib/nexus_cli/remote_factory.rb



require 'httpclient'
require 'yaml'

module NexusCli
  class RemoteFactory 
    class << self
      attr_reader :configuration
      attr_reader :connection

      # Creates a new Nexus Remote that can connect to and communicate with
      # the Nexus server.
      #
      # @param  [Hash] overrides
      # @param  [Boolean] ssl_verify
      # 
      # @return [NexusCli::ProRemote, NexusCli::OSSRemote]
      def create(overrides, ssl_verify=true)
        @configuration = overrides ? Configuration.from_overrides(overrides) : Configuration.from_file
        @connection = Connection.new(configuration, ssl_verify)
        running_nexus_pro? ? ProRemote.new(overrides, ssl_verify) : OSSRemote.new(overrides, ssl_verify)
      end

      private

      def running_nexus_pro?
        return connection.status['edition_long'] == "Professional" ? true : false
      end
    end
  end
end