Sha256: 2641d0d01b82eea6de85ec17d96a4f73b5825fce94108ac835aa61ac9e2bfa69
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
module Simple2ch class Dat # @return [String] スレッドキー attr_reader :thread_key # @return [String] タイトル attr_reader :title # @return [Bbs2chUrlValidator::UrlInfo] URL attr_reader :url # @param [Thre] thre スレッド def initialize(thre) @thre = thre @thread_key = thre.thread_key @data = nil @responses = nil @is_kako_log = nil end # Datを解析して、レスを返す # @return [Array<Res>] レス def responses parse_dat unless @responses @responses end # Datを解析して過去ログかどうかを返す # @return [Boolean] 過去ログか否か def kako_log? parse_dat if @is_kako_log.nil? @is_kako_log end # @return [Bbs2chUrlValidator::UrlInfo] dat URL def url Bbs2chUrlValidator::URL.parse(@thre.url.dat) end private # datファイルを取得する # @return [String] 取得したdatファイルの中身 def fetch_dat @data ||= Simple2ch.fetch(url) end # datファイルを解析してResを作成する def parse_dat res_num = 0 @responses = [] @is_kako_log = false fetch_dat.each_line do |l| res_num += 1 begin if res_num==1 title = l.split('<>').pop.chomp @title = title unless @title end @responses << Response.parse(res_num, l) rescue KakoLogError @is_kako_log = true end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple2ch-1.1.0 | lib/simple2ch/dat.rb |