Sha256: 05602814ec8b06395baaffb4bd4a7779048274d95ee140704d5bb5d0cbceb60f
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
require 'singleton' require 'tempfile' require 'csv' require 'libis/tools/extend/string' require 'libis/tools/logger' require 'libis/tools/command' require 'libis/format/config' module Libis module Format class Droid include Singleton include ::Libis::Tools::Logger def self.run(file) self.new.run file end def run(file) profile = File.join Dir.tmpdir, Dir::Tmpname.make_tmpname(%w'droid .profile', nil) report = File.join Dir.tmpdir, Dir::Tmpname.make_tmpname(%w'droid .csv', nil) result = Libis::Tools::Command.run( Libis::Format::Config[:droid_path], '-a', file.escape_for_string, '-p', profile, '-q', ) warn "DROID profile errors: #{result[:err].join("\n")}" unless result[:status] == 0 result = Libis::Tools::Command.run( Libis::Format::Config[:droid_path], '-e', report, '-p', profile, '-q' ) warn "DROID report errors: #{result[:err].join("\n")}" unless result[:status] == 0 File.delete profile result = CSV.read(report , headers: true, header_converters: [:downcase, :symbol]) File.delete report result.map{|r|r.to_hash} end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
libis-format-0.9.8 | lib/libis/format/droid.rb |