dalliance 0.5.0 → 0.8.1
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 +5 -5
- data/.circleci/config.yml +107 -0
- data/Appraisals +8 -16
- data/Gemfile +1 -1
- data/README.rdoc +13 -1
- data/dalliance.gemspec +4 -4
- data/gemfiles/rails_5.0.gemfile +1 -1
- data/gemfiles/rails_5.0.gemfile.lock +116 -89
- data/gemfiles/rails_5.1.gemfile +1 -1
- data/gemfiles/rails_5.1.gemfile.lock +115 -88
- data/gemfiles/{rails_4.2.gemfile → rails_5.2.gemfile} +2 -2
- data/gemfiles/rails_5.2.gemfile.lock +209 -0
- data/gemfiles/{rails_4.0.gemfile → rails_6.0.gemfile} +2 -2
- data/gemfiles/rails_6.0.gemfile.lock +225 -0
- data/lib/dalliance.rb +83 -22
- data/lib/dalliance/engine.rb +1 -1
- data/lib/dalliance/progress_meter.rb +5 -5
- data/lib/dalliance/version.rb +2 -2
- data/lib/dalliance/workers/delayed_job.rb +20 -9
- data/lib/dalliance/workers/resque.rb +17 -9
- data/spec/dalliance/asynchronous_delayed_job_spec.rb +42 -0
- data/spec/dalliance/asynchronous_resque_spec.rb +54 -0
- data/spec/dalliance/dalliance_spec.rb +2 -2
- data/spec/dalliance/synchronous_spec.rb +56 -1
- data/spec/spec_helper.rb +2 -0
- data/spec/support/active_record.rb +9 -3
- metadata +60 -23
- data/gemfiles/rails_3.1.gemfile +0 -12
- data/gemfiles/rails_3.1.gemfile.lock +0 -149
- data/gemfiles/rails_3.2.gemfile +0 -12
- data/gemfiles/rails_3.2.gemfile.lock +0 -146
- data/gemfiles/rails_4.0.gemfile.lock +0 -134
- data/gemfiles/rails_4.1.gemfile +0 -12
- data/gemfiles/rails_4.1.gemfile.lock +0 -140
- data/gemfiles/rails_4.2.gemfile.lock +0 -168
data/lib/dalliance/version.rb
CHANGED
@@ -1,15 +1,20 @@
|
|
1
1
|
module Dalliance
|
2
2
|
module Workers
|
3
|
-
if defined?(Rails)
|
3
|
+
if defined?(Rails)
|
4
4
|
class DelayedJob < ::ActiveJob::Base
|
5
5
|
queue_as :dalliance
|
6
6
|
|
7
|
-
def self.enqueue(instance, queue = 'dalliance')
|
8
|
-
Dalliance::Workers::DelayedJob
|
7
|
+
def self.enqueue(instance, queue = 'dalliance', perform_method)
|
8
|
+
Dalliance::Workers::DelayedJob
|
9
|
+
.set(queue: queue)
|
10
|
+
.perform_later(instance.class.name, instance.id, perform_method.to_s)
|
9
11
|
end
|
10
12
|
|
11
|
-
def perform(instance_klass, instance_id)
|
12
|
-
instance_klass
|
13
|
+
def perform(instance_klass, instance_id, perform_method)
|
14
|
+
instance_klass
|
15
|
+
.constantize
|
16
|
+
.find(instance_id)
|
17
|
+
.send(perform_method, true)
|
13
18
|
end
|
14
19
|
|
15
20
|
#Delayed job automatically retries, so rescue the error
|
@@ -18,13 +23,19 @@ module Dalliance
|
|
18
23
|
end
|
19
24
|
end
|
20
25
|
else
|
21
|
-
class DelayedJob < Struct.new(:instance_klass, :instance_id)
|
22
|
-
def self.enqueue(instance, queue = 'dalliance')
|
23
|
-
::Delayed::Job.enqueue(
|
26
|
+
class DelayedJob < Struct.new(:instance_klass, :instance_id, :perform_method)
|
27
|
+
def self.enqueue(instance, queue = 'dalliance', perform_method)
|
28
|
+
::Delayed::Job.enqueue(
|
29
|
+
self.new(instance.class.name, instance.id, perform_method),
|
30
|
+
:queue => queue
|
31
|
+
)
|
24
32
|
end
|
25
33
|
|
26
34
|
def perform
|
27
|
-
instance_klass
|
35
|
+
instance_klass
|
36
|
+
.constantize
|
37
|
+
.find(instance_id)
|
38
|
+
.send(perform_method, true)
|
28
39
|
end
|
29
40
|
|
30
41
|
#Delayed job automatically retries, so rescue the error
|
@@ -1,15 +1,20 @@
|
|
1
1
|
module Dalliance
|
2
2
|
module Workers
|
3
|
-
if defined?(Rails)
|
3
|
+
if defined?(Rails)
|
4
4
|
class Resque < ::ActiveJob::Base
|
5
5
|
queue_as :dalliance
|
6
6
|
|
7
|
-
def self.enqueue(instance, queue = 'dalliance')
|
8
|
-
Dalliance::Workers::Resque
|
7
|
+
def self.enqueue(instance, queue = 'dalliance', perform_method)
|
8
|
+
Dalliance::Workers::Resque
|
9
|
+
.set(queue: queue)
|
10
|
+
.perform_later(instance.class.name, instance.id, perform_method.to_s)
|
9
11
|
end
|
10
12
|
|
11
|
-
def perform(instance_klass, instance_id)
|
12
|
-
instance_klass
|
13
|
+
def perform(instance_klass, instance_id, perform_method)
|
14
|
+
instance_klass
|
15
|
+
.constantize
|
16
|
+
.find(instance_id)
|
17
|
+
.send(perform_method, true)
|
13
18
|
end
|
14
19
|
|
15
20
|
#Resque fails, so don't rescue the error
|
@@ -19,12 +24,15 @@ module Dalliance
|
|
19
24
|
end
|
20
25
|
else
|
21
26
|
class Resque
|
22
|
-
def self.enqueue(instance, queue = 'dalliance')
|
23
|
-
::Resque.enqueue_to(queue, self, instance.class.name, instance.id)
|
27
|
+
def self.enqueue(instance, queue = 'dalliance', perform_method)
|
28
|
+
::Resque.enqueue_to(queue, self, instance.class.name, instance.id, perform_method.to_s)
|
24
29
|
end
|
25
30
|
|
26
|
-
def self.perform(instance_klass, instance_id)
|
27
|
-
instance_klass
|
31
|
+
def self.perform(instance_klass, instance_id, perform_method)
|
32
|
+
instance_klass
|
33
|
+
.constantize
|
34
|
+
.find(instance_id)
|
35
|
+
.send(perform_method, true)
|
28
36
|
end
|
29
37
|
|
30
38
|
#Resque fails, so don't rescue the error
|
@@ -77,6 +77,48 @@ RSpec.describe DallianceModel do
|
|
77
77
|
expect(subject.dalliance_duration).not_to eq(nil)
|
78
78
|
end
|
79
79
|
|
80
|
+
context 'reprocess' do
|
81
|
+
before(:all) do
|
82
|
+
DallianceModel.dalliance_options[:dalliance_method] = :dalliance_success_method
|
83
|
+
DallianceModel.dalliance_options[:worker_class] = Dalliance::Workers::DelayedJob
|
84
|
+
DallianceModel.dalliance_options[:queue] = 'dalliance'
|
85
|
+
end
|
86
|
+
|
87
|
+
before do
|
88
|
+
subject.dalliance_process
|
89
|
+
subject.reload
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'successfully runs the dalliance_reprocess method' do
|
93
|
+
subject.dalliance_background_reprocess
|
94
|
+
Delayed::Worker.new(:queues => [:dalliance]).work_off
|
95
|
+
subject.reload
|
96
|
+
|
97
|
+
expect(subject).to be_successful
|
98
|
+
expect(Delayed::Job.count).to eq(0)
|
99
|
+
expect(subject.reprocessed_count).to eq(1)
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'increases the total processing time counter' do
|
103
|
+
original_duration = subject.dalliance_duration
|
104
|
+
subject.dalliance_background_reprocess
|
105
|
+
Delayed::Worker.new(:queues => [:dalliance]).work_off
|
106
|
+
subject.reload
|
107
|
+
|
108
|
+
expect(subject.dalliance_duration).to be_between(original_duration, Float::INFINITY)
|
109
|
+
end
|
110
|
+
|
111
|
+
it "resets the dalliance_status to 'pending'" do
|
112
|
+
subject.update_column(:dalliance_status, 'processing_error')
|
113
|
+
expect { subject.dalliance_background_reprocess }
|
114
|
+
.to change(subject, :dalliance_status)
|
115
|
+
.to('pending')
|
116
|
+
|
117
|
+
Delayed::Worker.new(:queues => [:dalliance]).work_off
|
118
|
+
expect(subject).to be_successful
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
80
122
|
context "another_queue" do
|
81
123
|
let(:queue) { 'dalliance_2'}
|
82
124
|
|
@@ -114,6 +114,60 @@ RSpec.describe DallianceModel do
|
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
117
|
+
context 'reprocess' do
|
118
|
+
before :all do
|
119
|
+
DallianceModel.dalliance_options[:dalliance_method] = :dalliance_success_method
|
120
|
+
DallianceModel.dalliance_options[:worker_class] = Dalliance::Workers::Resque
|
121
|
+
DallianceModel.dalliance_options[:queue] = 'dalliance'
|
122
|
+
end
|
123
|
+
|
124
|
+
before do
|
125
|
+
subject.dalliance_process
|
126
|
+
subject.reload
|
127
|
+
end
|
128
|
+
|
129
|
+
it 'successfully runs the dalliance_reprocess method' do
|
130
|
+
Resque::Stat.clear(:processed)
|
131
|
+
Resque::Stat.clear(:failed)
|
132
|
+
|
133
|
+
subject.dalliance_background_reprocess
|
134
|
+
Resque::Worker.new(:dalliance).process
|
135
|
+
subject.reload
|
136
|
+
|
137
|
+
aggregate_failures do
|
138
|
+
expect(subject).to be_successful
|
139
|
+
expect(Resque.size(:dalliance)).to eq(0)
|
140
|
+
expect(Resque::Stat[:processed]).to eq(1)
|
141
|
+
expect(Resque::Stat[:failed]).to eq(0)
|
142
|
+
expect(subject.reprocessed_count).to eq(1)
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
it 'increases the total processing time counter' do
|
147
|
+
original_duration = subject.dalliance_duration
|
148
|
+
subject.dalliance_background_reprocess
|
149
|
+
Delayed::Worker.new(:queues => [:dalliance]).work_off
|
150
|
+
subject.reload
|
151
|
+
|
152
|
+
expect(subject.dalliance_duration).to be_between(original_duration, Float::INFINITY)
|
153
|
+
end
|
154
|
+
|
155
|
+
it "resets the dalliance_status to 'pending'" do
|
156
|
+
subject.update_column(:dalliance_status, 'processing_error')
|
157
|
+
|
158
|
+
Resque::Stat.clear(:processed)
|
159
|
+
Resque::Stat.clear(:failed)
|
160
|
+
|
161
|
+
expect { subject.dalliance_background_reprocess }
|
162
|
+
.to change(subject, :dalliance_status)
|
163
|
+
.to('pending')
|
164
|
+
|
165
|
+
Resque::Worker.new(:dalliance).process
|
166
|
+
|
167
|
+
expect(subject).to be_successful
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
117
171
|
context "raise error" do
|
118
172
|
before(:all) do
|
119
173
|
DallianceModel.dalliance_options[:dalliance_method] = :dalliance_error_method
|
@@ -21,7 +21,7 @@ RSpec.describe 'Dalliance' do
|
|
21
21
|
|
22
22
|
context "human_attribute_name" do
|
23
23
|
it "should display the correct locale" do
|
24
|
-
expect(DallianceModel.human_attribute_name(:dalliance_status)).to eq
|
24
|
+
expect(DallianceModel.human_attribute_name(:dalliance_status)).to eq('Status')
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -44,7 +44,7 @@ RSpec.describe 'Dalliance' do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
context "w/ args" do
|
47
|
-
let(:queue) { Proc.new{ |
|
47
|
+
let(:queue) { Proc.new{ |_a,_b,_c| 'dalliance_2' } }
|
48
48
|
|
49
49
|
specify{ expect(subject.processing_queue).to eq(queue.call) }
|
50
50
|
end
|
@@ -35,6 +35,61 @@ RSpec.describe DallianceModel do
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
+
context 'reprocess' do
|
39
|
+
context 'without having already processed' do
|
40
|
+
it 'raises an error' do
|
41
|
+
expect { subject.dalliance_background_reprocess }
|
42
|
+
.to raise_error(
|
43
|
+
StateMachine::InvalidTransition,
|
44
|
+
/^Cannot transition dalliance_status via :reprocess_dalliance from :pending.*/
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context 'when the model has already processed' do
|
50
|
+
before do
|
51
|
+
DallianceModel.dalliance_options[:dalliance_method] = :dalliance_success_method
|
52
|
+
subject.dalliance_background_process
|
53
|
+
subject.reload
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'calls the dalliance_reprocess method' do
|
57
|
+
expect { subject.dalliance_background_reprocess }
|
58
|
+
.to change(subject, :reprocessed_count)
|
59
|
+
.from(0)
|
60
|
+
.to(1)
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'can call the dalliance_reprocess method many times in succession' do
|
64
|
+
expect { 10.times { subject.dalliance_background_reprocess } }
|
65
|
+
.to change(subject, :reprocessed_count)
|
66
|
+
.from(0)
|
67
|
+
.to(10)
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'sets the dalliance_status to completed' do
|
71
|
+
expect { subject.dalliance_background_reprocess }
|
72
|
+
.not_to change { subject.reload.dalliance_status }
|
73
|
+
.from('completed')
|
74
|
+
end
|
75
|
+
|
76
|
+
it 'sets the dalliance_progress to 100' do
|
77
|
+
expect { subject.dalliance_background_reprocess }
|
78
|
+
.not_to change { subject.reload.dalliance_progress }
|
79
|
+
.from(100)
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'increases the total processing time counter' do
|
83
|
+
original_duration = subject.dalliance_duration
|
84
|
+
subject.dalliance_background_reprocess
|
85
|
+
Delayed::Worker.new(:queues => [:dalliance]).work_off
|
86
|
+
subject.reload
|
87
|
+
|
88
|
+
expect(subject.dalliance_duration).to be_between(original_duration, Float::INFINITY)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
38
93
|
context "raise error" do
|
39
94
|
before(:all) do
|
40
95
|
DallianceModel.dalliance_options[:dalliance_method] = :dalliance_error_method
|
@@ -121,7 +176,7 @@ RSpec.describe DallianceModel do
|
|
121
176
|
end
|
122
177
|
end
|
123
178
|
|
124
|
-
|
179
|
+
context "destroy" do
|
125
180
|
it "should return false when pending?" do
|
126
181
|
subject.update_column(:dalliance_status, 'pending')
|
127
182
|
expect(subject.destroy).to be_falsey
|
data/spec/spec_helper.rb
CHANGED
@@ -4,10 +4,12 @@ require 'bundler/setup'
|
|
4
4
|
#Automatically included in a rails app...
|
5
5
|
require 'active_support'
|
6
6
|
|
7
|
+
# rubocop:disable Lint/SuppressedException
|
7
8
|
begin
|
8
9
|
require 'active_job'
|
9
10
|
rescue LoadError
|
10
11
|
end
|
12
|
+
# rubocop:enable Lint/SuppressedException
|
11
13
|
|
12
14
|
require 'state_machine'
|
13
15
|
require 'byebug'
|
@@ -6,7 +6,7 @@ ActiveRecord::Migration.verbose = false
|
|
6
6
|
|
7
7
|
ActiveRecord::Schema.define do
|
8
8
|
create_table :dalliance_progress_meters, :force => true do |t|
|
9
|
-
t.belongs_to :dalliance_progress_model, :polymorphic => true
|
9
|
+
t.belongs_to :dalliance_progress_model, :polymorphic => true, index: { name: "by_dalliance_progress_model" }
|
10
10
|
|
11
11
|
t.integer :current_count
|
12
12
|
t.integer :total_count
|
@@ -15,7 +15,7 @@ ActiveRecord::Schema.define do
|
|
15
15
|
t.timestamps null: false
|
16
16
|
end
|
17
17
|
|
18
|
-
add_index :dalliance_progress_meters, [:dalliance_progress_model_id, :dalliance_progress_model_type], :name => 'by_dalliance_progress_model'
|
18
|
+
# add_index :dalliance_progress_meters, [:dalliance_progress_model_id, :dalliance_progress_model_type], :name => 'by_dalliance_progress_model'
|
19
19
|
|
20
20
|
create_table :delayed_jobs, :force => true do |table|
|
21
21
|
table.integer :priority, :default => 0
|
@@ -35,9 +35,10 @@ ActiveRecord::Schema.define do
|
|
35
35
|
create_table :dalliance_models, :force => true do |t|
|
36
36
|
t.text :dalliance_error_hash
|
37
37
|
t.string :dalliance_status, :string, :null => false, :default => 'pending'
|
38
|
-
t.
|
38
|
+
t.decimal :dalliance_duration
|
39
39
|
|
40
40
|
t.boolean :successful, :default => false
|
41
|
+
t.integer :reprocessed_count, default: 0
|
41
42
|
end
|
42
43
|
end
|
43
44
|
|
@@ -47,12 +48,17 @@ class DallianceModel < ActiveRecord::Base
|
|
47
48
|
include Dalliance::Glue
|
48
49
|
|
49
50
|
dalliance :dalliance_success_method,
|
51
|
+
reprocess_method: :dalliance_reprocess_method,
|
50
52
|
:logger => nil
|
51
53
|
|
52
54
|
def dalliance_success_method
|
53
55
|
update_attribute(:successful, true)
|
54
56
|
end
|
55
57
|
|
58
|
+
def dalliance_reprocess_method
|
59
|
+
update_attribute(:reprocessed_count, self.reprocessed_count + 1)
|
60
|
+
end
|
61
|
+
|
56
62
|
def dalliance_error_method
|
57
63
|
raise RuntimeError
|
58
64
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dalliance
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Sullivan
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,20 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
-
- - "
|
19
|
+
version: '5.0'
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: '6.1'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
30
|
-
- - "
|
29
|
+
version: '5.0'
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: '6.1'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: state_machine
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,6 +114,48 @@ dependencies:
|
|
114
114
|
- - ">="
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0'
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: bundler-audit
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
type: :development
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: rubocop
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0.78'
|
138
|
+
type: :development
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '0.78'
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: rspec_junit_formatter
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
type: :development
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
117
159
|
description: " Background processing for ActiveRecord using a 'delayable' worker and
|
118
160
|
a state_machine "
|
119
161
|
email:
|
@@ -122,6 +164,7 @@ executables: []
|
|
122
164
|
extensions: []
|
123
165
|
extra_rdoc_files: []
|
124
166
|
files:
|
167
|
+
- ".circleci/config.yml"
|
125
168
|
- ".gitignore"
|
126
169
|
- ".rspec"
|
127
170
|
- Appraisals
|
@@ -131,20 +174,14 @@ files:
|
|
131
174
|
- Rakefile
|
132
175
|
- config/locales/en.yml
|
133
176
|
- dalliance.gemspec
|
134
|
-
- gemfiles/rails_3.1.gemfile
|
135
|
-
- gemfiles/rails_3.1.gemfile.lock
|
136
|
-
- gemfiles/rails_3.2.gemfile
|
137
|
-
- gemfiles/rails_3.2.gemfile.lock
|
138
|
-
- gemfiles/rails_4.0.gemfile
|
139
|
-
- gemfiles/rails_4.0.gemfile.lock
|
140
|
-
- gemfiles/rails_4.1.gemfile
|
141
|
-
- gemfiles/rails_4.1.gemfile.lock
|
142
|
-
- gemfiles/rails_4.2.gemfile
|
143
|
-
- gemfiles/rails_4.2.gemfile.lock
|
144
177
|
- gemfiles/rails_5.0.gemfile
|
145
178
|
- gemfiles/rails_5.0.gemfile.lock
|
146
179
|
- gemfiles/rails_5.1.gemfile
|
147
180
|
- gemfiles/rails_5.1.gemfile.lock
|
181
|
+
- gemfiles/rails_5.2.gemfile
|
182
|
+
- gemfiles/rails_5.2.gemfile.lock
|
183
|
+
- gemfiles/rails_6.0.gemfile
|
184
|
+
- gemfiles/rails_6.0.gemfile.lock
|
148
185
|
- lib/dalliance.rb
|
149
186
|
- lib/dalliance/engine.rb
|
150
187
|
- lib/dalliance/progress_meter.rb
|
@@ -167,7 +204,7 @@ files:
|
|
167
204
|
homepage: https://github.com/annkissam/dalliance
|
168
205
|
licenses: []
|
169
206
|
metadata: {}
|
170
|
-
post_install_message:
|
207
|
+
post_install_message:
|
171
208
|
rdoc_options: []
|
172
209
|
require_paths:
|
173
210
|
- lib
|
@@ -182,9 +219,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
182
219
|
- !ruby/object:Gem::Version
|
183
220
|
version: '0'
|
184
221
|
requirements: []
|
185
|
-
rubyforge_project:
|
186
|
-
rubygems_version: 2.6
|
187
|
-
signing_key:
|
222
|
+
rubyforge_project:
|
223
|
+
rubygems_version: 2.7.6
|
224
|
+
signing_key:
|
188
225
|
specification_version: 4
|
189
226
|
summary: Wrapper for an ActiveRecord model with a single ascynhronous method
|
190
227
|
test_files:
|