Class: Avm::EacRubyBase1::Sources::Base

Inherits:
Avm::EacGenericBase0::Sources::Base
  • Object
show all
Includes:
EacRubyUtils::Listable
Defined in:
lib/avm/eac_ruby_base1/sources/base.rb,
lib/avm/eac_ruby_base1/sources/base/rake.rb,
lib/avm/eac_ruby_base1/sources/tests/base.rb,
lib/avm/eac_ruby_base1/sources/base/bundler.rb,
lib/avm/eac_ruby_base1/sources/base/rubygems.rb,
lib/avm/eac_ruby_base1/sources/base/version_bump.rb,
lib/avm/eac_ruby_base1/sources/base/bundle_command.rb

Defined Under Namespace

Modules: Bundler, Rake, Rubygems, VersionBump Classes: BundleCommand

Constant Summary collapse

RSPEC_TEST_COMMAND =
'rspec'

Instance Method Summary collapse

Instance Method Details

#default_test_commandsHash<String, EacRubyUtils::Envs::Command>

Returns:

  • (Hash<String, EacRubyUtils::Envs::Command>)


19
20
21
22
23
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 19

def default_test_commands
  {
    RSPEC_TEST_COMMAND => rspec_test_command
  }
end

#dependency_present?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/avm/eac_ruby_base1/sources/tests/base.rb', line 22

def dependency_present?
  gem.gemfile_path.exist? && gem.gemfile_lock_gem_version(dependency_gem).present?
end

#elegible?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/avm/eac_ruby_base1/sources/tests/base.rb', line 18

def elegible?
  dependency_present? && gem.root.join(test_directory).exist?
end

#envEacRubyUtils::Envs::BaseEnv

To-do: dismiss this method at Avm::EacRailsBase1::Instance and remove.

Returns:

  • (EacRubyUtils::Envs::BaseEnv)


27
28
29
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 27

def env
  @env.presence || super
end

#env_set(env) ⇒ Avm::EacRubyBase1::Sources::Base

To-do: dismiss this method at Avm::EacRailsBase1::Instance and remove.



33
34
35
36
37
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 33

def env_set(env)
  @env = env

  self
end

#nameObject



26
27
28
# File 'lib/avm/eac_ruby_base1/sources/tests/base.rb', line 26

def name
  self.class.name.demodulize.gsub(/Test\z/, '')
end

#rspec_test_commandEacRubyUtils::Envs::Command

Returns:

  • (EacRubyUtils::Envs::Command)


52
53
54
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 52

def rspec_test_command
  bundle('exec', 'rspec', '--fail-fast').chdir_root
end

#ruby_parentAvm::EacRubyBase1::Source::Base

Returns:

  • (Avm::EacRubyBase1::Source::Base)


40
41
42
43
44
45
46
47
48
49
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 40

def ruby_parent
  a_parent = parent

  loop do
    raise 'No Ruby parent found' if a_parent.blank?
    return a_parent if a_parent.is_a?(::Avm::EacRubyBase1::Sources::Base)

    a_parent = a_parent.parent
  end
end

#to_sObject



30
31
32
# File 'lib/avm/eac_ruby_base1/sources/tests/base.rb', line 30

def to_s
  "#{gem}[#{name}]"
end

#updateObject



60
61
62
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 60

def update
  ::Avm::EacRubyBase1::Sources::Update.new(self)
end

#valid?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 56

def valid?
  gemfile_path.exist? || gemspec_path.present?
end

#versionAvm::VersionNumber

Returns:

  • (Avm::VersionNumber)


65
66
67
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 65

def version
  version_file.value.if_present { |v| ::Avm::VersionNumber.new(v) }
end

#version=(value) ⇒ Object



69
70
71
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 69

def version=(value)
  version_file.value = value
end

#version_fileAvm::EacRubyBase1::Rubygems::VersionFile



74
75
76
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 74

def version_file
  ::Avm::EacRubyBase1::Rubygems::VersionFile.new(version_file_path)
end

#version_file_pathObject



78
79
80
# File 'lib/avm/eac_ruby_base1/sources/base.rb', line 78

def version_file_path
  path.join('lib', *gem_namespace_parts, 'version.rb')
end