Sha256: 41e2f301aae6464832120a77767398aa36b76a6291d78624ce191a8bfec6af27

Contents?: true

Size: 761 Bytes

Versions: 4

Compression:

Stored size: 761 Bytes

Contents

class CacheKeyDependencies
  attr_reader :project

  def self.for(*projects)
    projects = projects[0] if projects.length == 1 && projects[0].respond_to?(:each)
    projects.each do |project|
      begin
        self.new(project).perform!
      rescue StandardError => e
        Houston.report_exception(e)
      end
    end
  end

  def initialize(project)
    @project = ProjectDependencies.new(project)
  end

  def perform!
    KeyDependency.all.each do |dependency|
      version = ProjectDependency.new(project, dependency).version
      project.extended_attributes = project.extended_attributes.merge(
        "key_dependency.#{dependency.slug}" => version)
    end
    project.update_column :extended_attributes, project.extended_attributes
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
houston-core-0.6.3 app/interactors/cache_key_dependencies.rb
houston-core-0.6.2 app/interactors/cache_key_dependencies.rb
houston-core-0.6.1 app/interactors/cache_key_dependencies.rb
houston-core-0.6.0 app/interactors/cache_key_dependencies.rb