Sha256: e7ff10d36ee55f27da87e0992199c8693332e38c2eb66daec3d1c924fad0f140

Contents?: true

Size: 1.87 KB

Versions: 51

Compression:

Stored size: 1.87 KB

Contents

# frozen_string_literal: true

require 'avm/eac_ruby_base1/sources/base'
require 'eac_ruby_utils/core_ext'

module Avm
  module EacRedminePluginBase0
    module Sources
      class Base < ::Avm::EacRubyBase1::Sources::Base
        DEFAULT_GEMFILE_PATH = 'SelfGemfile'
        RUBOCOP_GEM_NAME = 'rubocop'
        RUBOCOP_TEST_NAME = 'rubocop'
        PARENT_RAKE_TASK_TEST_NAME = 'parent_rake_task'
        INIT_SUBPATH = 'init.rb'

        # @return [String]
        def default_gemfile_path
          DEFAULT_GEMFILE_PATH
        end

        # @return [Hash<String, EacRubyUtils::Envs::Command>]
        def default_test_commands
          r = {}
          r[PARENT_RAKE_TASK_TEST_NAME] = parent_rake_test_command if parent_rake_test_command?
          r[RUBOCOP_TEST_NAME] = rubocop_test_command if rubocop_test_command?
          r
        end

        # @return [String]
        def init_path
          path.join(INIT_SUBPATH)
        end

        # @return [String]
        def parent_rake_test_task_name
          [gem_name, 'test'].map(&:variableize).join(':')
        end

        # @return [Boolean]
        def parent_rake_test_command?
          ruby_parent.rake_task?(parent_rake_test_task_name)
        end

        # @return [EacRubyUtils::Envs::Command]
        def parent_rake_test_command
          ruby_parent.rake(parent_rake_test_task_name).chdir_root.envvar('RAILS_ENV', 'test')
        end

        # @return [EacRubyUtils::Envs::Command]
        def rubocop_test_command
          bundle('exec', 'rubocop', '--ignore-parent-exclusion')
            .envvar('RAILS_ENV', 'test')
            .chdir_root
        end

        # @return [Boolean]
        def rubocop_test_command?
          gemfile_path.exist? && gemfile_lock_gem_version(RUBOCOP_GEM_NAME).present?
        end

        # @return [Boolean]
        def valid?
          init_path.exist?
        end
      end
    end
  end
end

Version data entries

51 entries across 51 versions & 2 rubygems

Version Path
eac_tools-0.45.2 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.45.1 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.45.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.44.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.43.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.42.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.41.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.40.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.39.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.38.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.37.2 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.37.1 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.37.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.36.1 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.36.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.35.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.34.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.33.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.32.0 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb
eac_tools-0.31.1 sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb