Class: Avm::EacRubyBase1::Rubygems::Providers::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/avm/eac_ruby_base1/rubygems/providers/base.rb,
lib/avm/eac_ruby_base1/rubygems/providers/base/command_result_to_push_result.rb

Direct Known Subclasses

Nexus, RubygemsOrg

Defined Under Namespace

Classes: CommandResultToPushResult

Instance Method Summary collapse

Instance Method Details

#gem_versions(gem_name) ⇒ Enumerable<Hash>

Parameters:

  • gem_name (String)

Returns:

  • (Enumerable<Hash>)


19
20
21
# File 'lib/avm/eac_ruby_base1/rubygems/providers/base.rb', line 19

def gem_versions(gem_name)
  raise_abstract __method__, gem_name
end

#push_gem(gem_package_path) ⇒ Avm::EacRubyBase1::Rubygems::Providers::Base::CommandResultToPushResult::RESULT_STRUCT



25
26
27
28
29
30
31
32
33
34
# File 'lib/avm/eac_ruby_base1/rubygems/providers/base.rb', line 25

def push_gem(gem_package_path)
  command_args = push_gem_command_args(gem_package_path)
  command_args = %w[echo] + command_args + %w[(Dry-run)] unless
  ::Avm::Launcher::Context.current.publish_options[:confirm]
  ::EacRubyUtils::Ruby.on_clean_environment do
    command_result_to_push_result(
      EacRubyUtils::Envs.local.command(*command_args).execute
    )
  end
end

#push_gem_command_args(gem_package_path) ⇒ Enumerable<String>

Parameters:

  • gem_package_path (Pathname)

Returns:

  • (Enumerable<String>)


38
39
40
# File 'lib/avm/eac_ruby_base1/rubygems/providers/base.rb', line 38

def push_gem_command_args(gem_package_path)
  raise_abstract __method__, gem_package_path
end

#push_gem_command_exit_codesHash

Returns:

  • (Hash)


43
44
45
46
47
# File 'lib/avm/eac_ruby_base1/rubygems/providers/base.rb', line 43

def push_gem_command_exit_codes
  {
    0 => PUSH_RESULT_TYPE_SUCCESS
  }
end

#to_sString

Returns:

  • (String)


50
51
52
# File 'lib/avm/eac_ruby_base1/rubygems/providers/base.rb', line 50

def to_s
  "#{self.class.name.demodulize}[#{root_http_url}]"
end