Sha256: fd4e472b3750756d089f728f326ce10f03c5b501a670d4d22a7faefba69ca290

Contents?: true

Size: 561 Bytes

Versions: 2

Compression:

Stored size: 561 Bytes

Contents

module ForestLiana
  class BelongsToUpdater
    def initialize(resource, association, params)
      @resource = resource
      @association = association
      @params = params
      @data = params['data']
    end

    def perform
      @record = @resource.find(@params[:id])

      if @data && @data[:id]
        new_value = @association.klass.find(@data[:id]) if @data && @data[:id]
        @record.send("#{@association.name}=", new_value)
      else
        @record.send("#{@association.foreign_key}=", nil)
      end

      @record.save()
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
forest_liana-1.3.42 app/services/forest_liana/belongs_to_updater.rb
forest_liana-1.3.41 app/services/forest_liana/belongs_to_updater.rb