7. ruby - リンクチェック - searchName.rb ドキュメント内の id= の記述を検索

 
7.1 ドキュメント内の id= の記述を検索

7.1 ドキュメント内の id= の記述を検索

=begin

# で始まる要素はページ内の特定の場所へのリンク
  指定したタグ内に id="" の形式で記述してあるものを探す

=end

require('pry')

class SearchName
  def initialize()
  end

  # 引数としてドキュメント自身が必要

  def execute(parent, doc, id)
    begin
      $checkID.each do | tag |                            # タグを検索
        doc.css(tag).each do | attribute |
          if (attribute[:id])                             # id があれば
            if ("#" + attribute[:id] == id)               # id をチェック
              return 'OK'                                 # 検出したら 'OK' を返す
            end
          end
#          if (attribute[:data-release_id])                # ja.osdn.net は data-release_id
#            if ("#" + attribute[:data-release_id] == id)  # チェック
#              return 'OK'                                 # 検出したら 'OK' を返す
#            end
#          end
        end
      end
    rescue => error
      puts("例外発生[#{self.class.name}]")
      puts("#{parent}]内の[#{id}]検索中")
      puts("例外[#{error.class}]")
      puts("#{error.backtrace}")
      puts("#{error.message}")
      exit 1
    end

    return 'NG'
  end
end