c80_shared 0.1.38 → 0.1.39
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/dicts/boat_type.rb +1 -0
- data/app/serializers/boat_serializer.rb +98 -267
- data/lib/c80_shared/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d59448f06caa5565bd1789750343b0f14d15473d164ffbe47d8950e0927c75b8
|
4
|
+
data.tar.gz: 92ecb6ca525b561ea10b69c0bcde1e5b361e8a973b29bc6c237c9ee6bd443742
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7dbbb0f5cf2c6ce18bf170cf305e9ef710ae04f8fcc55886bc3b33a1ea3db65e3272c5b8b725c39414a39ce8ccf1171a2acc202405a95a7f14ef3bd2ff671c6
|
7
|
+
data.tar.gz: c87b8bba8dd1a9de71d7809a412eb877e796427f0827d003fb116d21c68a011a4f35b7ec1358885048ffa73ebdc486097721c8c1cf350fbad4c139d212de5b68
|
data/app/dicts/boat_type.rb
CHANGED
@@ -5,18 +5,12 @@ class BoatSerializer < AbstractSerializer
|
|
5
5
|
%i[
|
6
6
|
boat_beam
|
7
7
|
boat_beam_metrics
|
8
|
-
boat_beam_metrics_ft
|
9
|
-
boat_beam_metrics_meters
|
10
8
|
boat_contacts
|
11
9
|
boat_draft
|
12
10
|
boat_draft_metrics
|
13
|
-
boat_draft_metrics_ft
|
14
|
-
boat_draft_metrics_meters
|
15
11
|
boat_hull_id
|
16
12
|
boat_length
|
17
13
|
boat_length_metrics
|
18
|
-
boat_length_metrics_ft
|
19
|
-
boat_length_metrics_meters
|
20
14
|
boat_model
|
21
15
|
boat_photos
|
22
16
|
boat_type
|
@@ -24,9 +18,13 @@ class BoatSerializer < AbstractSerializer
|
|
24
18
|
builder
|
25
19
|
built_year
|
26
20
|
crew_total
|
21
|
+
crew_cabins
|
27
22
|
description
|
28
23
|
exterior_color
|
24
|
+
equipment
|
29
25
|
guest_cabins
|
26
|
+
guest_heads
|
27
|
+
guest_sleeps
|
30
28
|
guests_total
|
31
29
|
hull_material
|
32
30
|
id
|
@@ -34,6 +32,7 @@ class BoatSerializer < AbstractSerializer
|
|
34
32
|
latitude
|
35
33
|
location_address
|
36
34
|
longitude
|
35
|
+
maximum_guests_during_cruise
|
37
36
|
main_boat_photo_id
|
38
37
|
motor
|
39
38
|
motor_id
|
@@ -47,6 +46,7 @@ class BoatSerializer < AbstractSerializer
|
|
47
46
|
sale_price
|
48
47
|
short_description
|
49
48
|
state
|
49
|
+
toys
|
50
50
|
visits_today
|
51
51
|
visits_total
|
52
52
|
].freeze
|
@@ -68,16 +68,76 @@ class BoatSerializer < AbstractSerializer
|
|
68
68
|
result
|
69
69
|
end
|
70
70
|
|
71
|
-
|
72
|
-
|
71
|
+
# определяем "простые" методы
|
72
|
+
%i[id comments tender name description built_year boat_model location_address latitude longitude boat_type_id boat_hull_id refit_year
|
73
|
+
crew_cabins crew_total guest_heads guest_sleeps maximum_guests_during_cruise interior_designer
|
74
|
+
naval_architect guests_total guest_cabins state visits_today visits_total].each do |f|
|
75
|
+
define_method f do |boat|
|
76
|
+
{ f => boat.send(f) }
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def toys_attributes
|
81
|
+
%i[
|
82
|
+
banana
|
83
|
+
beach_kids_toys
|
84
|
+
donut
|
85
|
+
exercise_equipment
|
86
|
+
fishing_gear
|
87
|
+
flyboard
|
88
|
+
inflatable_sailboat
|
89
|
+
jet_ski
|
90
|
+
kayak
|
91
|
+
kneeboard
|
92
|
+
paddle_boards
|
93
|
+
sailing_boat
|
94
|
+
scuba_tanks
|
95
|
+
skiboard
|
96
|
+
snorkelling_gear
|
97
|
+
stand_up_jet_ski
|
98
|
+
underwater_gear
|
99
|
+
wakeboard
|
100
|
+
water_ski
|
101
|
+
windsurfing_board
|
102
|
+
].freeze
|
73
103
|
end
|
74
104
|
|
75
|
-
def
|
76
|
-
{
|
105
|
+
def toys(boat)
|
106
|
+
{
|
107
|
+
toys: toys_attributes.map do |f|
|
108
|
+
[f, boat.send(f)]
|
109
|
+
end.to_h
|
110
|
+
}
|
77
111
|
end
|
78
112
|
|
79
|
-
def
|
80
|
-
|
113
|
+
def equipment_attributes
|
114
|
+
%i[
|
115
|
+
apple_tv
|
116
|
+
autopilot
|
117
|
+
cd_player
|
118
|
+
chartplotter
|
119
|
+
cockpit_loudspeakers
|
120
|
+
entertainment
|
121
|
+
excellent_sound_system
|
122
|
+
gps
|
123
|
+
internet
|
124
|
+
lcd_tv
|
125
|
+
navigation
|
126
|
+
radar
|
127
|
+
satellite_internet
|
128
|
+
satellite_phone
|
129
|
+
tv
|
130
|
+
vhf
|
131
|
+
wi_fi
|
132
|
+
]
|
133
|
+
end
|
134
|
+
|
135
|
+
def equipment(boat)
|
136
|
+
{
|
137
|
+
equipment: equipment_attributes.map do |f|
|
138
|
+
[f, boat.send(f)]
|
139
|
+
end.to_h
|
140
|
+
}
|
81
141
|
end
|
82
142
|
|
83
143
|
# noinspection RubyResolve
|
@@ -91,10 +151,6 @@ class BoatSerializer < AbstractSerializer
|
|
91
151
|
{ picture_medium_url: url }
|
92
152
|
end
|
93
153
|
|
94
|
-
def name(boat)
|
95
|
-
{ name: boat.name }
|
96
|
-
end
|
97
|
-
|
98
154
|
def motor(boat)
|
99
155
|
m = ::Dicts::Motor.find boat.motor
|
100
156
|
{
|
@@ -117,10 +173,6 @@ class BoatSerializer < AbstractSerializer
|
|
117
173
|
{ builder: boat.builder&.strip }
|
118
174
|
end
|
119
175
|
|
120
|
-
def description(boat)
|
121
|
-
{ description: boat.description }
|
122
|
-
end
|
123
|
-
|
124
176
|
def short_description(boat)
|
125
177
|
attr = 'short_description_%s' % @opts[:locale]
|
126
178
|
value = boat.send(attr.to_sym)
|
@@ -168,14 +220,6 @@ class BoatSerializer < AbstractSerializer
|
|
168
220
|
# { price_discount: value }
|
169
221
|
# end
|
170
222
|
|
171
|
-
def guests_total(boat)
|
172
|
-
{ guests_total: boat.guests_total }
|
173
|
-
end
|
174
|
-
|
175
|
-
def guest_cabins(boat)
|
176
|
-
{ guest_cabins: boat.guest_cabins }
|
177
|
-
end
|
178
|
-
|
179
223
|
def hull_material(boat)
|
180
224
|
hm = ::Dicts::HullMaterial.find boat.hull_material
|
181
225
|
{
|
@@ -196,39 +240,6 @@ class BoatSerializer < AbstractSerializer
|
|
196
240
|
}
|
197
241
|
end
|
198
242
|
|
199
|
-
def crew_total(boat)
|
200
|
-
{ crew_total: boat.crew_total }
|
201
|
-
end
|
202
|
-
|
203
|
-
def built_year(boat)
|
204
|
-
{ built_year: boat.built_year }
|
205
|
-
end
|
206
|
-
|
207
|
-
def refit_year(boat)
|
208
|
-
value = boat.refit_year
|
209
|
-
{ refit_year: value }
|
210
|
-
end
|
211
|
-
|
212
|
-
def boat_model(boat)
|
213
|
-
{ boat_model: boat.boat_model }
|
214
|
-
end
|
215
|
-
|
216
|
-
def location_address(boat)
|
217
|
-
{ location_address: boat.location_address }
|
218
|
-
end
|
219
|
-
|
220
|
-
def latitude(boat)
|
221
|
-
{ latitude: boat.latitude }
|
222
|
-
end
|
223
|
-
|
224
|
-
def longitude(boat)
|
225
|
-
{ longitude: boat.longitude }
|
226
|
-
end
|
227
|
-
|
228
|
-
def boat_type_id(boat)
|
229
|
-
{ boat_type_id: boat.boat_type_id }
|
230
|
-
end
|
231
|
-
|
232
243
|
def boat_type(boat)
|
233
244
|
{
|
234
245
|
boat_type: {
|
@@ -238,6 +249,27 @@ class BoatSerializer < AbstractSerializer
|
|
238
249
|
}
|
239
250
|
end
|
240
251
|
|
252
|
+
# для формы редактирования в кабинете агента
|
253
|
+
def boat_beam_metrics(boat)
|
254
|
+
{
|
255
|
+
boat_beam_metrics: {
|
256
|
+
value: boat.send('boat_beam_metrics_%s' % @opts[:uol]),
|
257
|
+
uol: @opts[:uol]
|
258
|
+
}
|
259
|
+
}
|
260
|
+
end
|
261
|
+
|
262
|
+
# для формы редактирования в кабинете агента
|
263
|
+
def boat_draft_metrics(boat)
|
264
|
+
{
|
265
|
+
boat_draft_metrics: {
|
266
|
+
value: boat.send('boat_draft_metrics_%s' % @opts[:uol]),
|
267
|
+
uol: @opts[:uol]
|
268
|
+
}
|
269
|
+
}
|
270
|
+
end
|
271
|
+
|
272
|
+
# используется в списке лодок агента, в preview-блоке на сайте
|
241
273
|
def boat_length(boat)
|
242
274
|
{
|
243
275
|
boat_length: {
|
@@ -247,13 +279,12 @@ class BoatSerializer < AbstractSerializer
|
|
247
279
|
}
|
248
280
|
end
|
249
281
|
|
250
|
-
#
|
282
|
+
# для формы редактирования в кабинете агента
|
283
|
+
def boat_length_metrics(boat)
|
284
|
+
{ boat_length_metrics: boat_length(boat)[:boat_length] }
|
285
|
+
end
|
251
286
|
|
252
|
-
#
|
253
|
-
# def boat_length_metrics(boat)
|
254
|
-
# value = ::Lib::Boats::Dimensions.boatlength(boat, @opts[:uol])
|
255
|
-
# { boat_length_metrics: value }
|
256
|
-
# end
|
287
|
+
# [bcff00da] : вся подобная логика переезжает во фронт, переделано должно быть по образу `def boat_length`
|
257
288
|
|
258
289
|
# TODO:: [bcff00da] УДАЛИТЬ - пока используется при обновлении/создании лодки в админке
|
259
290
|
def boat_length_metrics_meters(boat)
|
@@ -265,42 +296,6 @@ class BoatSerializer < AbstractSerializer
|
|
265
296
|
{ boat_length_metrics_ft: boat.boat_length_metrics_ft }
|
266
297
|
end
|
267
298
|
|
268
|
-
# TODO:: [bcff00da] УДАЛИТЬ
|
269
|
-
# def boat_beam_metrics(boat)
|
270
|
-
# value = ::Lib::Boats::Dimensions.boatbeam(boat, @opts[:uol])
|
271
|
-
# { boat_beam_metrics: value }
|
272
|
-
# end
|
273
|
-
|
274
|
-
# TODO:: [bcff00da] УДАЛИТЬ
|
275
|
-
# def boat_beam_metrics_ft(boat)
|
276
|
-
# { boat_beam_metrics_ft: boat.boat_beam_metrics_ft }
|
277
|
-
# end
|
278
|
-
|
279
|
-
# TODO:: [bcff00da] УДАЛИТЬ
|
280
|
-
# def boat_beam_metrics_meters(boat)
|
281
|
-
# { boat_beam_metrics_meters: boat.boat_beam_metrics_meters }
|
282
|
-
# end
|
283
|
-
|
284
|
-
# TODO:: [bcff00da] УДАЛИТЬ
|
285
|
-
# def boat_draft_metrics(boat)
|
286
|
-
# value = ::Lib::Boats::Dimensions.boatdraft(boat, @opts[:uol])
|
287
|
-
# { boat_draft_metrics: value }
|
288
|
-
# end
|
289
|
-
|
290
|
-
# TODO:: [bcff00da] УДАЛИТЬ
|
291
|
-
# def boat_draft_metrics_ft(boat)
|
292
|
-
# { boat_draft_metrics_ft: boat.boat_draft_metrics_ft }
|
293
|
-
# end
|
294
|
-
|
295
|
-
# TODO:: [bcff00da] УДАЛИТЬ
|
296
|
-
# def boat_draft_metrics_meters(boat)
|
297
|
-
# { boat_draft_metrics_meters: boat.boat_draft_metrics_meters }
|
298
|
-
# end
|
299
|
-
|
300
|
-
def boat_hull_id(boat)
|
301
|
-
{ boat_hull_id: boat.boat_hull_id }
|
302
|
-
end
|
303
|
-
|
304
299
|
def prices(boat)
|
305
300
|
currency_id = ::Dicts::Currency.find_by_index(@opts[:currency]).id
|
306
301
|
business = ::Dicts::Business.find_by_index @opts[:business]
|
@@ -342,162 +337,6 @@ class BoatSerializer < AbstractSerializer
|
|
342
337
|
}
|
343
338
|
end
|
344
339
|
|
345
|
-
# --[low]-----------------------------------------------------------------------------------------------------------
|
346
|
-
|
347
|
-
# def charter_1_hour_low_usd(boat)
|
348
|
-
# { charter_1_hour_low_usd: boat.charter_1_hour_low_usd }
|
349
|
-
# end
|
350
|
-
#
|
351
|
-
# def charter_1_hour_low_rub(boat)
|
352
|
-
# { charter_1_hour_low_rub: boat.charter_1_hour_low_rub }
|
353
|
-
# end
|
354
|
-
#
|
355
|
-
# def charter_1_hour_low_eur(boat)
|
356
|
-
# { charter_1_hour_low_eur: boat.charter_1_hour_low_eur }
|
357
|
-
# end
|
358
|
-
#
|
359
|
-
# def charter_1_day_low_usd(boat)
|
360
|
-
# { charter_1_day_low_usd: boat.charter_1_day_low_usd }
|
361
|
-
# end
|
362
|
-
#
|
363
|
-
# def charter_1_day_low_rub(boat)
|
364
|
-
# { charter_1_day_low_rub: boat.charter_1_day_low_rub }
|
365
|
-
# end
|
366
|
-
#
|
367
|
-
# def charter_1_day_low_eur(boat)
|
368
|
-
# { charter_1_day_low_eur: boat.charter_1_day_low_eur }
|
369
|
-
# end
|
370
|
-
#
|
371
|
-
# def charter_1_week_low_usd(boat)
|
372
|
-
# { charter_1_week_low_usd: boat.charter_1_week_low_usd }
|
373
|
-
# end
|
374
|
-
#
|
375
|
-
# def charter_1_week_low_rub(boat)
|
376
|
-
# { charter_1_week_low_rub: boat.charter_1_week_low_rub }
|
377
|
-
# end
|
378
|
-
#
|
379
|
-
# def charter_1_week_low_eur(boat)
|
380
|
-
# { charter_1_week_low_eur: boat.charter_1_week_low_eur }
|
381
|
-
# end
|
382
|
-
#
|
383
|
-
# def charter_1_month_low_usd(boat)
|
384
|
-
# { charter_1_month_low_usd: boat.charter_1_month_low_usd }
|
385
|
-
# end
|
386
|
-
#
|
387
|
-
# def charter_1_month_low_rub(boat)
|
388
|
-
# { charter_1_month_low_rub: boat.charter_1_month_low_rub }
|
389
|
-
# end
|
390
|
-
#
|
391
|
-
# def charter_1_month_low_eur(boat)
|
392
|
-
# { charter_1_month_low_eur: boat.charter_1_month_low_eur }
|
393
|
-
# end
|
394
|
-
|
395
|
-
# --[high]-----------------------------------------------------------------------------------------------------------
|
396
|
-
|
397
|
-
# def charter_1_hour_high_usd(boat)
|
398
|
-
# { charter_1_hour_high_usd: boat.charter_1_hour_high_usd }
|
399
|
-
# end
|
400
|
-
#
|
401
|
-
# def charter_1_hour_high_rub(boat)
|
402
|
-
# { charter_1_hour_high_rub: boat.charter_1_hour_high_rub }
|
403
|
-
# end
|
404
|
-
#
|
405
|
-
# def charter_1_hour_high_eur(boat)
|
406
|
-
# { charter_1_hour_high_eur: boat.charter_1_hour_high_eur }
|
407
|
-
# end
|
408
|
-
#
|
409
|
-
# def charter_1_day_high_usd(boat)
|
410
|
-
# { charter_1_day_high_usd: boat.charter_1_day_high_usd }
|
411
|
-
# end
|
412
|
-
#
|
413
|
-
# def charter_1_day_high_rub(boat)
|
414
|
-
# { charter_1_day_high_rub: boat.charter_1_day_high_rub }
|
415
|
-
# end
|
416
|
-
#
|
417
|
-
# def charter_1_day_high_eur(boat)
|
418
|
-
# { charter_1_day_high_eur: boat.charter_1_day_high_eur }
|
419
|
-
# end
|
420
|
-
#
|
421
|
-
# def charter_1_week_high_usd(boat)
|
422
|
-
# { charter_1_week_high_usd: boat.charter_1_week_high_usd }
|
423
|
-
# end
|
424
|
-
#
|
425
|
-
# def charter_1_week_high_rub(boat)
|
426
|
-
# { charter_1_week_high_rub: boat.charter_1_week_high_rub }
|
427
|
-
# end
|
428
|
-
#
|
429
|
-
# def charter_1_week_high_eur(boat)
|
430
|
-
# { charter_1_week_high_eur: boat.charter_1_week_high_eur }
|
431
|
-
# end
|
432
|
-
#
|
433
|
-
# def charter_1_month_high_usd(boat)
|
434
|
-
# { charter_1_month_high_usd: boat.charter_1_month_high_usd }
|
435
|
-
# end
|
436
|
-
#
|
437
|
-
# def charter_1_month_high_rub(boat)
|
438
|
-
# { charter_1_month_high_rub: boat.charter_1_month_high_rub }
|
439
|
-
# end
|
440
|
-
#
|
441
|
-
# def charter_1_month_high_eur(boat)
|
442
|
-
# { charter_1_month_high_eur: boat.charter_1_month_high_eur }
|
443
|
-
# end
|
444
|
-
|
445
|
-
# --[sale]----------------------------------------------------------------------------------------------------------
|
446
|
-
|
447
|
-
# def sale_price_usd(boat)
|
448
|
-
# { sale_price_usd: boat.sale_price_usd }
|
449
|
-
# end
|
450
|
-
#
|
451
|
-
# def sale_price_rub(boat)
|
452
|
-
# { sale_price_rub: boat.sale_price_rub }
|
453
|
-
# end
|
454
|
-
#
|
455
|
-
# def sale_price_eur(boat)
|
456
|
-
# { sale_price_eur: boat.sale_price_eur }
|
457
|
-
# end
|
458
|
-
|
459
|
-
# --[discount]------------------------------------------------------------------------------------------------------
|
460
|
-
|
461
|
-
# def charter_1_day_high_discount(boat)
|
462
|
-
# { charter_1_day_high_discount: boat.charter_1_day_high_discount }
|
463
|
-
# end
|
464
|
-
#
|
465
|
-
# def charter_1_day_low_discount(boat)
|
466
|
-
# { charter_1_day_low_discount: boat.charter_1_day_low_discount }
|
467
|
-
# end
|
468
|
-
#
|
469
|
-
# def charter_1_hour_high_discount(boat)
|
470
|
-
# { charter_1_hour_high_discount: boat.charter_1_hour_high_discount }
|
471
|
-
# end
|
472
|
-
#
|
473
|
-
# def charter_1_hour_low_discount(boat)
|
474
|
-
# { charter_1_hour_low_discount: boat.charter_1_hour_low_discount }
|
475
|
-
# end
|
476
|
-
#
|
477
|
-
# def charter_1_month_high_discount(boat)
|
478
|
-
# { charter_1_month_high_discount: boat.charter_1_month_high_discount }
|
479
|
-
# end
|
480
|
-
#
|
481
|
-
# def charter_1_month_low_discount(boat)
|
482
|
-
# { charter_1_month_low_discount: boat.charter_1_month_low_discount }
|
483
|
-
# end
|
484
|
-
#
|
485
|
-
# def charter_1_week_high_discount(boat)
|
486
|
-
# { charter_1_week_high_discount: boat.charter_1_week_high_discount }
|
487
|
-
# end
|
488
|
-
#
|
489
|
-
# def charter_1_week_low_discount(boat)
|
490
|
-
# { charter_1_week_low_discount: boat.charter_1_week_low_discount }
|
491
|
-
# end
|
492
|
-
|
493
|
-
# def sale_price_discount(boat)
|
494
|
-
# { sale_price_discount: boat.sale_price_discount }
|
495
|
-
# end
|
496
|
-
|
497
|
-
def state(boat)
|
498
|
-
{ state: boat.state }
|
499
|
-
end
|
500
|
-
|
501
340
|
def boat_photos(boat)
|
502
341
|
# FIXME:: выяснить, нужно ли всётаки использовать .gsub('\'', ''') для строк с путями к фоткам?
|
503
342
|
boat_photos = boat.boat_photos.map do |boat_photo|
|
@@ -521,14 +360,6 @@ class BoatSerializer < AbstractSerializer
|
|
521
360
|
{ boat_contacts: boat_contacts }
|
522
361
|
end
|
523
362
|
|
524
|
-
def visits_today(boat)
|
525
|
-
{ visits_today: boat.visits_today }
|
526
|
-
end
|
527
|
-
|
528
|
-
def visits_total(boat)
|
529
|
-
{ visits_total: boat.visits_total }
|
530
|
-
end
|
531
|
-
|
532
363
|
def serialize_opts
|
533
364
|
locale = ::Dicts::Locale.find_by_index @opts[:locale].to_s
|
534
365
|
uol = ::Dicts::Length.find_by_index @opts[:uol]
|
data/lib/c80_shared/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: c80_shared
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.39
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- C80609A
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|