lib/how_is.rb in how_is-1.0.0 vs lib/how_is.rb in how_is-2.0.0
- old
+ new
@@ -6,27 +6,41 @@
module HowIs
include Contracts::Core
require 'how_is/fetcher'
require 'how_is/analyzer'
- require 'how_is/reporter'
+ require 'how_is/report'
- Contract C::KeywordArgs[repository: String, report_file: String,
- from_file: C::Optional[C::Or[String, nil]],
- fetcher: C::Optional[Class],
- analyzer: C::Optional[Class],
- reporter: C::Optional[Class]] => C::Any
- def self.generate_report(repository:, report_file:,
+ def self.generate_report_file(report_file:, **kw_args)
+ analysis = self.generate_analysis(**kw_args)
+
+ Report.export!(analysis, report_file)
+ end
+
+ def self.generate_report(format:, **kw_args)
+ analysis = self.generate_analysis(**kw_args)
+
+ Report.export(analysis, format)
+ end
+private
+
+
+Contract C::KeywordArgs[repository: String,
+ from_file: C::Optional[C::Or[String, nil]],
+ fetcher: C::Optional[Class],
+ analyzer: C::Optional[Class],
+ github: C::Optional[C::Any]] => C::Any
+ def self.generate_analysis(repository:,
from_file: nil,
- fetcher: Fetcher.new,
+ fetcher: Fetcher.new,
analyzer: Analyzer.new,
- reporter: Reporter.new)
+ github: nil)
if from_file
analysis = analyzer.from_file(from_file)
else
- raw_data = fetcher.call(repository)
+ raw_data = fetcher.call(repository, github)
analysis = analyzer.call(raw_data)
end
- reporter.call(analysis, report_file)
+ analysis
end
end