autonumber

actor 利用者
利用者 -> Collector : work!

activate Collector
  Collector -> Collector : new

  activate Collector
    Collector -> Collector : remove_empty_files
  deactivate Collector

  loop 指定された期間内を日付ごとに繰り返し
    Collector -> Collector : fetch_race_ids

    activate Collector
      alt レースIDファイルが存在する
        Collector -> File : read
      else
        Collector -> NetkeibaClient : http_get_race_ids
        Collector -> File : write
      end
    deactivate Collector

    loop レースIDごとに繰り返し
      Collector -> Collector : fetch_race

      activate Collector
        alt レース情報ファイルが存在する
          Collector -> File : read
        else
          Collector -> NetkeibaClient : http_get_race
          Collector -> File : write
        end
      deactivate Collector

      Collector -> "Nokogiri::HTML" : parse

      loop レースのエントリーごとに繰り返し
        Collector -> Collector : fetch_horse

        activate Collector
          alt 競走馬情報ファイルが存在しない
            collector -> NetkeibaClient : http_get_horse
            collector -> File : write
          end
        deactivate Collector
      end
    end
  end
deactivate Collector
