Sha256: 9c386c5de2a1f5f85c0b511366eeea0ee6823b5bc9614ad9ed80acfc5fefa471

Contents?: true

Size: 629 Bytes

Versions: 2

Compression:

Stored size: 629 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: 'knapsack_report.json'
      }
    end

    def report_json
      Presenter.report_json
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
knapsack-0.1.1 lib/knapsack/report.rb
knapsack-0.1.0 lib/knapsack/report.rb