Class: Tickets::Cli

Inherits:
Object
  • Object
show all
Defined in:
lib/tickets/cli.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Cli

Returns a new instance of Cli.



6
7
8
# File 'lib/tickets/cli.rb', line 6

def initialize(options)
  @options = options
end

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



4
5
6
# File 'lib/tickets/cli.rb', line 4

def options
  @options
end

Instance Method Details

#queryObject



10
11
12
13
14
15
16
17
18
# File 'lib/tickets/cli.rb', line 10

def query
  from = Tickets::Stations.hash_format[options[:from]]
  to = Tickets::Stations.hash_format[options[:to]]
  url = "https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=#{options[:date]}&leftTicketDTO.from_station=#{from}&leftTicketDTO.to_station=#{to}&purpose_codes=ADULT"
  
  resp = RestClient::Request.execute(url: url, method: :get, verify_ssl: false)
  available_trains = JSON.parse(resp)['data']['result']
  Tickets::Trains.new(available_trains, options).pretty_print      
end