old_sql 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,5 +7,10 @@ module OldSql
7
7
  initializer "static assets" do |app|
8
8
  app.middleware.use ::ActionDispatch::Static, "#{root}/public"
9
9
  end
10
+
11
+ rake_tasks do
12
+ Dir[File.join(File.dirname(__FILE__),'tasks/*.rake')].each { |f| load f }
13
+ #load "rails_admin/railties/tasks.rake"
14
+ end
10
15
  end
11
16
  end
@@ -20,8 +20,6 @@ module OldSql
20
20
  template = File.read("#{Rails.root}/config/old_sql/report_sql/#{report_sql}.erb")
21
21
  sql = Erubis::Eruby.new(template).result(vars)
22
22
 
23
- Rails.logger.debug sql
24
-
25
23
  begin
26
24
  #todo change to a reporting db
27
25
  db = ActiveRecord::Base.connection();
@@ -48,10 +46,6 @@ module OldSql
48
46
  end
49
47
  end
50
48
 
51
- if Rails.env == "development"
52
- Rails.logger.debug "PARSED DATA:\n@data"
53
- end
54
-
55
49
  @data
56
50
  end
57
51
 
@@ -75,7 +69,8 @@ module OldSql
75
69
  end
76
70
 
77
71
  def parse_design(design, resultset)
78
- Rails.logger.info "PARSING DESIGN DOCUMENT #{design}.csv"
72
+ return nil if @rec.nil?
73
+
79
74
  model = OldSql::ReportDesign::Parser.read_file("#{design}.csv")
80
75
 
81
76
  init(resultset)
@@ -114,12 +109,9 @@ module OldSql
114
109
  def eval_expression expression
115
110
  result = 0.0
116
111
  begin
117
- Rails.logger.debug "Evalutating Expression: #{expression}"
118
112
  result = eval(expression)
119
113
  rescue ZeroDivisionError => e
120
- Rails.logger.error e
121
114
  rescue Exception => e
122
- Rails.logger.error e
123
115
  end
124
116
 
125
117
  if result.class == Float || result.class == Fixnum
@@ -132,8 +124,6 @@ module OldSql
132
124
  result = round(result.to_f, OldSql.rounding_precision)
133
125
  end
134
126
 
135
- Rails.logger.debug "Expression result: #{result}"
136
-
137
127
  result
138
128
  end
139
129
 
@@ -0,0 +1,75 @@
1
+ module OldSql
2
+ class ShellReportFacade
3
+ def self.run_report(report, env, start_date, end_date, clean)
4
+ template = File.read("#{OldSql::ReportDesign::Parser.report_design_path}/../reports.yml")
5
+ report_config = YAML.load(Erubis::Eruby.new(template).result)[report]
6
+
7
+ set_logger
8
+ set_connection(env)
9
+
10
+ base_parser = OldSql::ReportProcessor::Base.new
11
+ data = base_parser.execute_query(report_config['report_sql'],start_date,end_date,nil,
12
+ report_config['report_design'],report_config['report_processor'])
13
+
14
+ print_header(report, start_date, end_date, clean)
15
+ print_data(data, report_config['fields'], clean)
16
+ print_footer(clean)
17
+ end
18
+
19
+ private
20
+
21
+ def self.print_header(report, start_date, end_date, clean)
22
+ puts "#######################################################################" unless clean
23
+ puts "#{report.upcase} REPORT START_DATE:#{start_date} END_DATE:#{end_date}" unless clean
24
+ end
25
+
26
+ def self.print_data(data, fields, clean)
27
+ puts "-----------------------------------------------------------------------" unless clean
28
+
29
+ print_fields(fields, clean)
30
+
31
+ if data.nil?
32
+ puts "NO DATA"
33
+ return
34
+ end
35
+
36
+ data[:rows].each do |row|
37
+ line = ""
38
+ first = true
39
+ row[:cell].each do |cell|
40
+ line << ", " if !first
41
+ line << cell.to_s
42
+ first = false
43
+ end
44
+ puts line
45
+ end
46
+ end
47
+
48
+ def self.print_fields(fields, clean)
49
+ first = true
50
+ fields.each do |f|
51
+ print ", " if !first
52
+ print "#{f.upcase}"
53
+ first = false
54
+ end
55
+ print "\n\n"
56
+ end
57
+
58
+ def self.print_footer(clean)
59
+ puts "-----------------------------------------------------------------------" unless clean
60
+ puts "COMPLETED AT:#{Time.now}" unless clean
61
+ puts "#######################################################################" unless clean
62
+ end
63
+
64
+ def self.set_logger
65
+ if defined?(Rails)
66
+ Rails.logger = Logger.new(STDOUT)
67
+ end
68
+ end
69
+
70
+ def self.set_connection(env)
71
+ dbconfig = YAML::load(File.open(Rails.root.join("config/database.yml")))
72
+ ActiveRecord::Base.establish_connection(dbconfig[env])
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,45 @@
1
+ require 'erubis'
2
+ require 'old_sql/shell_report_facade'
3
+ require 'old_sql/report_design/parser'
4
+ require 'old_sql/report_processor/base'
5
+
6
+ namespace :old_sql do
7
+ namespace :print do
8
+ desc 'Print report (see reports.yml) using a date range. Pass true for clean to just include data.'
9
+ task :range, :report, :env, :start, :end, :clean do |t, args|
10
+ report = args[:report]
11
+ env = args[:env]
12
+ start_date = args[:start]
13
+ end_date = args[:end]
14
+ clean = args[:clean].nil? ? false : true
15
+
16
+ OldSql::ShellReportFacade.run_report(report, env, start_date, end_date, clean)
17
+ end
18
+
19
+ desc 'Print report for today. Pass true for clean to just include data.'
20
+ task :today, :report, :env, :clean do |t, args|
21
+ report = args[:report]
22
+ env = args[:env]
23
+ clean = args[:clean].nil? ? false : true
24
+
25
+ now = Date.today
26
+ start_date = now
27
+ end_date = now + 1
28
+
29
+ OldSql::ShellReportFacade.run_report(report, env, start_date.to_s, end_date.to_s, clean)
30
+ end
31
+
32
+ desc 'Print report for the current week. Pass true for clean to just include data.'
33
+ task :week, :report, :env, :clean do |t, args|
34
+ report = args[:report]
35
+ env = args[:env]
36
+ clean = args[:clean].nil? ? false : true
37
+
38
+ now = Date.today
39
+ start_date = now - now.cwday + 1
40
+ end_date = now - now.cwday + 8
41
+
42
+ OldSql::ShellReportFacade.run_report(report, env, start_date.to_s, end_date.to_s, clean)
43
+ end
44
+ end
45
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: old_sql
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.4.0
5
+ version: 1.5.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Eddie Gonzales
@@ -79,6 +79,8 @@ files:
79
79
  - lib/old_sql/report_design/parser.rb
80
80
  - lib/old_sql/report_design/row.rb
81
81
  - lib/old_sql/report_processor/base.rb
82
+ - lib/old_sql/shell_report_facade.rb
83
+ - lib/old_sql/tasks/old_sql.rake
82
84
  - public/javascripts/old_sql/date_format.js
83
85
  - public/javascripts/old_sql/jqgrid/i18n/grid.locale-bg.js
84
86
  - public/javascripts/old_sql/jqgrid/i18n/grid.locale-bg1251.js
@@ -180,7 +182,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
180
182
  requirements:
181
183
  - - ">="
182
184
  - !ruby/object:Gem::Version
183
- hash: -2148067506136069246
185
+ hash: -2087005065096148738
184
186
  segments:
185
187
  - 0
186
188
  version: "0"