4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'app/repositories/events/rejects_repository.rb', line 4
def self.create(reject_type_id, language_id, params, error_messages, current_user = nil)
raise ArgumentError, '`error_messages` must be String' unless error_messages.class.eql? String
raise ArgumentError, '`params` must be Hash' unless params.class.eql? Hash
raise ArgumentError, '`current_user` должен быть подан, когда создаётся лодка в кабинете' if current_user.nil? && reject_type_id == ::Dicts::RejectType::CREATE_BOAT.id
raise ArgumentError, '`current_user` должен быть подан, когда обновляется лодка в кабинете' if current_user.nil? && reject_type_id == ::Dicts::RejectType::UPDATE_BOAT.id
event = ::Event.new type_id: ::Dicts::EventType::REJECT.id
r_event = ::Events::Reject.new event: event
r_event.reject_type_id = reject_type_id
r_event.language_id = language_id
r_event.params = params.to_json
r_event.error_messages = error_messages
case reject_type_id
when ::Dicts::RejectType::LEASE_INQUIRY.id
r_event.email = params['email']
when ::Dicts::RejectType::LIST_YOR_BOAT.id
r_event.email = params['users_attributes']['0']['email'] rescue ''
when ::Dicts::RejectType::CREATE_BOAT.id
r_event.email = current_user.email
when ::Dicts::RejectType::UPDATE_BOAT.id
r_event.email = current_user.email
else
r_event.email = ''
end
event.transaction do
event.save
r_event.save
end
r_event
end
|