Method: When::TM::Instant#relative_position

Defined in:
lib/when_exe/tmobjects.rb

#relative_position(other) ⇒ When::TM::RelativePosition Also known as: relativePosition

他のWhen::TM::Primitiveとの相対的な時間位置

Parameters:

Returns:



218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
# File 'lib/when_exe/tmobjects.rb', line 218

def relative_position(other)
  case other
  when Instant
    verify = self.position <=> other.position
    return RelativePosition::Before if verify <  0
    return RelativePosition::Equals if verify == 0
    return RelativePosition::After
  when Period
    verify = self.position <=> other.begin.position
    return RelativePosition::Before if verify <  0
    return RelativePosition::Begins if verify == 0
    verify = self.position <=> other.end.position
    return RelativePosition::During if verify <  0
    return RelativePosition::Ends   if verify == 0
    return RelativePosition::After
  else
    raise TypeError, "The right operand should be When::TM::Instant or When::TM::Period"
  end
end