dekiru 0.0.19 → 0.0.20

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f9b1e7e918814bcf4e4437eb398e239dc6af8da
4
- data.tar.gz: c61905cf2a569b572bd2d712b0184ef0e1c1f74c
3
+ metadata.gz: 844c73ce0ab637db4415bd31e67ac17afb71323d
4
+ data.tar.gz: 1be786dc57003ad8ddc2c7937ca70beb3d7ca55b
5
5
  SHA512:
6
- metadata.gz: 757e6e5d2fc1ecb642bcc8110a9be1980dc3014b1b1393934f784a243ebead80f46d1aacc439d694f775552b6a8d6da2f4c8fd81f4fa27f4abc10aa973b97ee3
7
- data.tar.gz: 9a0c4a2a6ef0698adcb7c6e043e03a06b1eeda46c40dd0c3a72f49bd115ca9b5183fe0302843486846e479f47b486ddd5027eab3e10e18d1c8662a5297079611
6
+ metadata.gz: 855639c15c73a5299c143bb87fce7c71c4d5fa6ecac1f88653d85c46b4fce2c15d4c162ac944767671b421ad26c2aaaade8c35b32dbf8aa42bde349361f2cfcf
7
+ data.tar.gz: 6e1b89dbf1bf8daf8b02e0d4e2c379f2cca7bd2b7643380ae290c3c9b9d189424821d4b5324bcb9694a7788bc9e1a96df573fba94fb7ff3abccace51184bc6ca
data/README.md CHANGED
@@ -18,38 +18,6 @@ Or install it yourself as:
18
18
 
19
19
  $ gem install dekiru
20
20
 
21
- ## Usage
22
-
23
- 以下のコマンドを実行すると、監視のための設定ファイルが自動的に生成される。
24
-
25
- ```
26
- bin/rails g dekiru
27
- ```
28
-
29
- メールアドレス、例外時の処理などは必要に応じて変更する。
30
-
31
- ```
32
- Dekiru.configure do |config|
33
- config.monitor_email = "email@example.com"
34
- config.monitor_api_key = "xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx"
35
- config.error_handle = -> (e) { Bugsnag.notify(e) }
36
- end
37
- ```
38
-
39
- Rakefile にて、'dekiru/rake_monitor' を読み込む。
40
-
41
- ```
42
- require 'dekiru/rake_monitor'
43
- ```
44
-
45
- rake で、`task_with_monitor` を使ってタスクを記述することで、 task を監視することができます。
46
-
47
- ```
48
- task_with_monitor job: :environment, estimate_time: 10 do
49
- puts "execute"
50
- end
51
- ```
52
-
53
21
  ## Capybara Helpers
54
22
 
55
23
  以下の設定をすると Capybara 用のヘルパーメソッドが使えるようになる。
@@ -77,7 +45,6 @@ click_on 'Button in modal'
77
45
  ```
78
46
 
79
47
 
80
-
81
48
  ## Contributing
82
49
 
83
50
  1. Fork it
data/Rakefile CHANGED
@@ -8,18 +8,3 @@ RSpec::Core::RakeTask.new do |t|
8
8
  t.rspec_opts = ['--color', "--format progress"]
9
9
  t.pattern = 'spec/dekiru/**/*_spec.rb'
10
10
  end
11
-
12
- require 'dekiru'
13
- require 'dekiru/rake_monitor'
14
-
15
- Dekiru.configure do |config|
16
- config.monitor_email = "email@example.com"
17
- config.monitor_api_key = "0680fa6b-c014-4985-8d05-1cca2d50512b"
18
- config.error_handle = -> (e) {
19
- puts e
20
- }
21
- end
22
-
23
- task_with_monitor job: nil, estimate_time: 10 do
24
- puts "execute"
25
- end
data/dekiru.gemspec CHANGED
@@ -17,8 +17,6 @@ Gem::Specification.new do |gem|
17
17
 
18
18
  gem.add_dependency 'http_accept_language', [">= 2.0.0"]
19
19
  gem.add_dependency 'rails'
20
- gem.add_dependency 'faraday'
21
- gem.add_dependency 'faraday_middleware'
22
20
  gem.add_development_dependency 'rake', [">= 0"]
23
21
  gem.add_development_dependency 'rspec'
24
22
  gem.add_development_dependency 'rubocop'
data/lib/dekiru.rb CHANGED
@@ -8,5 +8,3 @@ require 'active_support/all'
8
8
 
9
9
  module Dekiru
10
10
  end
11
-
12
- require_relative 'dekiru/configure'
@@ -12,8 +12,6 @@ module Dekiru
12
12
 
13
13
  rake_tasks do
14
14
  load 'dekiru/tasks/smtp_check.rake'
15
- load 'dekiru/tasks/delayed_job_queue_check.rake'
16
- load 'dekiru/tasks/delayed_job_queue_monitor.rake'
17
15
  end
18
16
  end
19
17
  end
@@ -1,3 +1,3 @@
1
1
  module Dekiru
2
- VERSION = '0.0.19'
2
+ VERSION = '0.0.20'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dekiru
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.19
4
+ version: 0.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akihiro Matsumura
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-06 00:00:00.000000000 Z
11
+ date: 2017-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http_accept_language
@@ -38,34 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: faraday
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: faraday_middleware
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
41
  - !ruby/object:Gem::Dependency
70
42
  name: rake
71
43
  requirement: !ruby/object:Gem::Requirement
@@ -139,18 +111,12 @@ files:
139
111
  - dekiru.gemspec
140
112
  - lib/dekiru.rb
141
113
  - lib/dekiru/capybara/helpers.rb
142
- - lib/dekiru/configure.rb
143
114
  - lib/dekiru/controller_additions.rb
144
115
  - lib/dekiru/helper.rb
145
- - lib/dekiru/job_mon_client.rb
146
116
  - lib/dekiru/railtie.rb
147
- - lib/dekiru/rake_monitor.rb
148
117
  - lib/dekiru/smtp_check_mailer.rb
149
- - lib/dekiru/tasks/delayed_job_queue_check.rake
150
- - lib/dekiru/tasks/delayed_job_queue_monitor.rake
151
118
  - lib/dekiru/tasks/smtp_check.rake
152
119
  - lib/dekiru/version.rb
153
- - lib/generators/dekiru/dekiru_generator.rb
154
120
  - spec/dekiru/helper_spec.rb
155
121
  - spec/spec_helper.rb
156
122
  homepage: ''
@@ -172,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
138
  version: '0'
173
139
  requirements: []
174
140
  rubyforge_project:
175
- rubygems_version: 2.5.2
141
+ rubygems_version: 2.6.12
176
142
  signing_key:
177
143
  specification_version: 4
178
144
  summary: Usefull helper methods for Ruby on Rails
@@ -1,14 +0,0 @@
1
- module Dekiru
2
- def self.configure(&block)
3
- @configure ||= Configure.new
4
- yield @configure if block_given?
5
- @configure
6
- end
7
-
8
- class Configure
9
- attr_accessor :monitor_email, :monitor_api_key, :error_handle
10
- def initialize
11
- @error_handle = -> (e) {}
12
- end
13
- end
14
- end
@@ -1,58 +0,0 @@
1
- require 'faraday'
2
- require 'faraday_middleware'
3
-
4
- module Dekiru
5
- class JobMonClient
6
- def host
7
- 'https://job-mon.herokuapp.com'
8
- end
9
-
10
- def conn
11
- @conn ||= Faraday.new(:url => host) do |faraday|
12
- faraday.request :url_encoded
13
- faraday.request :json
14
- faraday.response :json
15
- faraday.adapter Faraday.default_adapter
16
- end
17
- end
18
-
19
- def api_key
20
- Dekiru.configure.monitor_api_key
21
- end
22
-
23
- def job_start(task, estimate_time, monitor_email)
24
- body = {
25
- job: {
26
- name: task.name,
27
- end_time: Time.current.since(estimate_time),
28
- email: monitor_email
29
- }
30
- }
31
- response = conn.post "/api/apps/#{api_key}/jobs.json", body
32
- response.body['id']
33
- rescue => e
34
- Dekiru.configure.error_handle.call(e)
35
- nil
36
- end
37
-
38
- def job_end(job_id)
39
- if job_id
40
- conn.put "/api/apps/#{api_key}/jobs/#{job_id}/finished.json"
41
- end
42
- end
43
-
44
- def send_queue_log(count)
45
- body = {
46
- queue_log: {
47
- count: count,
48
- rails_env: Rails.env,
49
- }
50
- }
51
- response = conn.post "/api/apps/#{api_key}/queue_logs.json", body
52
- response.body['id']
53
- rescue => e
54
- Dekiru.configure.error_handle.call(e)
55
- nil
56
- end
57
- end
58
- end
@@ -1,29 +0,0 @@
1
- require 'dekiru/job_mon_client'
2
-
3
- module Dekiru
4
- module RakeMonitor
5
- def resolve_args(args)
6
- estimate_time = args.first.delete(:estimate_time)
7
- [args, estimate_time]
8
- end
9
-
10
- def client
11
- @client ||= JobMonClient.new
12
- end
13
-
14
- def monitor_email
15
- Dekiru.configure.monitor_email
16
- end
17
-
18
- def task_with_monitor(*args, &block)
19
- args, estimate_time = resolve_args(args)
20
- task *args do |t|
21
- job_id = client.job_start(t, estimate_time, monitor_email)
22
- block.call
23
- client.job_end(job_id)
24
- end
25
- end
26
- end
27
- end
28
-
29
- self.extend Dekiru::RakeMonitor
@@ -1,18 +0,0 @@
1
- namespace :dekiru do
2
- desc '[Deprecated] Ops check for Delayed::Job queue'
3
- task delayed_job_queue_check: :environment do
4
- Rails.logger.info "[INFO] Start dekiru:delayed_job_queue_check env:#{Rails.env}"
5
- Rails.logger.warn '[WARNING] Use dekiru:delayed_job_queue_monitor'
6
- if defined?(Delayed::Job)
7
- if (count = Delayed::Job.where('run_at < ? or last_error IS NOT NULL', 30.seconds.since).count) > 0
8
- message = "There are #{count} jobs that are not running for Delayed::Job. Check job list!"
9
- if defined?(Bugsnag)
10
- Bugsnag.notify(message)
11
- else
12
- fail(message)
13
- end
14
- end
15
- end
16
- Rails.logger.info "[INFO] End dekiru:delayed_job_queue_check env:#{Rails.env}"
17
- end
18
- end
@@ -1,13 +0,0 @@
1
- require 'dekiru/job_mon_client'
2
-
3
- namespace :dekiru do
4
- desc 'Ops monitor for Delayed::Job queue for job-mon'
5
- task delayed_job_queue_monitor: :environment do
6
- Rails.logger.info "[INFO] Start dekiru:delayed_job_queue_monitor env:#{Rails.env}"
7
- if defined?(Delayed::Job)
8
- count = Delayed::Job.where('run_at < ? or last_error IS NOT NULL', 30.seconds.since).count
9
- Dekiru::JobMonClient.new.send_queue_log(count)
10
- end
11
- Rails.logger.info "[INFO] End dekiru:delayed_job_queue_monitor env:#{Rails.env}"
12
- end
13
- end
@@ -1,34 +0,0 @@
1
- require 'rails/generators'
2
- require 'dekiru/job_mon_client'
3
-
4
- class DekiruGenerator < Rails::Generators::Base
5
- source_root File.expand_path('../templates', __FILE__)
6
-
7
- desc 'Configures the dekiru job monitor'
8
- def create_initializer_file
9
- initializer 'dekiru.rb' do
10
- <<-EOF
11
- Dekiru.configure do |config|
12
- config.monitor_email = "support+#{fetch_app_name}@sonicgarden.jp"
13
- config.monitor_api_key = "#{fetch_api_key}"
14
- config.error_handle = -> (e) { Bugsnag.notify(e) }
15
- end
16
- EOF
17
- end
18
- end
19
-
20
- def client
21
- @client ||= Dekiru::JobMonClient.new
22
- end
23
-
24
- private
25
-
26
- def fetch_api_key
27
- res = client.conn.post '/api/apps.json', app: { name: fetch_app_name }
28
- res.body['api_key']
29
- end
30
-
31
- def fetch_app_name
32
- File.basename(Rails.root)
33
- end
34
- end