Class: TrueandcoAnalytics::ReportC::Generate

Inherits:
Object
  • Object
show all
Includes:
Modules::Info
Defined in:
lib/trueandco_analytics/console/commands/report_c/generate.rb

Instance Method Summary collapse

Methods included from Modules::Info

#error_message, #info, #result

Constructor Details

#initialize(name: nil, format: nil, datetime_start: nil, datetime_end: nil, path: nil) ⇒ Generate

Returns a new instance of Generate.


5
6
7
8
9
10
11
# File 'lib/trueandco_analytics/console/commands/report_c/generate.rb', line 5

def initialize(name: nil, format: nil, datetime_start: nil, datetime_end: nil, path: nil)
  @name = name
  @format = format
  @datetime_start = datetime_start
  @datetime_end = datetime_end
  @path = path || (CURRENT_PATH + '/')
end

Instance Method Details

#executeObject


13
14
15
16
17
18
19
20
21
22
23
# File 'lib/trueandco_analytics/console/commands/report_c/generate.rb', line 13

def execute
  report = ::TrueandcoAnalytics::Reports.get_report_obj(name, format, datetime_start, datetime_end)
  return if report.nil? || report.data.nil?
  @path += report.report_name if File.directory?(path)
  dirname = File.dirname(path)
  unless File.directory?(dirname)
    FileUtils.mkdir_p(dirname)
  end
  File.open(path, 'w+') {|f| f.write(report.data)}
  result(I18n.t('trueandco_analytics.result.done', path: path))
end