class TokyoMetro::Api::TrainLocation::Info::Delay
Attributes
delay[R]
Public Class Methods
new( delay )
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 3 def initialize( delay ) @delay = delay.try( :floor ) end
Public Instance Methods
decorate( request )
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 21 def decorate( request ) ::TokyoMetro::Factory::Decorate::Api::TrainLocation::Info::Delay.new( request , self ) end
delayed?()
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 94 def delayed? has_valid_delay? and @delay >= 180 end
displayed_in_train_operation_info?()
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 9 def displayed_in_train_operation_info? @delay.present? and @delay > 0 end
hour_part()
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 25 def hour_part @delay / 3600 end
min()
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 17 def min ( @delay * 1.0 / 60 ).ceil end
min_part( add_hour_part: false )
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 29 def min_part( add_hour_part: false ) _min_part = @delay / 60 if add_hour_part _min_part % 60 else _min_part end end
nearly_on_schedule?()
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 90 def nearly_on_schedule? has_valid_delay? and @delay >= 30 and @delay < 180 end
on_schedule?()
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 86 def on_schedule? has_valid_delay? and @delay < 30 end
sec()
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 13 def sec @delay end
sec_part()
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 38 def sec_part @delay % 60 end
to_h( add_hour_part: false )
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 42 def to_h( add_hour_part: false ) if add_hour_part { hour: hour_part , min: min_part( add_hour_part: true ) , sec: sec_part } else { min: min_part , sec: sec_part } end end
to_s_en( add_hour_part: false )
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 73 def to_s_en( add_hour_part: false ) ary = ::Array.new if add_hour_part ary << hour_part ary << "hour" end ary << min_part( add_hour_part: add_hour_part ) ary << "min" ary << sec_part ary << "sec" ary.map( &:to_s ).join( " " ) end
to_s_ja( add_hour_part: false )
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 60 def to_s_ja( add_hour_part: false ) ary = ::Array.new if add_hour_part ary << hour_part ary << "時間" end ary << min_part( add_hour_part: add_hour_part ) ary << "分" ary << sec_part ary << "秒" ary.map( &:to_s ).join end
to_s_separated_by_comma( add_hour_part: false )
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 50 def to_s_separated_by_comma( add_hour_part: false ) ary = ::Array.new if add_hour_part ary << hour_part end ary << sprintf( "%02d" , min_part( add_hour_part: add_hour_part ) ) ary << sprintf( "%02d" , sec_part ) ary.map( &:to_s ).join( ":" ) end
Private Instance Methods
has_valid_delay?()
click to toggle source
# File lib/tokyo_metro/api/train_location/info/delay.rb, line 100 def has_valid_delay? @delay.present? end