class EphJcg::Argument

Public Class Methods

new(arg) click to toggle source
# File lib/eph_jcg/argument.rb, line 3
def initialize(arg)
  @arg = arg
end

Public Instance Methods

get_jst() click to toggle source
引数取得

* コマンドライン引数を取得して日時の妥当性チェックを行う
* コマンドライン引数無指定なら、現在日時とする。

@return: jst (UNIX time)
# File lib/eph_jcg/argument.rb, line 15
def get_jst
  (puts MSG_ERR_1; return 0) unless @arg =~ /^\d{8}$|^\d{14}$/
  year, month, day = @arg[ 0, 4].to_i, @arg[ 4, 2].to_i, @arg[ 6, 2].to_i
  hour, min,   sec = @arg[ 8, 2].to_i, @arg[10, 2].to_i, @arg[12, 2].to_i
  (puts MSG_ERR_2; return 0) unless Date.valid_date?(year, month, day)
  (puts MSG_ERR_2; return 0) if hour > 23 || min > 59 || sec > 59
  if sprintf("%04d%02d%02d%02d%02d%02d", year, month, day, hour, min, sec) \
     < "#{Y_MIN}0101090000" ||
     sprintf("%04d%02d%02d%02d%02d%02d", year, month, day, hour, min, sec) \
     > "#{Y_MAX + 1}0101085959"
    puts MSG_ERR_3
    return 0
  end
  return Time.new(year, month, day, hour, min, sec).to_f
end