Sha256: 3e8c6e62c7248e5dd5416781c3e646f108abeaf646aafd89aa5fabca0f1cdad3

Contents?: true

Size: 571 Bytes

Versions: 21

Compression:

Stored size: 571 Bytes

Contents

class ClarkKent::ReportsController::UpdateReport
  def initialize(report, params)
    @report, @params = report, params
  end

  def call
    @report.assign_attributes(@params)
    validate_resource_type or return false
    @report.save
  end

  def validate_resource_type
    if @report.report_columns.any? || @report.report_filters.any?
      if @report.changes.keys.include? 'resource_type'
        @report.errors[:resource_type] << "You can't change the type of report after adding columns or filters."
        return false
      end
    end
    return true
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
clark_kent-0.11.3 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.11.2 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.11.1 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.11.0 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.10.4 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.10.2 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.10.1 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.10.0 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.9.9 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.9.8 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.9.7 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.9.6 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.9.5 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.9.4 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.9.2 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.9.1 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.9.0 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.8.11 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.8.10 app/interactions/clark_kent/reports_controller/update_report.rb
clark_kent-0.8.9 app/interactions/clark_kent/reports_controller/update_report.rb