Sha256: c149eeee696e65ec3424ffac36ce4be980735db1fbdf38868a37b85d44aa847c

Contents?: true

Size: 625 Bytes

Versions: 7

Compression:

Stored size: 625 Bytes

Contents

module Knapsack
  class Report
    include Singleton

    def config(opts={})
      @config ||= default_config
      @config.merge!(opts)
    end

    def save
      File.open(config[:report_path], 'w+') do |f|
        f.write(report_json)
      end
    end

    def open
      report = File.read(config[:report_path])
      JSON.parse(report)
    rescue Errno::ENOENT
      raise "Knapsack report file doesn't exist. Please generate report first!"
    end

    private

    def default_config
      {
        report_path: Config.report_path
      }
    end

    def report_json
      Presenter.report_json
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
knapsack-0.5.0 lib/knapsack/report.rb
knapsack-0.4.0 lib/knapsack/report.rb
knapsack-0.3.0 lib/knapsack/report.rb
knapsack-0.2.0 lib/knapsack/report.rb
knapsack-0.1.4 lib/knapsack/report.rb
knapsack-0.1.3 lib/knapsack/report.rb
knapsack-0.1.2 lib/knapsack/report.rb