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/update.rb,
lib/avm/eac_ruby_base1/sources/base/bundler.rb,
lib/avm/eac_ruby_base1/sources/base/rubocop.rb,
lib/avm/eac_ruby_base1/sources/base/version.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,
lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb

Defined Under Namespace

Modules: Bundler, Rake, Rubocop, Rubygems, Update, Version, VersionBump Classes: BundleCommand, RubocopCommand

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>)


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

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)


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

def env
  @env.presence || super
end

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

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



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

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)


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

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

#ruby_parentAvm::EacRubyBase1::Source::Base

Returns:

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


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

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

#valid?Boolean

Returns:

  • (Boolean)


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

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