Sha256: 1a25f015daf38aec082bfecab62ba604f15410a00f6768561ebe893f4d3b3438

Contents?: true

Size: 1.16 KB

Versions: 11

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'

module Avm
  module EacRubyBase1
    module Sources
      class Update
        require_sub __FILE__
        enable_simple_cache
        enable_speaker
        common_constructor :source do
          perform
        end

        def bundle_update
          infom 'Running "bundle update"...'
          ruby_gem.bundle('update').execute!
          infom 'Running "bundle install"...'
          ruby_gem.bundle('install').execute!
        end

        protected

        def perform
          update_gemfile_lock
          update_subs
        end

        def update_gemfile_lock
          source.scm.commit_if_change(-> { update_gemfile_lock_commit_message }) do
            bundle_update
          end
        end

        def update_gemfile_lock_commit_message
          i18n_translate(__method__, __locale: source.locale)
        end

        def update_subs
          source.subs.each do |sub|
            ::Avm::EacRubyBase1::Sources::Update::SubUpdate.new(self, sub)
          end
        end

        def ruby_gem_uncached
          ::EacRubyGemsUtils::Gem.new(source.path)
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
avm-tools-0.120.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update.rb
avm-eac_ruby_base1-0.7.0 lib/avm/eac_ruby_base1/sources/update.rb
avm-tools-0.119.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update.rb
avm-tools-0.118.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update.rb
avm-eac_ruby_base1-0.6.1 lib/avm/eac_ruby_base1/sources/update.rb
avm-tools-0.117.3 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update.rb
avm-tools-0.117.2 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update.rb
avm-tools-0.117.1 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update.rb
avm-eac_ruby_base1-0.6.0 lib/avm/eac_ruby_base1/sources/update.rb
avm-eac_ruby_base1-0.5.0 lib/avm/eac_ruby_base1/sources/update.rb
avm-tools-0.117.0 sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update.rb