old_sql 1.4.0 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
data/lib/old_sql/engine.rb
CHANGED
@@ -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
|
-
|
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.
|
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: -
|
185
|
+
hash: -2087005065096148738
|
184
186
|
segments:
|
185
187
|
- 0
|
186
188
|
version: "0"
|