Sha256: f79327137f3f704853a4761558afed139d5981671be2c3ee754e4a835d5fecc3

Contents?: true

Size: 1.11 KB

Versions: 159

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

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

module Avm
  module EacRubyBase1
    module Sources
      class Base < ::Avm::EacGenericBase0::Sources::Base
        module Rake
          RAKEFILE_BASENAME = 'Rakefile'
          RAKE_TASKS_LINE_PARSER = /\Arake\s+(\S+)\s+/.to_parser do |m|
            m[1]
          end

          # @return [Avm::EacRubyBase1::Sources::Base::BundleCommand]
          def rake(*args)
            raise "File \"#{rakefile_path}\" does not exist" unless rakefile_path.exist?

            bundle('exec', 'rake', '--rakefile', rakefile_path, *args)
          end

          # @return [Pathname]
          def rakefile_path
            path.join(RAKEFILE_BASENAME)
          end

          # @return [Boolean]
          def rake_task?(task_name)
            rake_tasks.include?(task_name)
          end

          # @return [Array<String>]
          def rake_tasks
            rake('--all', '--tasks').execute!.each_line
              .map { |line| RAKE_TASKS_LINE_PARSER.parse!(line) }
          end
        end
      end
    end
  end
end

Version data entries

159 entries across 159 versions & 2 rubygems

Version Path
avm-eac_ruby_base1-0.35.1 lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.96.1 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
avm-eac_ruby_base1-0.35.0 lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.95.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
avm-eac_ruby_base1-0.34.1 lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.91.1 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
avm-eac_ruby_base1-0.34.0 lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.91.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
avm-eac_ruby_base1-0.33.1 lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.83.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.82.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.81.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
avm-eac_ruby_base1-0.33.0 lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.80.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.79.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
avm-eac_ruby_base1-0.32.1 lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.78.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
avm-eac_ruby_base1-0.32.0 lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.77.1 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb
eac_tools-0.77.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb