Sha256: d31c82986289da7d7c1bd22ade881a57efc78bcdbac0b85c09be18b49b079c8a

Contents?: true

Size: 1.01 KB

Versions: 12

Compression:

Stored size: 1.01 KB

Contents

require "json"

module GemVersionCheck
  module Formatter

    class JSON
      def initialize(report_result)
        @report_result = Array(report_result)
      end

      def format
        result = []
        @report_result.each do |project|
          project_hash = project_hash(project)
          project.report.each do |dependency|
            project_hash[:dependencies] << dependency_hash(dependency)
          end
          result << project_hash
        end
        ::JSON.pretty_generate(result)
      end

      private

      def project_hash(project)
        project_hash = {
          :name => project.name,
          :check_failed => project.check_failed?,
          :dependencies => []
        }
      end

      def dependency_hash(dependency)
        dep_hash = {
          :name => dependency.name,
          :expected_version => dependency.expected_version,
          :version => dependency.version,
          :valid => dependency.valid?,
          :used => dependency.used?
        }
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
gem_version_check-0.5.1 lib/gem_version_check/formatter/json.rb
gem_version_check-0.5.0 lib/gem_version_check/formatter/json.rb
gem_version_check-0.5.2 lib/gem_version_check/formatter/json.rb
gem_version_check-0.4.1 lib/gem_version_check/formatter/json.rb
gem_version_check-0.4.0 lib/gem_version_check/formatter/json.rb
gem_version_check-0.3.1 lib/gem_version_check/formatter/json.rb
gem_version_check-0.3.0 lib/gem_version_check/formatter/json.rb
gem_version_check-0.2.1 lib/gem_version_check/formatter/json.rb
gem_version_check-0.2.0 lib/gem_version_check/formatter/json.rb
gem_version_check-0.1.0 lib/gem_version_check/formatter/json.rb
gem_version_check-0.0.10 lib/gem_version_check/formatter/json.rb
gem_version_check-0.0.9 lib/gem_version_check/formatter/json.rb