Module: MaimaiNet::Client::ConnectionMaintenanceSafety

Defined in:
lib/maimai_net/client.rb

Instance Method Summary collapse

Instance Method Details

#maintenance_periodRange(Time, Time)

Returns JST’s today maintenance schedule (in local time).

Returns:

  • (Range(Time, Time))

    JST’s today maintenance schedule (in local time).



496
497
498
499
500
501
502
503
504
# File 'lib/maimai_net/client.rb', line 496

def maintenance_period
  ctime = Time.now
  atime = ctime.dup.localtime(32400)
  start_mt = Time.new(
    atime.year, atime.month, atime.day,
    4, 0, 0, atime.utc_offset,
  ).localtime(ctime.utc_offset)
  (start_mt)...(start_mt + 10_800)
end

#send_request(method, url, data, **opts) ⇒ Object

prevents connection during maintenance period.

Raises:



508
509
510
511
512
513
514
# File 'lib/maimai_net/client.rb', line 508

def send_request(method, url, data, **opts)
  ctime = Time.now
  period = maintenance_period
  fail Error::RoutineMaintenance, period if period.include?(ctime)

  super
end