salesforce-bulkapi-notifier 0.0.1.pre → 0.0.2

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
  SHA256:
3
- metadata.gz: da816824549342c72e65bf3e77dbf6ca9389b94475834656a249835db83edb3e
4
- data.tar.gz: 0c9d478b604b0fbdf1165ebfc65c78dce4a95bd2d9013f773041959765871d6c
3
+ metadata.gz: 9165fb93e7f5b03135a6f35f40a3080c28f513401b7a9b5288428e5cf492b668
4
+ data.tar.gz: 458c3a2976ba9fe770dc49d2f3b5dfd5049667c991139197fa4ebc5112952ab0
5
5
  SHA512:
6
- metadata.gz: 55673ec3954a63337dd9ac4513cd40f69ebf1173ce298b5c68761390d18d3d0115704ae9e78cbfbaf6aeb84955ab8025f04a04d03028a9b905707f0ef1ce6404
7
- data.tar.gz: 712d8bb6bfee22d9eb131fd1e9b2998ceaa17973c94a7a84367a15def20112b015db8a1d5a9b391ca7424a0a9c36dfa9dbcc5f288f5cc7946e06a0c4bcb1ea62
6
+ metadata.gz: 3902021248bf022aaa5a541a0c1bc147d57cf5a86a416cf056c05efc6747a488a35215bb3c3d6d114b8fa39834ec8cef84ed2c7196312083714016c1fab91bdc
7
+ data.tar.gz: dc68d0e6b0c8de71ceeca55e06ccdeef7f10f2d4f1a06cb4c0e8c2dfc9cd9536f47394b247151d3daab9042ca6c8d0c25c56b2dd1135c63e5db3ff9fe1a63d6d
@@ -1,8 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- salesforce-bulkapi-notifier (0.0.1.pre)
5
- dotenv
4
+ salesforce-bulkapi-notifier (0.0.2)
6
5
  faraday
7
6
  faraday_middleware
8
7
  httpclient
@@ -21,7 +20,6 @@ GEM
21
20
  coderay (1.1.2)
22
21
  concurrent-ruby (1.1.5)
23
22
  diff-lcs (1.3)
24
- dotenv (2.7.5)
25
23
  faraday (0.17.3)
26
24
  multipart-post (>= 1.2, < 3)
27
25
  faraday_middleware (0.14.0)
@@ -1,14 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "bundler/setup"
4
- require "salesforce_bulkapi_notifier"
4
+ require "salesforce-bulkapi-notifier"
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
9
+ require "pry"; binding.pry
12
10
 
13
- require "irb"
14
- IRB.start(__FILE__)
11
+ Pry.start
data/bin/runner CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require_relative '../lib/salesforce_bulkapi_notifier'
3
+ require_relative '../lib/salesforce-bulkapi-notifier'
4
4
 
5
5
  SalesforceBulkAPINotifier.configure do |c|
6
6
  c.slack_api_token = ENV['SLACK_API_TOKEN']
File without changes
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
6
+
7
+ gem 'salesforce-bulkapi-notifier', '~> 0.0.1'
8
+
9
+ group :development do
10
+ gem "guard"
11
+ gem "guard-rspec"
12
+ gem 'pry'
13
+ gem 'byebug'
14
+ gem 'pry-byebug'
15
+ gem 'rspec'
16
+ end
@@ -0,0 +1,109 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ activesupport (6.0.2.1)
5
+ concurrent-ruby (~> 1.0, >= 1.0.2)
6
+ i18n (>= 0.7, < 2)
7
+ minitest (~> 5.1)
8
+ tzinfo (~> 1.1)
9
+ zeitwerk (~> 2.2)
10
+ byebug (11.1.1)
11
+ coderay (1.1.2)
12
+ concurrent-ruby (1.1.5)
13
+ diff-lcs (1.3)
14
+ dotenv (2.7.5)
15
+ faraday (0.17.3)
16
+ multipart-post (>= 1.2, < 3)
17
+ faraday_middleware (0.14.0)
18
+ faraday (>= 0.7.4, < 1.0)
19
+ ffi (1.12.2)
20
+ formatador (0.2.5)
21
+ gli (2.19.0)
22
+ guard (2.16.1)
23
+ formatador (>= 0.2.4)
24
+ listen (>= 2.7, < 4.0)
25
+ lumberjack (>= 1.0.12, < 2.0)
26
+ nenv (~> 0.1)
27
+ notiffany (~> 0.0)
28
+ pry (>= 0.9.12)
29
+ shellany (~> 0.0)
30
+ thor (>= 0.18.1)
31
+ guard-compat (1.2.1)
32
+ guard-rspec (4.7.3)
33
+ guard (~> 2.1)
34
+ guard-compat (~> 1.1)
35
+ rspec (>= 2.99.0, < 4.0)
36
+ hashie (4.1.0)
37
+ httpclient (2.8.3)
38
+ i18n (1.8.2)
39
+ concurrent-ruby (~> 1.0)
40
+ listen (3.2.1)
41
+ rb-fsevent (~> 0.10, >= 0.10.3)
42
+ rb-inotify (~> 0.9, >= 0.9.10)
43
+ lumberjack (1.2.4)
44
+ method_source (0.9.2)
45
+ minitest (5.14.0)
46
+ multipart-post (2.1.1)
47
+ nenv (0.3.0)
48
+ notiffany (0.1.3)
49
+ nenv (~> 0.1)
50
+ shellany (~> 0.0)
51
+ pry (0.12.2)
52
+ coderay (~> 1.1.0)
53
+ method_source (~> 0.9.0)
54
+ pry-byebug (3.8.0)
55
+ byebug (~> 11.0)
56
+ pry (~> 0.10)
57
+ rb-fsevent (0.10.3)
58
+ rb-inotify (0.10.1)
59
+ ffi (~> 1.0)
60
+ rspec (3.9.0)
61
+ rspec-core (~> 3.9.0)
62
+ rspec-expectations (~> 3.9.0)
63
+ rspec-mocks (~> 3.9.0)
64
+ rspec-core (3.9.1)
65
+ rspec-support (~> 3.9.1)
66
+ rspec-expectations (3.9.0)
67
+ diff-lcs (>= 1.2.0, < 2.0)
68
+ rspec-support (~> 3.9.0)
69
+ rspec-mocks (3.9.1)
70
+ diff-lcs (>= 1.2.0, < 2.0)
71
+ rspec-support (~> 3.9.0)
72
+ rspec-support (3.9.2)
73
+ salesforce-bulkapi-notifier (0.0.1)
74
+ dotenv
75
+ faraday
76
+ faraday_middleware
77
+ httpclient
78
+ slack-ruby-client
79
+ shellany (0.0.1)
80
+ slack-ruby-client (0.14.5)
81
+ activesupport
82
+ faraday (>= 0.9)
83
+ faraday_middleware
84
+ gli
85
+ hashie
86
+ websocket-driver
87
+ thor (1.0.1)
88
+ thread_safe (0.3.6)
89
+ tzinfo (1.2.6)
90
+ thread_safe (~> 0.1)
91
+ websocket-driver (0.7.1)
92
+ websocket-extensions (>= 0.1.0)
93
+ websocket-extensions (0.1.4)
94
+ zeitwerk (2.2.2)
95
+
96
+ PLATFORMS
97
+ ruby
98
+
99
+ DEPENDENCIES
100
+ byebug
101
+ guard
102
+ guard-rspec
103
+ pry
104
+ pry-byebug
105
+ rspec
106
+ salesforce-bulkapi-notifier (~> 0.0.1)
107
+
108
+ BUNDLED WITH
109
+ 2.1.4
@@ -0,0 +1,19 @@
1
+ require 'dotenv'
2
+ require 'salesforce-bulkapi-notifier'
3
+
4
+ Dotenv.load
5
+
6
+ SalesforceBulkAPINotifier.configure do |c|
7
+ c.slack_api_token = ENV['SLACK_API_TOKEN']
8
+ c.slack_channel_name = ENV['SLACK_CHANNEL_NAME']
9
+ c.salesforce_host = ENV['SALESFORCE_HOST']
10
+ c.salesforce_user_id = ENV['SALESFORCE_USER_ID']
11
+ c.salesforce_password = ENV['SALESFORCE_PASSWORD']
12
+ c.salesforce_client_id = ENV['SALESFORCE_CLIENT_ID']
13
+ c.salesforce_client_secret = ENV['SALESFORCE_CLIENT_SECRET']
14
+ c.error_rate = ENV['ERROR_RATE'].to_i || 10
15
+ c.interval_seconds = ENV['INTERVAL_SECONDS'].to_i || 60
16
+ c.logger.level = :debug
17
+ end
18
+
19
+ SalesforceBulkAPINotifier.execute
@@ -0,0 +1,66 @@
1
+ require_relative 'salesforce_bulkapi_notifier/version'
2
+ require_relative 'salesforce_bulkapi_notifier/configuration'
3
+ require_relative 'salesforce_bulkapi_notifier/salesforce_service'
4
+ require_relative 'salesforce_bulkapi_notifier/slack_service'
5
+
6
+ require 'logger'
7
+ require 'slack-ruby-client'
8
+ require 'faraday'
9
+ require 'faraday_middleware'
10
+ require 'httpclient'
11
+
12
+ module SalesforceBulkAPINotifier
13
+ extend Configuration
14
+ class << self
15
+ if ENV['DOCKER_LOGS']
16
+ $stdout = IO.new(IO.sysopen("/proc/1/fd/1", "w"),"w")
17
+ $stdout.sync = true
18
+ STDOUT = $stdout
19
+
20
+ $stderr = IO.new(IO.sysopen("/proc/1/fd/1", "w"),"w")
21
+ $stderr.sync = true
22
+ STDERR = $stderr
23
+ end
24
+
25
+ Signal.trap(:INT) do
26
+ puts 'Stopping Salesforce BulkAPI Notifier'
27
+ exit 0
28
+ end
29
+
30
+ Signal.trap('TERM') do
31
+ puts 'Stopping Salesforce BulkAPI Notifier'
32
+ exit 0
33
+ end
34
+
35
+ def execute
36
+ setup
37
+
38
+ logger.info('Starting Salesforce BulkAPI Notifier')
39
+ logger.info("Version: #{SalesforceBulkAPINotifier::VERSION}")
40
+
41
+ loop do
42
+ jobs = salesforce.get_all_jobs
43
+ logger.debug("All Job Count: #{jobs.size}")
44
+ started_at = Time.now.utc.to_datetime - interval_seconds.second
45
+ logger.debug("Screening by time: #{started_at}")
46
+ target_jobs = salesforce.screening_by_time(jobs, started_at)
47
+ logger.debug("Target Job Count: #{target_jobs.size}")
48
+
49
+ target_jobs.each do |job|
50
+ job_info = salesforce.get_job_info(job['id'])
51
+ logger.debug("Job Infomation: #{job_info}")
52
+ job_status = salesforce.annotate(job_info)
53
+ logger.debug("Job Status: #{job_status}")
54
+ next if job_status[:success]
55
+
56
+ logger.info(job_status)
57
+ logger.info(job_info)
58
+ slack.notify(slack_channel_name, "Job created by #{job_status[:user_name]} using BulkAPI failed due to '#{job_status[:message]}'.\nPlease check #{salesforce.instance_url}/#{job_info['id']}")
59
+ end
60
+ sleep interval_seconds.second
61
+ end
62
+ rescue => e
63
+ logger.fatal(e)
64
+ end
65
+ end
66
+ end
@@ -1,67 +1 @@
1
- require_relative 'salesforce_bulkapi_notifier/version'
2
- require_relative 'salesforce_bulkapi_notifier/configuration'
3
- require_relative 'salesforce_bulkapi_notifier/salesforce_service'
4
- require_relative 'salesforce_bulkapi_notifier/slack_service'
5
-
6
- require 'logger'
7
- require 'slack-ruby-client'
8
- require 'faraday'
9
- require 'faraday_middleware'
10
- require 'httpclient'
11
- require 'dotenv'
12
-
13
- module SalesforceBulkAPINotifier
14
- extend Configuration
15
- class << self
16
- if ENV['DOCKER_LOGS']
17
- $stdout = IO.new(IO.sysopen("/proc/1/fd/1", "w"),"w")
18
- $stdout.sync = true
19
- STDOUT = $stdout
20
-
21
- $stderr = IO.new(IO.sysopen("/proc/1/fd/1", "w"),"w")
22
- $stderr.sync = true
23
- STDERR = $stderr
24
- end
25
-
26
- Signal.trap(:INT) do
27
- puts 'Stopping Salesforce BulkAPI Notifier'
28
- exit 0
29
- end
30
-
31
- Signal.trap('TERM') do
32
- puts 'Stopping Salesforce BulkAPI Notifier'
33
- exit 0
34
- end
35
-
36
- def execute
37
- setup
38
-
39
- logger.info('Starting Salesforce BulkAPI Notifier')
40
- logger.info("Version: #{SalesforceBulkAPINotifier::VERSION}")
41
-
42
- loop do
43
- jobs = salesforce.get_all_jobs
44
- logger.debug("All Job Count: #{jobs.size}")
45
- started_at = Time.now.utc.to_datetime - interval_seconds.second
46
- logger.debug("Screening by time: #{started_at}")
47
- target_jobs = salesforce.screening_by_time(jobs, started_at)
48
- logger.debug("Target Job Count: #{target_jobs.size}")
49
-
50
- target_jobs.each do |job|
51
- job_info = salesforce.get_job_info(job['id'])
52
- logger.debug("Job Infomation: #{job_info}")
53
- job_status = salesforce.annotate(job_info)
54
- logger.debug("Job Status: #{job_status}")
55
- next if job_status[:success]
56
-
57
- logger.info(job_status)
58
- logger.info(job_info)
59
- slack.notify(slack_channel_name, "Job created by #{job_status[:user_name]} using BulkAPI failed due to '#{job_status[:message]}'.\nPlease check #{salesforce.instance_url}/#{job_info['id']}")
60
- end
61
- sleep interval_seconds.second
62
- end
63
- rescue => e
64
- logger.fatal(e)
65
- end
66
- end
67
- end
1
+ require 'salesforce-bulkapi-notifier'
@@ -22,16 +22,6 @@ module SalesforceBulkAPINotifier
22
22
  end
23
23
 
24
24
  def self.extended(base)
25
- Dotenv.load
26
-
27
- raise 'Missing ENV[SLACK_API_TOKEN]!' unless ENV['SLACK_API_TOKEN']
28
- raise 'Missing ENV[SLACK_CHANNEL_NAME]!' unless ENV['SLACK_CHANNEL_NAME']
29
- raise 'Missing ENV[SALESFORCE_HOST]!' unless ENV['SALESFORCE_HOST']
30
- raise 'Missing ENV[SALESFORCE_USER_ID]!' unless ENV['SALESFORCE_USER_ID']
31
- raise 'Missing ENV[SALESFORCE_PASSWORD]!' unless ENV['SALESFORCE_PASSWORD']
32
- raise 'Missing ENV[SALESFORCE_CLIENT_ID]!' unless ENV['SALESFORCE_CLIENT_ID']
33
- raise 'Missing ENV[SALESFORCE_CLIENT_SECRET]!' unless ENV['SALESFORCE_CLIENT_SECRET']
34
-
35
25
  base.reset
36
26
  end
37
27
 
@@ -44,7 +34,17 @@ module SalesforceBulkAPINotifier
44
34
  end
45
35
 
46
36
  def setup
37
+ raise 'Missing ENV[SALESFORCE_HOST]!' unless ENV['SALESFORCE_HOST']
38
+ raise 'Missing ENV[SALESFORCE_USER_ID]!' unless ENV['SALESFORCE_USER_ID']
39
+ raise 'Missing ENV[SALESFORCE_PASSWORD]!' unless ENV['SALESFORCE_PASSWORD']
40
+ raise 'Missing ENV[SALESFORCE_CLIENT_ID]!' unless ENV['SALESFORCE_CLIENT_ID']
41
+ raise 'Missing ENV[SALESFORCE_CLIENT_SECRET]!' unless ENV['SALESFORCE_CLIENT_SECRET']
42
+
47
43
  self.salesforce = SalesforceService.new
44
+
45
+ raise 'Missing ENV[SLACK_API_TOKEN]!' unless ENV['SLACK_API_TOKEN']
46
+ raise 'Missing ENV[SLACK_CHANNEL_NAME]!' unless ENV['SLACK_CHANNEL_NAME']
47
+
48
48
  self.slack = SlackService.new
49
49
  end
50
50
  end
@@ -1,3 +1,3 @@
1
1
  module SalesforceBulkAPINotifier
2
- VERSION = '0.0.1.pre'
2
+ VERSION = '0.0.2'
3
3
  end
@@ -27,11 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.add_dependency 'faraday_middleware'
28
28
  spec.add_dependency 'httpclient'
29
29
  spec.add_dependency 'slack-ruby-client'
30
- spec.add_dependency 'dotenv'
31
30
 
32
- spec.add_development_dependency "pry"
33
- spec.add_development_dependency "byebug"
34
- spec.add_development_dependency "pry-byebug"
35
31
  spec.add_development_dependency "bundler", "~> 2.1"
36
32
  spec.add_development_dependency "rake", "~> 10.0"
37
33
  spec.add_development_dependency "rspec", "~> 3.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: salesforce-bulkapi-notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - koudaiii
@@ -66,62 +66,6 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: dotenv
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: pry
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: byebug
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: pry-byebug
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
69
  - !ruby/object:Gem::Dependency
126
70
  name: bundler
127
71
  requirement: !ruby/object:Gem::Requirement
@@ -173,7 +117,6 @@ extensions: []
173
117
  extra_rdoc_files: []
174
118
  files:
175
119
  - ".dockerignore"
176
- - ".env.sample"
177
120
  - ".gitignore"
178
121
  - ".rspec"
179
122
  - ".travis.yml"
@@ -189,6 +132,11 @@ files:
189
132
  - bin/console
190
133
  - bin/runner
191
134
  - bin/setup
135
+ - example/.env.sample
136
+ - example/Gemfile
137
+ - example/Gemfile.lock
138
+ - example/sample.rb
139
+ - lib/salesforce-bulkapi-notifier.rb
192
140
  - lib/salesforce_bulkapi_notifier.rb
193
141
  - lib/salesforce_bulkapi_notifier/configuration.rb
194
142
  - lib/salesforce_bulkapi_notifier/salesforce_service.rb
@@ -210,9 +158,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
158
  version: '0'
211
159
  required_rubygems_version: !ruby/object:Gem::Requirement
212
160
  requirements:
213
- - - ">"
161
+ - - ">="
214
162
  - !ruby/object:Gem::Version
215
- version: 1.3.1
163
+ version: '0'
216
164
  requirements: []
217
165
  rubyforge_project:
218
166
  rubygems_version: 2.7.6