Class: Synthra::Types::Travel::SeatNumber
- Defined in:
- lib/synthra/types/travel/travel.rb
Overview
SeatNumber type
Constant Summary collapse
- DEFAULT_SEATS =
Default aircraft seat letters
Standard 6-seat configuration (A-F) for economy class.
["A", "B", "C", "D", "E", "F"].freeze
Instance Method Summary collapse
- #generate_edge(rng, context, args) ⇒ Object
- #generate_invalid(rng, context, args) ⇒ Object
-
#generate_random(rng, context, args) ⇒ String
Generate random seat number.
Instance Method Details
#generate_edge(rng, context, args) ⇒ Object
140 141 142 |
# File 'lib/synthra/types/travel/travel.rb', line 140 def generate_edge(rng, context, args) ["1A", "30F", "1B"].sample(random: rng.instance_variable_get(:@random)) end |
#generate_invalid(rng, context, args) ⇒ Object
144 145 146 |
# File 'lib/synthra/types/travel/travel.rb', line 144 def generate_invalid(rng, context, args) [nil, "not a seat", "invalid", [], {}].sample(random: rng.instance_variable_get(:@random)) end |
#generate_random(rng, context, args) ⇒ String
Generate random seat number
130 131 132 133 134 135 136 137 138 |
# File 'lib/synthra/types/travel/travel.rb', line 130 def generate_random(rng, context, args) max_rows = args[:rows] || 30 seats = args[:seats] || DEFAULT_SEATS row = rng.int(1, max_rows) seat = rng.sample(seats) "#{row}#{seat}" end |