Sha256: 6a90ddc7d75cc446a0dc23e66271288a90996908ea02d2593e95cae5b5c68f47
Contents?: true
Size: 1.89 KB
Versions: 1
Compression:
Stored size: 1.89 KB
Contents
module Md2site require "yaml" class StatusFile attr_accessor :baseurl, :fname, :fpath, :last_datetime, :last_contents_path, :path def initialize(path, baseurl, mes) @path = path @baseurl = baseurl @mes = mes mes.add_exitcode("EXIT_CODE_CANNOT_ANALYZE_YAMLFILE") mes.add_exitcode("EXIT_CODE_CANNOT_DUMP_TO_YAML") content = get_statusfile(@path) if content && !content.strip.empty? obj = Filex::Filex.load_yaml(content, @mes) @baseurl = obj[:baseurl] @fname = obj[:fname] @fpath = obj[:path] @last_datetime = obj[:last_datetime] @last_contents_path = obj[:last_contents_path] else @baseurl = @baseurl @fname = nil @fpath = nil @last_datetime = nil @last_contents_path = nil end end def output(path, content) File.open(path, "w") do |ofile| ofile.puts(content) ofile.flush end end def update hs = { baseurl: @baseurl, fname: @fname, path: @fpath, last_datetime: @last_datetime, last_contents_path: @last_contents_path } begin content = YAML.dump(hs) rescue Error => e @mes.output_exception(e) exit(@mes.ec("EXIT_CODE_CANNOT_DUMP_TO_YAML")) end return unless content @mes.exc_file_write(@path) { output(@path, content) } end def get_statusfile(path) unless path raise end content = nil if File.exist?(path) @mes.exc_file_read(path) { content = File.read(path) } end content end def pint @mes.output_info("baseurl=#{@baseurl}") @mes.output_info("fname=#{@fname}") @mes.output_info("fpath=#{@fpath}") @mes.output_info("last_datetime=#{@last_datetime}") @mes.output_info("last_contents_path=#{@last_contents_path}") @mes.output_info("path=#{@path}") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
md2site-0.1.2 | lib/md2site/statusfile.rb |