class TokyoMetro::Factory::Generate::Api::MetaClass::List::Date

日付ごとに保存された情報を処理する Factory Pattern のクラス

Public Class Methods

new( y , m , d , file_type , db_dirname , db_dirname_sub ) click to toggle source

Constructor @param y [Integer] 情報が保存された年 @param m [Integer] 情報が保存された月 @param d [Integer] 情報が保存された日 @param file_type [String (filename)] ファイルの名称 @param db_dirname [String (dirname)] データが格納されているディレクトリの名称 @param db_dirname_sub [String (dirname) or nil] データが格納されているサブディレクトリの名称

# File lib/tokyo_metro/factory/generate/api/meta_class/list/date.rb, line 11
def initialize( y , m , d , file_type , db_dirname , db_dirname_sub )
  @year = y
  @month = d
  @date = d

  @file_type = file_type
  @db_dirname = db_dirname
  @db_dirname_sub = db_dirname_sub
end
process( y , m , d , file_type , db_dirname , db_dirname_sub , max ) click to toggle source

保存済みの情報からインスタンスの配列を復元するメソッド @param y [Integer] 情報が保存された年 @param m [Integer] 情報が保存された月 @param d [Integer] 情報が保存された日 @param file_type [String (filename)] ファイルの名称 @param db_dirname [String (dirname)] データが格納されているディレクトリの名称 @param db_dirname_sub [String (dirname) or nil] データが格納されているサブディレクトリの名称 @param max [Integer or nil] 配列の要素の最大値 @note max を nil とした場合は無制限で、すべての情報を配列に格納する。 @return [subclass of TokyoMetro::Api::MetaClass::Fundamental::List]

# File lib/tokyo_metro/factory/generate/api/meta_class/list/date.rb, line 37
def self.process( y , m , d , file_type , db_dirname , db_dirname_sub , max )
  self.new( y , m , d , file_type , db_dirname , db_dirname_sub ).generate( max )
end

Public Instance Methods

filename_wildcard() click to toggle source

取得するファイルを表すワイルドカード @return [String]

# File lib/tokyo_metro/factory/generate/api/meta_class/list/date.rb, line 23
def filename_wildcard
  "#{db_dirname}/**.#{@file_type.to_s}"
end

Private Instance Methods

db_dirname() click to toggle source
# File lib/tokyo_metro/factory/generate/api/meta_class/list/date.rb, line 43
def db_dirname
  if @db_dirname_sub.nil?
    "#{@db_dirname}/#{dirname_for_date}/**"
  elsif @db_dirname_sub.string?
    "#{@db_dirname}/#{dirname_for_date}/#{@db_dirname_sub}"
  else
    raise "Error: The instance variable \"db_dirname_sub\" is not valid."
  end
end
dirname_for_date() click to toggle source
# File lib/tokyo_metro/factory/generate/api/meta_class/list/date.rb, line 53
def dirname_for_date
  y_str = sprintf("%4.4d", @year )
  m_str = sprintf("%2.2d", @month )
  d_str = sprintf("%2.2d", @date )
  "#{y_str}/#{m_str}#{d_str}"
 end