Sha256: 61d573ff7f49502e2263a38ed2fe04a6f64b29a4a446c7c28d927fe5bc0034fa

Contents?: true

Size: 1.89 KB

Versions: 24

Compression:

Stored size: 1.89 KB

Contents

# frozen_string_literal: true

require "dependabot/file_updaters/base"

module Dependabot
  module FileUpdaters
    module Elm
      class ElmPackage < Base
        require_relative "elm_package/elm_package_updater"
        require_relative "elm_package/elm_json_updater"

        def self.updated_files_regex
          [
            /^elm-package\.json$/,
            /^elm\.json$/
          ]
        end

        def updated_dependency_files
          updated_files = []

          elm_package_files.each do |file|
            next unless file_changed?(file)

            updated_files <<
              updated_file(
                file: file,
                content: updated_elm_package_content(file)
              )
          end

          elm_json_files.each do |file|
            next unless file_changed?(file)

            updated_files <<
              updated_file(
                file: file,
                content: updated_elm_json_content(file)
              )
          end

          raise "No files have changed!" if updated_files.none?

          updated_files
        end

        private

        def check_required_files
          return if elm_json_files.any? || elm_package_files.any?

          raise "No elm.json or elm-package.json!"
        end

        def updated_elm_package_content(file)
          ElmPackageUpdater.new(
            dependencies: dependencies,
            elm_package_file: file
          ).updated_elm_package_file_content
        end

        def updated_elm_json_content(file)
          ElmJsonUpdater.new(
            dependencies: dependencies,
            elm_json_file: file
          ).updated_content
        end

        def elm_package_files
          dependency_files.select { |f| f.name.end_with?("elm-package.json") }
        end

        def elm_json_files
          dependency_files.select { |f| f.name.end_with?("elm.json") }
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
dependabot-core-0.81.1 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.81.0 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.80.1 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.80.0 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.79.4 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.79.3 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.79.2 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.79.1 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.79.0 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.78.0 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.77.2 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.77.1 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.77.0 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.76.11 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.76.10 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.76.9 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.76.8 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.76.7 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.76.6 lib/dependabot/file_updaters/elm/elm_package.rb
dependabot-core-0.76.5 lib/dependabot/file_updaters/elm/elm_package.rb