Sha256: 0a8f96e3d21492d70c4a7d9cdd1c8b6abefc6cbc0bd3b0cf5272e7e62d36aa3a

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

require "law/japan"

require "git"
require "logger"

class Law::Japan::EGov
  SourceDir = File.join(Dir.home, ".law-japan")

  HtmlRepoURL = "git@github.com:riywo/law-japan-e_gov-html.git"
  TextRepoURL = "git@github.com:riywo/law-japan-e_gov-text.git"

  def initialize
    FileUtils.mkdir_p SourceDir
  end

  def update!
    html_git.pull
    text_git.pull
  end

  def download!
    Downloader.new(html_data_dir).download!
  end

  def convert!
    Converter.new(html_data_dir, text_data_dir).convert!
  end

  private

  def html_data_dir
    File.join(html_git.dir.path, "data")
  end

  def text_data_dir
    File.join(text_git.dir.path, "data")
  end

  def git_open_or_clone(repo_url, name)
    Git.open(File.join(SourceDir, name), log: Logger.new(STDOUT))
  rescue
    Git.clone(repo_url, name, path: SourceDir, log: Logger.new(STDOUT))
  end

  def html_git
    @html_git ||= git_open_or_clone(HtmlRepoURL, "html")
  end

  def text_git
    @text_git ||= git_open_or_clone(TextRepoURL, "text")
  end
end

require "law/japan/e_gov/downloader"
require "law/japan/e_gov/converter"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
law-japan-0.0.1 lib/law/japan/e_gov.rb