Class: When::EX::Extent

Inherits:
Object
  • Object
show all
Defined in:
lib/when_exe/basictypes.rb

Overview

参照系の時間的および空間的な使用範囲を記述する

本ライブラリでは、時間的使用範囲を記述ためにのみ使用している

see gml schema

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(extent) ⇒ Extent

オブジェクトの生成



628
629
630
# File 'lib/when_exe/basictypes.rb', line 628

def initialize(extent)
  @temporal_extent = extent
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object

Note:

When::EX::Extent で定義されていないメソッドは 処理を @temporal_extent (type: When::TM::Period) に委譲する

その他のメソッド



637
638
639
640
641
642
643
644
645
646
# File 'lib/when_exe/basictypes.rb', line 637

def method_missing(name, *args, &block)
  self.class.module_eval %Q{
    def #{name}(*args, &block)
      list = args.map {|arg| arg.kind_of?(self.class) ? arg.temporal_extent : arg}
      @temporal_extent.send("#{name}", *list, &block)
    end
  } unless When::Parts::MethodCash.escape(name)
  list = args.map {|arg| arg.kind_of?(self.class) ? arg.temporal_extent : arg}
  @temporal_extent.send(name, *list, &block)
end

Instance Attribute Details

#temporal_extentWhen::TM::Period (readonly) Also known as: temporalExtent

time periods

時間的使用範囲の上限と下限を示す



621
622
623
# File 'lib/when_exe/basictypes.rb', line 621

def temporal_extent
  @temporal_extent
end