Class: CentralAgent::SaveBoatService

Inherits:
Object
  • Object
show all
Defined in:
app/services/central_agent/save_boat_service.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSaveBoatService

Returns a new instance of SaveBoatService.



6
7
8
# File 'app/services/central_agent/save_boat_service.rb', line 6

def initialize
  _reset_ivars
end

Instance Attribute Details

#boatObject (readonly)

Returns the value of attribute boat.



4
5
6
# File 'app/services/central_agent/save_boat_service.rb', line 4

def boat
  @boat
end

#errorsObject (readonly)

Returns the value of attribute errors.



4
5
6
# File 'app/services/central_agent/save_boat_service.rb', line 4

def errors
  @errors
end

Instance Method Details

#perform(boat_params, cookies, current_user, state: Boat::STATE_PREMODERATED) ⇒ Object

Parameters:

  • boat_params (Hash)
  • cookies (Hash)

    example: “currency”=>“USD”, “dimension”=>“ft”, “volume”=>“liters”, “business”=>“rent”, “language”=>“en”



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/services/central_agent/save_boat_service.rb', line 13

def perform(boat_params, cookies, current_user, state: Boat::STATE_PREMODERATED)
  _reset_ivars

  @schema = ::Schemas::CentralAgent::SaveBoatSchema.new boat_params.dup                                             # проверяем параметры, пришедшие с формы
  unless @schema.valid?
    @errors = @schema.errors.messages
    return false
  end

  if boat_params[:id].present?
    boat = _update_boat(@schema.attributes, cookies)
  else
    boat = _create_boat(@schema.attributes, cookies, current_user, state)
  end

  @boat = boat
  true
end