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
- .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
43 44 45 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 43 def account_id(inquiry) { account_id: inquiry.account_id } end |
.address(inquiry) ⇒ Object
87 88 89 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 87 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 |
# 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, :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
147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 147 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
75 76 77 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 75 def comments(inquiry) { comments: inquiry.comments } end |
.created_at(inquiry) ⇒ Object
79 80 81 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 79 def created_at(inquiry) { created_at: format_date(inquiry.created_at, @opts[:locale]) } end |
.created_at_full(inquiry) ⇒ Object
83 84 85 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 83 def created_at_full(inquiry) { created_at_full: format_date(inquiry.created_at, @opts[:locale], true) } end |
.duration(inquiry) ⇒ Object
115 116 117 118 119 120 121 122 123 124 125 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 115 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
99 100 101 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 99 def email(inquiry) { email: inquiry.client_account.account.user.email } end |
.from(inquiry) ⇒ Object
127 128 129 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 127 def from(inquiry) { from: format_date(inquiry.from, @opts[:locale]) } end |
.guests(inquiry) ⇒ Object
59 60 61 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 59 def guests(inquiry) { guests: inquiry.guests } end |
.id(inquiry) ⇒ Object
39 40 41 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 39 def id(inquiry) { id: inquiry.id } end |
.is_my_price(inquiry) ⇒ Object
135 136 137 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 135 def is_my_price(inquiry) { is_my_price: inquiry.is_my_price } end |
.is_skippered(inquiry) ⇒ Object
55 56 57 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 55 def is_skippered(inquiry) { is_skippered: inquiry.is_skippered } end |
.kids(inquiry) ⇒ Object
63 64 65 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 63 def kids(inquiry) { kids: inquiry.kids } end |
.latitude(inquiry) ⇒ Object
91 92 93 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 91 def latitude(inquiry) { latitude: inquiry.latitude.to_f } end |
.longitude(inquiry) ⇒ Object
95 96 97 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 95 def longitude(inquiry) { longitude: inquiry.longitude.to_f } end |
.my_price(inquiry) ⇒ Object
139 140 141 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 139 def my_price(inquiry) { my_price: inquiry.my_price } end |
.my_price_currency(inquiry) ⇒ Object
143 144 145 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 143 def my_price_currency(inquiry) { my_price_currency: inquiry.my_price_currency } end |
.name(inquiry) ⇒ Object
103 104 105 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 103 def name(inquiry) { name: inquiry.name } end |
.need_transfer(inquiry) ⇒ Object
71 72 73 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 71 def need_transfer(inquiry) { need_transfer: inquiry.need_transfer } end |
.period(inquiry) ⇒ Object
111 112 113 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 111 def period(inquiry) { period: '%s - %s' % [from(inquiry)[:from], to(inquiry)[:to]] } end |
.phone_number(inquiry) ⇒ Object
107 108 109 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 107 def phone_number(inquiry) { phone_number: inquiry.phone_number } end |
.state(inquiry) ⇒ Object
47 48 49 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 47 def state(inquiry) { state: inquiry.state } end |
.to(inquiry) ⇒ Object
131 132 133 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 131 def to(inquiry) { to: format_date(inquiry.to, @opts[:locale]) } end |
.token(inquiry) ⇒ Object
51 52 53 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 51 def token(inquiry) { token: inquiry.token } end |
.watersports(inquiry) ⇒ Object
67 68 69 |
# File 'app/serializers/lease/inquiry_serializer.rb', line 67 def watersports(inquiry) { watersports: inquiry.watersports } end |