dalliance 0.6.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 33f7433a3391650bd85c64aa0168d2ba9c47a58623fb939241f5d379f9fd621e
4
- data.tar.gz: f0cd58c87d0c512592ca19ea3f25d572569302a1e2c2fb4c8a0864ac2827a9d5
3
+ metadata.gz: ceb1bcc758ad39970b608af9112dfb735f7408edc7d97caf818654d5fca558db
4
+ data.tar.gz: eed4e050d077b5cdf74b8d8997e917423229199904740a06028e2d3daca89c66
5
5
  SHA512:
6
- metadata.gz: 6882e52916979a54c75a589ead81bb4a20b2639129ae18751afc11c45ccd6e1ddd2c2eee0ecb43ed9901c0ebd9d4e194621321c7d8e2474ec69c804d4e6c7884
7
- data.tar.gz: c1e5741fdcfcb3914d8b729476a7e12c64305125abb94a10687dd79693ef5499d0c61467b466e387dc3a60fd62e56354e97e17ce1f7f38d63cdc94ba76d69aa0
6
+ metadata.gz: 9bbddd1d2685d64b7a2ccd0d5d610f5d7d44d249ef59d0c0d76198e4c0733340dc89dc506b9c084c1f667ec7370830560854575b1dc0079d63a16cc630ba0093
7
+ data.tar.gz: f60a961960220bfe1973d12a1c4440bd87d1ae6d2cbfd71c57e2308d66e58e0887a5aee8513bde25316bb50765d12dbb4d42105b04d3d8dedab4465e7a63634b
@@ -0,0 +1,107 @@
1
+ version: 2.1
2
+
3
+ defaults: &defaults
4
+ working_directory: ~/app
5
+ docker:
6
+ - image: circleci/ruby:2.6.5
7
+ - image: redis
8
+ # - image: circleci/mysql:5.7
9
+ # environment:
10
+ # MYSQL_USER: root
11
+ # MYSQL_PASSWORD: ''
12
+
13
+ jobs:
14
+ build:
15
+ <<: *defaults
16
+ parallelism: 1
17
+ steps:
18
+ - checkout
19
+
20
+
21
+ - restore_cache:
22
+ keys:
23
+ - v2-bundle-{{ checksum "Gemfile.lock" }}
24
+ - run:
25
+ name: Bundle install
26
+ command: bundle check || bundle install --retry=3 --path vendor/bundle
27
+ - save_cache:
28
+ key: v2-bundle-{{ checksum "Gemfile.lock" }}
29
+ paths:
30
+ - vendor/bundle
31
+ - persist_to_workspace:
32
+ root: ~/
33
+ paths:
34
+ - app
35
+
36
+ test:
37
+ <<: *defaults
38
+ parallelism: 1
39
+ steps:
40
+ - attach_workspace:
41
+ at: ~/
42
+
43
+ - run: bundle --path vendor/bundle
44
+
45
+ # - run:
46
+ # name: Wait for DB
47
+ # command: dockerize -wait tcp://localhost:3306 -timeout 1m
48
+
49
+ - run:
50
+ name: Run RSpec tests
51
+ command: |
52
+ TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
53
+ echo $TEST_FILES
54
+ bundle exec rspec --profile 10 \
55
+ --format RspecJunitFormatter \
56
+ --out test_results/rspec.xml \
57
+ --format progress \
58
+ $TEST_FILES
59
+ - store_test_results:
60
+ path: test_results
61
+ - store_artifacts:
62
+ path: test_results
63
+
64
+ bundler_audit:
65
+ <<: *defaults
66
+ parallelism: 1
67
+ steps:
68
+ - attach_workspace:
69
+ at: ~/
70
+ - run: bundle --path vendor/bundle
71
+ - run:
72
+ name: Run bundler-audit
73
+ command: |
74
+ if [[ "${CIRCLE_NODE_INDEX}" == 0 ]]
75
+ then
76
+ bundle exec bundle-audit update && bundle exec bundle-audit check
77
+ fi
78
+
79
+ rubocop:
80
+ <<: *defaults
81
+ parallelism: 1
82
+ steps:
83
+ - attach_workspace:
84
+ at: ~/
85
+ - run: bundle --path vendor/bundle
86
+ - run:
87
+ name: Run rubocop
88
+ command: |
89
+ if [[ "${CIRCLE_NODE_INDEX}" == 0 ]]
90
+ then
91
+ bundle exec rubocop -D -l
92
+ fi
93
+
94
+ workflows:
95
+ version: 2
96
+ continuous_integration:
97
+ jobs:
98
+ - build
99
+ - test:
100
+ requires:
101
+ - build
102
+ - bundler_audit:
103
+ requires:
104
+ - build
105
+ - rubocop:
106
+ requires:
107
+ - build
data/Appraisals CHANGED
@@ -1,7 +1,3 @@
1
- appraise "rails-4.2" do
2
- gem "rails", "~> 4.2.0"
3
- end
4
-
5
1
  appraise "rails-5.0" do
6
2
  gem "rails", "~> 5.0.0"
7
3
  end
@@ -12,4 +8,12 @@ end
12
8
 
13
9
  appraise "rails-5.2" do
14
10
  gem "rails", "~> 5.2.2"
11
+ end
12
+
13
+ appraise "rails-6.0" do
14
+ gem "rails", "~> 6.0.0"
15
+ end
16
+
17
+ appraise "rails-6.1" do
18
+ gem "rails", "~> 6.1.0"
15
19
  end
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in dalliance.gemspec
4
4
  gemspec
data/README.rdoc CHANGED
@@ -19,7 +19,19 @@ In your model:
19
19
  process_method is the name of the method to invoke for background processing
20
20
  to kick it off just call dalliance_background_process
21
21
 
22
- Handle your migrations:
22
+ Models can also be re-processed to allow front-end users to reprocess without
23
+ needing to loop in PMs or developers:
24
+
25
+ class Model < ActiveRecord::Base
26
+ dalliance :process_method,
27
+ reprocess_method: :reprocessing_method
28
+ end
29
+
30
+ Keep in mind that a record that has not already been completely processed (eg in
31
+ a state of 'pending' or 'processing') cannot be reprocessed. Attempting to
32
+ reprocess the record will raise an error.
33
+
34
+ == Handle your migrations:
23
35
 
24
36
  rails g dalliance:progress_meter
25
37
 
@@ -8,6 +8,8 @@ en:
8
8
  validation_error: Validation Error
9
9
  processing_error: Processing Error
10
10
  completed: Completed
11
+ cancel_requested: Cancellation Requested
12
+ cancelled: Cancelled
11
13
  attributes:
12
14
  dalliance_status: Status
13
15
  dalliance_error_hash: Errors
data/dalliance.gemspec CHANGED
@@ -11,14 +11,12 @@ Gem::Specification.new do |s|
11
11
  s.summary = %q{ Wrapper for an ActiveRecord model with a single ascynhronous method }
12
12
  s.description = %q{ Background processing for ActiveRecord using a 'delayable' worker and a state_machine }
13
13
 
14
- s.rubyforge_project = "dalliance"
15
-
16
14
  s.files = `git ls-files`.split("\n")
17
15
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
16
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
17
  s.require_paths = ["lib"]
20
18
 
21
- s.add_dependency('rails', '>= 4.2', "< 5.3")
19
+ s.add_dependency('rails', '>= 5.0', "< 6.2")
22
20
 
23
21
  s.add_dependency('state_machine')
24
22
 
@@ -26,6 +24,8 @@ Gem::Specification.new do |s|
26
24
  s.add_development_dependency('delayed_job', '>= 3.0.0')
27
25
  s.add_development_dependency('delayed_job_active_record')
28
26
  s.add_development_dependency('sqlite3')
29
-
30
27
  s.add_development_dependency('resque')
28
+ s.add_development_dependency('bundler-audit')
29
+ s.add_development_dependency('rubocop', '~> 0.78')
30
+ s.add_development_dependency('rspec_junit_formatter')
31
31
  end
@@ -1,6 +1,6 @@
1
1
  # This file was generated by Appraisal
2
2
 
3
- source "http://rubygems.org"
3
+ source "https://rubygems.org"
4
4
 
5
5
  gem "appraisal"
6
6
  gem "rails", "~> 5.0.0"
@@ -1,48 +1,48 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- dalliance (0.5.1)
5
- rails (>= 3.2, < 5.3)
4
+ dalliance (0.8.1)
5
+ rails (>= 5.0, < 6.2)
6
6
  state_machine
7
7
 
8
8
  GEM
9
- remote: http://rubygems.org/
9
+ remote: https://rubygems.org/
10
10
  specs:
11
- actioncable (5.0.0)
12
- actionpack (= 5.0.0)
13
- nio4r (~> 1.2)
11
+ actioncable (5.0.7.2)
12
+ actionpack (= 5.0.7.2)
13
+ nio4r (>= 1.2, < 3.0)
14
14
  websocket-driver (~> 0.6.1)
15
- actionmailer (5.0.0)
16
- actionpack (= 5.0.0)
17
- actionview (= 5.0.0)
18
- activejob (= 5.0.0)
15
+ actionmailer (5.0.7.2)
16
+ actionpack (= 5.0.7.2)
17
+ actionview (= 5.0.7.2)
18
+ activejob (= 5.0.7.2)
19
19
  mail (~> 2.5, >= 2.5.4)
20
20
  rails-dom-testing (~> 2.0)
21
- actionpack (5.0.0)
22
- actionview (= 5.0.0)
23
- activesupport (= 5.0.0)
21
+ actionpack (5.0.7.2)
22
+ actionview (= 5.0.7.2)
23
+ activesupport (= 5.0.7.2)
24
24
  rack (~> 2.0)
25
25
  rack-test (~> 0.6.3)
26
26
  rails-dom-testing (~> 2.0)
27
27
  rails-html-sanitizer (~> 1.0, >= 1.0.2)
28
- actionview (5.0.0)
29
- activesupport (= 5.0.0)
28
+ actionview (5.0.7.2)
29
+ activesupport (= 5.0.7.2)
30
30
  builder (~> 3.1)
31
31
  erubis (~> 2.7.0)
32
32
  rails-dom-testing (~> 2.0)
33
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
34
- activejob (5.0.0)
35
- activesupport (= 5.0.0)
33
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
34
+ activejob (5.0.7.2)
35
+ activesupport (= 5.0.7.2)
36
36
  globalid (>= 0.3.6)
37
- activemodel (5.0.0)
38
- activesupport (= 5.0.0)
39
- activerecord (5.0.0)
40
- activemodel (= 5.0.0)
41
- activesupport (= 5.0.0)
37
+ activemodel (5.0.7.2)
38
+ activesupport (= 5.0.7.2)
39
+ activerecord (5.0.7.2)
40
+ activemodel (= 5.0.7.2)
41
+ activesupport (= 5.0.7.2)
42
42
  arel (~> 7.0)
43
- activesupport (5.0.0)
43
+ activesupport (5.0.7.2)
44
44
  concurrent-ruby (~> 1.0, >= 1.0.2)
45
- i18n (~> 0.7)
45
+ i18n (>= 0.7, < 2)
46
46
  minitest (~> 5.1)
47
47
  tzinfo (~> 1.1)
48
48
  appraisal (2.2.0)
@@ -50,67 +50,77 @@ GEM
50
50
  rake
51
51
  thor (>= 0.14.0)
52
52
  arel (7.1.4)
53
- builder (3.2.3)
54
- byebug (10.0.2)
55
- concurrent-ruby (1.1.5)
56
- crass (1.0.4)
57
- delayed_job (4.1.5)
58
- activesupport (>= 3.0, < 5.3)
59
- delayed_job_active_record (4.1.3)
60
- activerecord (>= 3.0, < 5.3)
53
+ ast (2.4.0)
54
+ builder (3.2.4)
55
+ bundler-audit (0.6.1)
56
+ bundler (>= 1.2.0, < 3)
57
+ thor (~> 0.18)
58
+ byebug (11.1.1)
59
+ concurrent-ruby (1.1.6)
60
+ crass (1.0.6)
61
+ delayed_job (4.1.8)
62
+ activesupport (>= 3.0, < 6.1)
63
+ delayed_job_active_record (4.1.4)
64
+ activerecord (>= 3.0, < 6.1)
61
65
  delayed_job (>= 3.0, < 5)
62
66
  diff-lcs (1.3)
63
67
  erubis (2.7.0)
64
68
  globalid (0.4.2)
65
69
  activesupport (>= 4.2.0)
66
- i18n (0.9.5)
70
+ i18n (1.8.2)
67
71
  concurrent-ruby (~> 1.0)
68
- loofah (2.2.3)
72
+ jaro_winkler (1.5.4)
73
+ loofah (2.4.0)
69
74
  crass (~> 1.0.2)
70
75
  nokogiri (>= 1.5.9)
71
76
  mail (2.7.1)
72
77
  mini_mime (>= 0.1.1)
73
78
  method_source (0.9.2)
74
- mini_mime (1.0.1)
79
+ mini_mime (1.0.2)
75
80
  mini_portile2 (2.4.0)
76
- minitest (5.11.3)
81
+ minitest (5.14.0)
77
82
  mono_logger (1.1.0)
78
- multi_json (1.13.1)
79
- mustermann (1.0.3)
80
- nio4r (1.2.1)
81
- nokogiri (1.10.3)
83
+ multi_json (1.14.1)
84
+ mustermann (1.1.1)
85
+ ruby2_keywords (~> 0.0.1)
86
+ nio4r (2.5.2)
87
+ nokogiri (1.10.8)
82
88
  mini_portile2 (~> 2.4.0)
83
- rack (2.0.7)
84
- rack-protection (2.0.5)
89
+ parallel (1.19.1)
90
+ parser (2.7.0.3)
91
+ ast (~> 2.4.0)
92
+ rack (2.2.2)
93
+ rack-protection (2.0.8.1)
85
94
  rack
86
95
  rack-test (0.6.3)
87
96
  rack (>= 1.0)
88
- rails (5.0.0)
89
- actioncable (= 5.0.0)
90
- actionmailer (= 5.0.0)
91
- actionpack (= 5.0.0)
92
- actionview (= 5.0.0)
93
- activejob (= 5.0.0)
94
- activemodel (= 5.0.0)
95
- activerecord (= 5.0.0)
96
- activesupport (= 5.0.0)
97
- bundler (>= 1.3.0, < 2.0)
98
- railties (= 5.0.0)
97
+ rails (5.0.7.2)
98
+ actioncable (= 5.0.7.2)
99
+ actionmailer (= 5.0.7.2)
100
+ actionpack (= 5.0.7.2)
101
+ actionview (= 5.0.7.2)
102
+ activejob (= 5.0.7.2)
103
+ activemodel (= 5.0.7.2)
104
+ activerecord (= 5.0.7.2)
105
+ activesupport (= 5.0.7.2)
106
+ bundler (>= 1.3.0)
107
+ railties (= 5.0.7.2)
99
108
  sprockets-rails (>= 2.0.0)
100
109
  rails-dom-testing (2.0.3)
101
110
  activesupport (>= 4.2.0)
102
111
  nokogiri (>= 1.6)
103
- rails-html-sanitizer (1.0.4)
104
- loofah (~> 2.2, >= 2.2.2)
105
- railties (5.0.0)
106
- actionpack (= 5.0.0)
107
- activesupport (= 5.0.0)
112
+ rails-html-sanitizer (1.3.0)
113
+ loofah (~> 2.3)
114
+ railties (5.0.7.2)
115
+ actionpack (= 5.0.7.2)
116
+ activesupport (= 5.0.7.2)
108
117
  method_source
109
118
  rake (>= 0.8.7)
110
119
  thor (>= 0.18.1, < 2.0)
111
- rake (12.3.2)
112
- redis (4.1.0)
113
- redis-namespace (1.6.0)
120
+ rainbow (3.0.0)
121
+ rake (13.0.1)
122
+ redis (4.1.3)
123
+ redis-namespace (1.7.0)
114
124
  redis (>= 3.0.4)
115
125
  resque (2.0.0)
116
126
  mono_logger (~> 1.0)
@@ -118,49 +128,64 @@ GEM
118
128
  redis-namespace (~> 1.6)
119
129
  sinatra (>= 0.9.2)
120
130
  vegas (~> 0.1.2)
121
- rspec (3.8.0)
122
- rspec-core (~> 3.8.0)
123
- rspec-expectations (~> 3.8.0)
124
- rspec-mocks (~> 3.8.0)
125
- rspec-core (3.8.0)
126
- rspec-support (~> 3.8.0)
127
- rspec-expectations (3.8.2)
131
+ rexml (3.2.4)
132
+ rspec (3.9.0)
133
+ rspec-core (~> 3.9.0)
134
+ rspec-expectations (~> 3.9.0)
135
+ rspec-mocks (~> 3.9.0)
136
+ rspec-core (3.9.1)
137
+ rspec-support (~> 3.9.1)
138
+ rspec-expectations (3.9.0)
128
139
  diff-lcs (>= 1.2.0, < 2.0)
129
- rspec-support (~> 3.8.0)
130
- rspec-mocks (3.8.0)
140
+ rspec-support (~> 3.9.0)
141
+ rspec-mocks (3.9.1)
131
142
  diff-lcs (>= 1.2.0, < 2.0)
132
- rspec-support (~> 3.8.0)
133
- rspec-support (3.8.0)
134
- sinatra (2.0.5)
143
+ rspec-support (~> 3.9.0)
144
+ rspec-support (3.9.2)
145
+ rspec_junit_formatter (0.4.1)
146
+ rspec-core (>= 2, < 4, != 2.12.0)
147
+ rubocop (0.80.0)
148
+ jaro_winkler (~> 1.5.1)
149
+ parallel (~> 1.10)
150
+ parser (>= 2.7.0.1)
151
+ rainbow (>= 2.2.2, < 4.0)
152
+ rexml
153
+ ruby-progressbar (~> 1.7)
154
+ unicode-display_width (>= 1.4.0, < 1.7)
155
+ ruby-progressbar (1.10.1)
156
+ ruby2_keywords (0.0.2)
157
+ sinatra (2.0.8.1)
135
158
  mustermann (~> 1.0)
136
159
  rack (~> 2.0)
137
- rack-protection (= 2.0.5)
160
+ rack-protection (= 2.0.8.1)
138
161
  tilt (~> 2.0)
139
- sprockets (3.7.2)
162
+ sprockets (4.0.0)
140
163
  concurrent-ruby (~> 1.0)
141
164
  rack (> 1, < 3)
142
165
  sprockets-rails (3.2.1)
143
166
  actionpack (>= 4.0)
144
167
  activesupport (>= 4.0)
145
168
  sprockets (>= 3.0.0)
146
- sqlite3 (1.3.13)
169
+ sqlite3 (1.4.2)
147
170
  state_machine (1.2.0)
148
171
  thor (0.20.3)
149
172
  thread_safe (0.3.6)
150
- tilt (2.0.9)
151
- tzinfo (1.2.5)
173
+ tilt (2.0.10)
174
+ tzinfo (1.2.6)
152
175
  thread_safe (~> 0.1)
176
+ unicode-display_width (1.6.1)
153
177
  vegas (0.1.11)
154
178
  rack (>= 1.0.0)
155
179
  websocket-driver (0.6.5)
156
180
  websocket-extensions (>= 0.1.0)
157
- websocket-extensions (0.1.3)
181
+ websocket-extensions (0.1.4)
158
182
 
159
183
  PLATFORMS
160
184
  ruby
161
185
 
162
186
  DEPENDENCIES
163
187
  appraisal
188
+ bundler-audit
164
189
  byebug
165
190
  dalliance!
166
191
  delayed_job (>= 3.0.0)
@@ -168,6 +193,8 @@ DEPENDENCIES
168
193
  rails (~> 5.0.0)
169
194
  resque
170
195
  rspec (>= 3.0.0)
196
+ rspec_junit_formatter
197
+ rubocop (~> 0.78)
171
198
  sqlite3
172
199
 
173
200
  BUNDLED WITH