job_notifier 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/Gemfile.lock +5 -3
  4. data/job_notifier.gemspec +1 -0
  5. data/lib/job_notifier/engine.rb +4 -1
  6. data/lib/job_notifier/logger.rb +45 -0
  7. data/lib/job_notifier/version.rb +1 -1
  8. data/lib/job_notifier.rb +1 -0
  9. data/spec/dummy/db/development.sqlite3 +0 -0
  10. data/spec/dummy/log/development.log +5367 -0
  11. data/spec/dummy/log/test.log +252 -0
  12. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/-G/-GveclH2c4AJ0F2uL6co5BAB_tYM95Ku5Ck3fg3Hc6k.cache +0 -0
  13. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/1e/1eDUwogv1wCqFvnsIm_nhSx2jnLqUGtI1xUJIN-l16g.cache +1 -0
  14. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  15. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/89/89w7NaV6lPBAfZVdfkmopJFJuwUm7gXiVPcZxt565_E.cache +0 -0
  16. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/8R/8Rx8sm5uy1PHQglr12AuNYr8bXFcaESzsmKDAOSZ76k.cache +0 -0
  17. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Cs/CsgITdnoK8_gEUOO-VFmXXdSp3U2e2JCyNXec6FRZlY.cache +0 -0
  18. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/DS/DSOLSc6A5RVSmvM415eEWAWG_AgOvZcLZOXQjsXyWQA.cache +0 -0
  19. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ER/ERIhhkC0nBZDXqlDn0mXHrkrs_GPOxP7F7a70kUtx3I.cache +1 -0
  20. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/GS/GSYOC-pszNtwHt4c-Lo8Gue-MGEdNNGQIQJw2nS_gS0.cache +0 -0
  21. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/Lp/Lpdy5sEQ64fxZUmoCW1U2JZRcigvKHbQ_LhbqLUMows.cache +1 -0
  22. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/O9/O9QU90Fu7AqBAB31SsXiSSwuDAA-WRMTvQf_oS5rXS8.cache +0 -0
  23. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  24. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/X2/X2hdh6kt8wzxqAt-enHhmKCBxAzHrv82UUBRYaG3_fs.cache +1 -0
  25. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/bn/bncSCdc2AfNDJzvmfZMH3E-IEVGZu6iUd5EC0WkH-Z0.cache +0 -0
  26. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/fZ/fZ9H_KjFoFfW7FqMB1A4cSa3EsXC8dX7v-VQJYRSJHk.cache +1 -0
  27. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/hR/hRdK8r2hDS-C0wYY8IRTGZJKznSdPVeFYaR5vJKEHi0.cache +1 -0
  28. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/jd/jd1N2ahKVxbKWIgy09_CJVy7UyoEqkmHOiZeB691RtY.cache +0 -0
  29. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mD/mDGzXQ81u8HQycpxMCOGh1g6rLHg9RBajq3DdbFlL4E.cache +1 -0
  30. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/mw/mwRbfLO1vJxbKQ-k3bYvRwMykL_yMbxVo5l_aGXnPyQ.cache +0 -0
  31. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/nz/nzhBOc_BmoyFakEF2EOQ4a0aghloLMYCrlnQP0rHVLs.cache +1 -0
  32. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/o7/o7zQ6QY0zgMOeEjO3uYYhX-zJWxp-WqDQZ-7HPFVZVE.cache +0 -0
  33. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/ow/ow19PYQOyFHSeyFWRX-yfLKh637sPoryvuY3SMv_Kvk.cache +1 -0
  34. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/p9/p9Wt8VP4Z8vR35WPKdPKAv4_wiNuBEcttWollOUhp9k.cache +1 -0
  35. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/sG/sGhULBDomUtPteRueTXoAM65_WaXLQMJh-NZa__WCe4.cache +2 -0
  36. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/tb/tbTtIqrR3Pv_YkUZQPuwIqe5M9bDI4_g6w2GTdmAF3M.cache +0 -0
  37. data/spec/dummy/tmp/cache/assets/sprockets/v3.0/zC/zCAHudpoDDHfDk7BvKD3-nDfRPr2_Wl_r5pGbKrXKAI.cache +0 -0
  38. data/spec/dummy/tmp/pids/server.pid +1 -1
  39. metadata +63 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a68d1d5104e379f3ada2d94b7c32b034fbdb73e0
4
- data.tar.gz: 01ba5257b1ebbf75d5846577a19e385a1e8bf587
3
+ metadata.gz: c8937d5be6261a37e48eb27ab905ad9b93eb196c
4
+ data.tar.gz: b72d27da476103948cc7da671edbd3c5deb583ff
5
5
  SHA512:
6
- metadata.gz: 9aab43a3f1e70c51225c8a8ea4676eac6dc86b282d839943d11961ee5849e64b804f6dd965bee08a9afa62942e59d8a911022fc3c13d89000bae45e30e05a692
7
- data.tar.gz: 24986bffc98509d1134ef828d510440918d005de91e079e281526555e80eadd28b91b532c9cfa25f06446fc1e70ddc928fc2d19e865132dbb8cf26d6227e2c15
6
+ metadata.gz: 3570373e7c9bd76cc1508e6a494f7429d00fee041e33a4cc37a1c6a1843d481b3095b96afde0272e7c572774e4c1b8e808a58a5b7aefcdc06fa8f499d95dd065
7
+ data.tar.gz: f7fd01921da169626cf55b57149dfcabe68b5010210e7b5e064a6644eda05db5539451773f81fa87651c12607834095f85dfb0104918ba477acf619b8bd0cf21
data/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
  This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ### v1.1.0
6
+
7
+ #### Added
8
+
9
+ - Replace Rails::Rack::Logger class with custom logger to avoid noisy logs.
10
+
5
11
  ### v1.0.0
6
12
 
7
13
  #### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- job_notifier (1.0.0)
4
+ job_notifier (1.1.0)
5
+ colorize (~> 0.7, >= 0.7.7)
5
6
  enumerize (~> 1.0.0, ~> 1.0)
6
7
  rails (~> 4.2, >= 4.2.0)
7
8
 
@@ -46,6 +47,7 @@ GEM
46
47
  arel (6.0.3)
47
48
  builder (3.2.2)
48
49
  coderay (1.1.1)
50
+ colorize (0.8.1)
49
51
  concurrent-ruby (1.0.2)
50
52
  diff-lcs (1.2.5)
51
53
  enumerize (1.0.0)
@@ -122,10 +124,10 @@ GEM
122
124
  rspec-support (~> 3.4.0)
123
125
  rspec-support (3.4.1)
124
126
  slop (3.6.0)
125
- sprockets (3.6.0)
127
+ sprockets (3.6.3)
126
128
  concurrent-ruby (~> 1.0)
127
129
  rack (> 1, < 3)
128
- sprockets-rails (3.0.4)
130
+ sprockets-rails (3.1.1)
129
131
  actionpack (>= 4.0)
130
132
  activesupport (>= 4.0)
131
133
  sprockets (>= 3.0.0)
data/job_notifier.gemspec CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
 
20
20
  s.add_dependency "rails", "~> 4.2", ">= 4.2.0"
21
21
  s.add_dependency "enumerize", "~> 1.0", "~> 1.0.0"
22
+ s.add_dependency "colorize", "~> 0.7", ">= 0.7.7"
22
23
 
23
24
  s.add_development_dependency "pry"
24
25
  s.add_development_dependency "sqlite3"
@@ -14,10 +14,13 @@ module JobNotifier
14
14
  require_relative "./notifier"
15
15
  require_relative "./identifier"
16
16
  require_relative "./adapters"
17
+ require_relative "./logger"
17
18
 
18
19
  ActiveSupport.on_load :action_controller do
19
- helper JobNotifier::ApplicationHelper
20
+ helper(JobNotifier::ApplicationHelper)
20
21
  end
22
+
23
+ Rails.application.middleware.swap(Rails::Rack::Logger, JobNotifier::Logger)
21
24
  end
22
25
  end
23
26
  end
@@ -0,0 +1,45 @@
1
+ module JobNotifier
2
+ class Logger < Rails::Rack::Logger
3
+ def initialize(app, opts = {})
4
+ @app = app
5
+ @opts = opts
6
+ super
7
+ end
8
+
9
+ def call(env)
10
+ if env["PATH_INFO"] =~ %r{\/job_notifier\/\w+\/jobs\/\w+.json}
11
+ Rails.logger.silence do
12
+ response = @app.call(env)
13
+ log_jobs_info(response[2])
14
+ return response
15
+ end
16
+ end
17
+
18
+ super(env)
19
+ end
20
+
21
+ def log_jobs_info(response)
22
+ response.each do |resp|
23
+ next if resp.blank?
24
+ result = JSON.parse(resp)
25
+ next if result.blank?
26
+ puts build_log_msg(result)
27
+ end
28
+ end
29
+
30
+ def build_log_msg(result)
31
+ msg = ["[#{DateTime.now.strftime('%Y-%m-%d %H:%M:%S')}] UNNOTIFIED JOBS".light_blue]
32
+ grouped_jobs = result.group_by { |job| job["status"].to_sym }
33
+ load_job_status_msg(grouped_jobs, msg, :pending, :yellow)
34
+ load_job_status_msg(grouped_jobs, msg, :finished, :green)
35
+ load_job_status_msg(grouped_jobs, msg, :failed, :red)
36
+ msg.join(" ")
37
+ end
38
+
39
+ def load_job_status_msg(grouped_jobs, msg, status, color)
40
+ if grouped_jobs.has_key?(status)
41
+ msg << "#{status.to_s.capitalize}: #{grouped_jobs[status].count}".send(color)
42
+ end
43
+ end
44
+ end
45
+ end
@@ -1,3 +1,3 @@
1
1
  module JobNotifier
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
data/lib/job_notifier.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "job_notifier/engine"
2
2
  require "enumerize"
3
+ require "colorize"
3
4
 
4
5
  module JobNotifier
5
6
  extend self
Binary file