Sha256: 42bdfa9eee475674761f7a3c1bdcd4778c89755ef0fb2bc60643705bc797929d
Contents?: true
Size: 1.99 KB
Versions: 3
Compression:
Stored size: 1.99 KB
Contents
module Society module Formatter module Report class HTML attr_reader :json_data, :output_path def initialize(json_data:, output_path: default_output_path) @json_data = json_data @output_path = output_path end def write prepare_output_directory write_html copy_assets write_json_data end private def default_output_path File.join(%w[doc society]) end def write_html File.open(File.join(output_path, 'index.htm'), 'w') {|outfile| outfile.write(index)} end def copy_assets bower_dir = File.join(File.dirname(__FILE__), 'templates', 'components') FileUtils.cp( File.join(bower_dir, 'society-assets', 'society.css'), File.join(output_path, 'stylesheets', 'society.css') ) FileUtils.cp( File.join(bower_dir, 'society-assets', 'society.js'), File.join(output_path, 'javascripts', 'society.js') ) FileUtils.cp( File.join(bower_dir, 'd3', 'd3.min.js'), File.join(output_path, 'javascripts', 'd3.min.js') ) end def index Haml::Engine.new(template).render( Object.new, json_data: json_data ) end def template path = File.join(File.dirname(__FILE__), 'templates', 'index.htm.haml') File.read(path) end def timestamp @timestamp ||= Time.now.strftime("%Y_%m_%d_%H_%M_%S") end def prepare_output_directory FileUtils.mkpath(File.join(output_path, 'stylesheets')) FileUtils.mkpath(File.join(output_path, 'javascripts')) end def write_json_data json_path = File.join(output_path, 'data', timestamp, 'society_graph.json') Formatter::Report::Json.new(json_data: json_data, output_path: json_path).write end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
society-1.1.1 | lib/society/formatter/report/html.rb |
society-1.1.0 | lib/society/formatter/report/html.rb |
society-1.0.0 | lib/society/formatter/report/html.rb |