Class: ServiceTrack::CreateRotura

Inherits:
Object
  • Object
show all
Defined in:
lib/service_track/create_rotura.rb

Instance Method Summary collapse

Constructor Details

#initialize(opts) ⇒ CreateRotura

Returns a new instance of CreateRotura.



3
4
5
6
7
8
# File 'lib/service_track/create_rotura.rb', line 3

def initialize(opts)
  opts.each_pair { |k, v| instance_variable_set("@#{k}", v) }
  @opts = opts

  @cantidad = 1 # de momento ?
end

Instance Method Details

#create_rotura_vidriosObject



38
39
40
# File 'lib/service_track/create_rotura.rb', line 38

def create_rotura_vidrios
  ServiceTrack::NuevaRotura.new(@opts).save
end

#dominoObject



32
33
34
35
36
# File 'lib/service_track/create_rotura.rb', line 32

def domino
  @elementos_y_prd_tracks.each do |eypt|
    Tracking::PrdIniTrack.find_by(linea_item: @item_medida, elemento_id: eypt[:elemento].id).domino
  end
end

#saveObject



12
13
14
15
16
17
18
19
20
# File 'lib/service_track/create_rotura.rb', line 12

def save 
  ActiveRecord::Base.transaction do
    update_roturas
    update_retrabajos
    domino
    create_rotura_vidrios
    # comprobar coherencia?
  end
end

#update_retrabajosObject



28
29
30
# File 'lib/service_track/create_rotura.rb', line 28

def update_retrabajos
  ServiceTrack::UpdateRetrabajos.new(@elementos_y_prd_tracks, @item_medida, @cantidad).start()
end

#update_roturasObject



22
23
24
25
26
# File 'lib/service_track/create_rotura.rb', line 22

def update_roturas
  @elementos_y_prd_tracks.each do |eypt|
    eypt[:prd_track].cargar_rotura(@cantidad, @current_user)
  end
end