Class: Lease::InquirySerializer
- Inherits:
-
AbstractSerializer
- Object
- AbstractSerializer
- Lease::InquirySerializer
- Extended by:
- Site::TimeHelper
- Defined in:
- app/serializers/lease/inquiry_serializer.rb
Class Method Summary collapse
- .account_id(inquiry) ⇒ Object
- .address(inquiry) ⇒ Object
- .available_attributes ⇒ Object
- .boat_types(inquiry) ⇒ Object
- .comments(inquiry) ⇒ Object
- .created_at(inquiry) ⇒ Object
- .created_at_full(inquiry) ⇒ Object
- .duration(inquiry) ⇒ Object
- .email(inquiry) ⇒ Object
- .from(inquiry) ⇒ Object
- .guests(inquiry) ⇒ Object
- .id(inquiry) ⇒ Object
- .is_my_price(inquiry) ⇒ Object
- .is_skippered(inquiry) ⇒ Object
- .kids(inquiry) ⇒ Object
- .latitude(inquiry) ⇒ Object
- .longitude(inquiry) ⇒ Object
- .my_price(inquiry) ⇒ Object
- .my_price_currency(inquiry) ⇒ Object
- .name(inquiry) ⇒ Object
- .need_transfer(inquiry) ⇒ Object
- .period(inquiry) ⇒ Object
- .period_formatted(inquiry) ⇒ Object
- .phone_number(inquiry) ⇒ Object
- .state(inquiry) ⇒ Object
- .to(inquiry) ⇒ Object
- .token(inquiry) ⇒ Object
- .watersports(inquiry) ⇒ Object
Methods included from Site::TimeHelper
format_date, locale_date_format, next_hour
Methods inherited from AbstractSerializer
Class Method Details
.account_id(inquiry) ⇒ Object
44 45 46 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 44 def account_id(inquiry) { account_id: inquiry.account_id } end |
.address(inquiry) ⇒ Object
88 89 90 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 88 def address(inquiry) { address: inquiry.address } end |
.available_attributes ⇒ Object
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 38 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 8 def available_attributes [ :id, :token, :account_id, :state, :is_skippered, :is_my_price, :my_price, :my_price_currency, :address, :latitude, :longitude, :period, :period_formatted, :duration, :from, :to, :guests, :kids, :watersports, :need_transfer, :email, :name, :phone_number, :comments, :created_at, :created_at_full, :boat_types ].freeze end |
.boat_types(inquiry) ⇒ Object
159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 159 def boat_types(inquiry) boat_types = BoatType.where(id: inquiry.boat_type_ids).includes(:translations) { boat_types: boat_types.map do |bt| { id: bt.id, name: bt.name, icon: bt.icon.url } end } end |
.comments(inquiry) ⇒ Object
76 77 78 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 76 def comments(inquiry) { comments: inquiry.comments } end |
.created_at(inquiry) ⇒ Object
80 81 82 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 80 def created_at(inquiry) { created_at: format_date(inquiry.created_at, @opts[:locale]) } end |
.created_at_full(inquiry) ⇒ Object
84 85 86 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 84 def created_at_full(inquiry) { created_at_full: format_date(inquiry.created_at, @opts[:locale], true) } end |
.duration(inquiry) ⇒ Object
127 128 129 130 131 132 133 134 135 136 137 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 127 def duration(inquiry) distance = (inquiry.to - inquiry.from).to_i / 24 / 60 / 60 distance = distance.zero? ? 1 : distance uom = I18n.t('activerecord.labels.lease/bid.day', count: distance) { duration: { distance: distance, uom: uom } } end |
.email(inquiry) ⇒ Object
100 101 102 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 100 def email(inquiry) { email: inquiry.client_account.account.user.email } end |
.from(inquiry) ⇒ Object
139 140 141 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 139 def from(inquiry) { from: format_date(inquiry.from, @opts[:locale]) } end |
.guests(inquiry) ⇒ Object
60 61 62 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 60 def guests(inquiry) { guests: inquiry.guests } end |
.id(inquiry) ⇒ Object
40 41 42 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 40 def id(inquiry) { id: inquiry.id } end |
.is_my_price(inquiry) ⇒ Object
147 148 149 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 147 def is_my_price(inquiry) { is_my_price: inquiry.is_my_price } end |
.is_skippered(inquiry) ⇒ Object
56 57 58 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 56 def is_skippered(inquiry) { is_skippered: inquiry.is_skippered } end |
.kids(inquiry) ⇒ Object
64 65 66 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 64 def kids(inquiry) { kids: inquiry.kids } end |
.latitude(inquiry) ⇒ Object
92 93 94 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 92 def latitude(inquiry) { latitude: inquiry.latitude.to_f } end |
.longitude(inquiry) ⇒ Object
96 97 98 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 96 def longitude(inquiry) { longitude: inquiry.longitude.to_f } end |
.my_price(inquiry) ⇒ Object
151 152 153 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 151 def my_price(inquiry) { my_price: inquiry.my_price } end |
.my_price_currency(inquiry) ⇒ Object
155 156 157 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 155 def my_price_currency(inquiry) { my_price_currency: inquiry.my_price_currency } end |
.name(inquiry) ⇒ Object
104 105 106 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 104 def name(inquiry) { name: inquiry.name } end |
.need_transfer(inquiry) ⇒ Object
72 73 74 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 72 def need_transfer(inquiry) { need_transfer: inquiry.need_transfer } end |
.period(inquiry) ⇒ Object
112 113 114 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 112 def period(inquiry) { period: '%s - %s' % [from(inquiry)[:from], to(inquiry)[:to]] } end |
.period_formatted(inquiry) ⇒ Object
116 117 118 119 120 121 122 123 124 125 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 116 def period_formatted(inquiry) frm = format_date(inquiry.from, @opts[:locale], false, true) tto = format_date(inquiry.to, @opts[:locale], false, true) { period: { from: frm, to: tto } } end |
.phone_number(inquiry) ⇒ Object
108 109 110 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 108 def phone_number(inquiry) { phone_number: inquiry.phone_number } end |
.state(inquiry) ⇒ Object
48 49 50 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 48 def state(inquiry) { state: inquiry.state } end |
.to(inquiry) ⇒ Object
143 144 145 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 143 def to(inquiry) { to: format_date(inquiry.to, @opts[:locale]) } end |
.token(inquiry) ⇒ Object
52 53 54 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 52 def token(inquiry) { token: inquiry.token } end |
.watersports(inquiry) ⇒ Object
68 69 70 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 68 def watersports(inquiry) { watersports: inquiry.watersports } end |