Class: Snapshot::ReportsGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/snapshot/reports_generator.rb

Instance Method Summary collapse

Instance Method Details

#generateObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/snapshot/reports_generator.rb', line 6

def generate
  screens_path = SnapshotConfig.shared_instance.screenshots_path

  @data = {}

  Dir["#{screens_path}/*"].sort.each do |language_path|
    language = language_path.split('/').last
    Dir[[language_path, '*'].join('/')].sort.each do |screenshot|

      available_devices.each do |key_name, output_name|

        if screenshot.split('/').last.include?key_name
          # This screenshot it from this device
          @data[language] ||= {}
          @data[language][output_name] ||= []
          @data[language][output_name] << screenshot
          break # to not include iPhone 6 and 6 Plus
        end
      end
    end
  end

  html_path = [lib_path, "snapshot/page.html.erb"].join('/')
  html = ERB.new(File.read(html_path)).result(binding) # http://www.rrn.dk/rubys-erb-templating-system

  export_path = "#{screens_path}/screenshots.html"
  File.write(export_path, html)

  Helper.log.info "Successfully created HTML file with an overview of all the screenshots: '#{File.expand_path(export_path)}'".green
end