job_notifier 1.0.0 → 1.1.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.
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