Class: Renalware::PD::ReviseRegime

Inherits:
Object
  • Object
show all
Defined in:
app/models/renalware/pd/revise_regime.rb

Instance Method Summary collapse

Constructor Details

#initialize(regime) ⇒ ReviseRegime

Returns a new instance of ReviseRegime.



10
11
12
# File 'app/models/renalware/pd/revise_regime.rb', line 10

def initialize(regime)
  @regime = regime
end

Instance Method Details

#call(by:, params:) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/models/renalware/pd/revise_regime.rb', line 14

def call(by:, params:)
  Regime.transaction do
    regime.assign_attributes(params)
    return ::Renalware::Success.new(regime) unless regime.anything_changed?
    unless regime.valid?
      return ::Renalware::Failure.new(regime.with_bag_destruction_marks_removed)
    end

    new_regime = revise_regime(by: by)
    ::Renalware::Success.new(new_regime)
  end
end