2. ruby - linkcheck.rb リンクチェック - メイン

 
2.1 メイン
2.2 起動

2.1 メイン

 メインのソースです。
#!/usr/bin/env ruby
=begin

v0.1  リンク切れチェックを行う、右の形式で起動  ./linkcheck.rb URI
v0.2  チェック済の結果を保持する処理に誤りがあったので修正
v0.3  ファイル出力の試行錯誤中
v0.4  やたら post にするとエラーになるので post のないものは get で取得
      実行時のパスを追加する

=end

$LOAD_PATH << File.dirname(File.expand_path(__FILE__))

require('pry')
require('openssl')
require('readconf')
require('checkparent')
require('output')

begin
  OpenSSL::SSL.module_eval{ remove_const(:VERIFY_PEER) }
  OpenSSL::SSL.const_set( :VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE )

  starttime = Time::now()

  $version = 0.3

  $OK      = 0;                                   # チェック結果  正常
  $ERROR   = 1;                                   #               異常  リンク切れ
  $WARNING = 2;                                   #               警告  機械的にチェックできない

  tree     = { ARGV[0] => 'UNKNOWN' }
  checked  = {}
  $result  = {}
  $checkID = []
  $nocheck = []
  $output  = {}

  readconf = ReadConf.new
  readconf.execute(File.dirname(File.expand_path(__FILE__)))  # コンフィグレーションファイルの読込

  parent = CheckParent.new(ARGV[0])
  parent.execute(ARGV[0], tree, checked)     # チェック

  $errorURL = {}                                  # エラーをまとめる

  $result.each do | key, value |
    case value[:結果]
    when 'OK', '未チェック', 'nocheck'            # 正常もしくはあえてチェックしていない
      next
    end
    $errorURL[key] = value
  end

  finishtime = Time::now()

  output = Output.new
  output.execute(starttime, finishtime, checked)  # 結果出力
rescue => error
  exeptlog = ExceptLog.new
  binding.pry
  exeptlog.execute(self, error)
  exit 1
end

2.2 起動

 起動は

./ソースファイル名.rb URI
 で行います。