stepper_motor 0.1.8 → 0.1.9
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/generators/stepper_motor_migration_004.rb.erb +3 -5
- data/lib/stepper_motor/version.rb +1 -1
- data/rbi/stepper_motor.rbi +1 -1
- data/stepper_motor.gemspec +0 -3
- data/test/dummy/config/initializers/stepper_motor.rb +0 -2
- data/test/dummy/db/migrate/{20250520094921_stepper_motor_migration_001.rb → 20250525132523_stepper_motor_migration_001.rb} +4 -4
- data/test/dummy/db/migrate/{20250520094922_stepper_motor_migration_002.rb → 20250525132524_stepper_motor_migration_002.rb} +0 -2
- data/test/dummy/db/migrate/{20250522212312_stepper_motor_migration_003.rb → 20250525132525_stepper_motor_migration_003.rb} +1 -2
- data/test/dummy/db/migrate/{20250525110812_stepper_motor_migration_004.rb → 20250525132526_stepper_motor_migration_004.rb} +10 -14
- data/test/dummy/db/schema.rb +2 -3
- metadata +5 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da2327efc5b8425041ad9cf331bb450dfd81049ac767daab8f8b445d0c518c53
|
4
|
+
data.tar.gz: 02305e571a142384e3dce303c64637fa44029a14ca9ca5770f369b5c7c707ab2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ecb7dfe9e36759bf2b789d364fcc46399778487f352a634ac73822698b822b4ca1556818da958a480404f9710381e40a96a53310d65f2c77ba90b84ebd2664f7
|
7
|
+
data.tar.gz: a8a7d73d008e2bf5286446e8aeb709310a2a475066c6101101131adf5346ca966ae45e8f0c38d98822771e1310b0de160284409b188fa98b5e0787fec2a6b865
|
data/CHANGELOG.md
CHANGED
@@ -7,13 +7,11 @@ class StepperMotorMigration004 < ActiveRecord::Migration[<%= migration_version %
|
|
7
7
|
name: :idx_journeys_one_per_hero_with_paused
|
8
8
|
|
9
9
|
# Remove old indexes that only include 'ready' state
|
10
|
-
remove_index :stepper_motor_journeys, [:
|
11
|
-
remove_index :stepper_motor_journeys, [:type, :hero_id, :hero_type], name: :one_per_hero_index, where: "allow_multiple = '0' AND state IN ('ready', 'performing')"
|
10
|
+
remove_index :stepper_motor_journeys, [:type, :hero_id, :hero_type], name: :one_per_hero_index, where: "allow_multiple = '0' AND state IN ('ready', 'performing')", algorithm: :concurrently
|
12
11
|
end
|
13
12
|
|
14
13
|
def down
|
15
14
|
# Recreate old indexes
|
16
|
-
add_index :stepper_motor_journeys, [:next_step_to_be_performed_at], where: "state = 'ready'"
|
17
15
|
quoted_false = connection.quote(false)
|
18
16
|
add_index :stepper_motor_journeys, [:type, :hero_id, :hero_type],
|
19
17
|
where: "allow_multiple = '#{quoted_false}' AND state IN ('ready', 'performing')",
|
@@ -21,6 +19,6 @@ class StepperMotorMigration004 < ActiveRecord::Migration[<%= migration_version %
|
|
21
19
|
name: :one_per_hero_index
|
22
20
|
|
23
21
|
# Remove new indexes
|
24
|
-
remove_index :stepper_motor_journeys, name: :idx_journeys_one_per_hero_with_paused
|
22
|
+
remove_index :stepper_motor_journeys, name: :idx_journeys_one_per_hero_with_paused, algorithm: :concurrently
|
25
23
|
end
|
26
|
-
end
|
24
|
+
end
|
data/rbi/stepper_motor.rbi
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
# StepperMotor is a module for building multi-step flows where steps are sequential and only
|
3
3
|
# ever progress forward. The building block of StepperMotor is StepperMotor::Journey
|
4
4
|
module StepperMotor
|
5
|
-
VERSION = T.let("0.1.
|
5
|
+
VERSION = T.let("0.1.9", T.untyped)
|
6
6
|
|
7
7
|
class Error < StandardError
|
8
8
|
end
|
data/stepper_motor.gemspec
CHANGED
@@ -33,14 +33,11 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_dependency "activerecord", ">= 7"
|
34
34
|
spec.add_dependency "activejob"
|
35
35
|
spec.add_dependency "railties"
|
36
|
-
spec.add_dependency "globalid"
|
37
36
|
|
38
37
|
spec.add_development_dependency "minitest"
|
39
38
|
spec.add_development_dependency "rails", "~> 7.0"
|
40
39
|
spec.add_development_dependency "sqlite3"
|
41
40
|
spec.add_development_dependency "rake", "~> 13.0"
|
42
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
43
|
-
spec.add_development_dependency "rspec-rails"
|
44
41
|
spec.add_development_dependency "standard"
|
45
42
|
spec.add_development_dependency "magic_frozen_string_literal"
|
46
43
|
spec.add_development_dependency "yard"
|
@@ -1,14 +1,14 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
class StepperMotorMigration001 < ActiveRecord::Migration[7.2]
|
4
2
|
def change
|
3
|
+
|
5
4
|
create_table :stepper_motor_journeys do |t|
|
5
|
+
|
6
6
|
t.string :type, null: false, index: true
|
7
7
|
t.string :state, default: "ready"
|
8
8
|
t.string :hero_type, null: true
|
9
|
-
|
9
|
+
|
10
10
|
t.bigint :hero_id
|
11
|
-
|
11
|
+
|
12
12
|
t.boolean :allow_multiple, default: false
|
13
13
|
t.string :previous_step_name
|
14
14
|
t.string :next_step_name
|
@@ -1,28 +1,24 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
class StepperMotorMigration004 < ActiveRecord::Migration[7.2]
|
4
2
|
def up
|
5
3
|
quoted_false = connection.quote(false)
|
6
|
-
add_index :stepper_motor_journeys, [:type, :hero_id, :hero_type],
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
add_index :stepper_motor_journeys, [:type, :hero_id, :hero_type],
|
5
|
+
where: "allow_multiple = '#{quoted_false}' AND state IN ('ready', 'performing', 'paused')",
|
6
|
+
unique: true,
|
7
|
+
name: :idx_journeys_one_per_hero_with_paused
|
10
8
|
|
11
9
|
# Remove old indexes that only include 'ready' state
|
12
|
-
remove_index :stepper_motor_journeys, [:
|
13
|
-
remove_index :stepper_motor_journeys, [:type, :hero_id, :hero_type], name: :one_per_hero_index, where: "allow_multiple = '0' AND state IN ('ready', 'performing')"
|
10
|
+
remove_index :stepper_motor_journeys, [:type, :hero_id, :hero_type], name: :one_per_hero_index, where: "allow_multiple = '0' AND state IN ('ready', 'performing')", algorithm: :concurrently
|
14
11
|
end
|
15
12
|
|
16
13
|
def down
|
17
14
|
# Recreate old indexes
|
18
|
-
add_index :stepper_motor_journeys, [:next_step_to_be_performed_at], where: "state = 'ready'"
|
19
15
|
quoted_false = connection.quote(false)
|
20
|
-
add_index :stepper_motor_journeys, [:type, :hero_id, :hero_type],
|
21
|
-
|
22
|
-
|
23
|
-
|
16
|
+
add_index :stepper_motor_journeys, [:type, :hero_id, :hero_type],
|
17
|
+
where: "allow_multiple = '#{quoted_false}' AND state IN ('ready', 'performing')",
|
18
|
+
unique: true,
|
19
|
+
name: :one_per_hero_index
|
24
20
|
|
25
21
|
# Remove new indexes
|
26
|
-
remove_index :stepper_motor_journeys, name: :idx_journeys_one_per_hero_with_paused
|
22
|
+
remove_index :stepper_motor_journeys, name: :idx_journeys_one_per_hero_with_paused, algorithm: :concurrently
|
27
23
|
end
|
28
24
|
end
|
data/test/dummy/db/schema.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
# This file is auto-generated from the current state of the database. Instead
|
4
2
|
# of editing this file, please use the migrations feature of Active Record to
|
5
3
|
# incrementally modify your database, and then regenerate this schema definition.
|
@@ -12,7 +10,7 @@
|
|
12
10
|
#
|
13
11
|
# It's strongly recommended that you check this file into your version control system.
|
14
12
|
|
15
|
-
ActiveRecord::Schema[7.2].define(version:
|
13
|
+
ActiveRecord::Schema[7.2].define(version: 2025_05_25_132526) do
|
16
14
|
create_table "stepper_motor_journeys", force: :cascade do |t|
|
17
15
|
t.string "type", null: false
|
18
16
|
t.string "state", default: "ready"
|
@@ -28,6 +26,7 @@ ActiveRecord::Schema[7.2].define(version: 2025_05_25_110812) do
|
|
28
26
|
t.datetime "updated_at", null: false
|
29
27
|
t.string "idempotency_key"
|
30
28
|
t.index ["hero_type", "hero_id"], name: "index_stepper_motor_journeys_on_hero_type_and_hero_id"
|
29
|
+
t.index ["next_step_to_be_performed_at"], name: "index_stepper_motor_journeys_on_next_step_to_be_performed_at", where: "state = 'ready' /*application='Dummy'*/"
|
31
30
|
t.index ["type", "hero_id", "hero_type"], name: "idx_journeys_one_per_hero_with_paused", unique: true, where: "allow_multiple = '0' AND state IN ('ready', 'performing', 'paused') /*application='Dummy'*/"
|
32
31
|
t.index ["type", "hero_type", "hero_id"], name: "index_stepper_motor_journeys_on_type_and_hero_type_and_hero_id"
|
33
32
|
t.index ["type"], name: "index_stepper_motor_journeys_on_type"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stepper_motor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julik Tarkhanov
|
@@ -51,20 +51,6 @@ dependencies:
|
|
51
51
|
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '0'
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
|
-
name: globalid
|
56
|
-
requirement: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '0'
|
61
|
-
type: :runtime
|
62
|
-
prerelease: false
|
63
|
-
version_requirements: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - ">="
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '0'
|
68
54
|
- !ruby/object:Gem::Dependency
|
69
55
|
name: minitest
|
70
56
|
requirement: !ruby/object:Gem::Requirement
|
@@ -121,34 +107,6 @@ dependencies:
|
|
121
107
|
- - "~>"
|
122
108
|
- !ruby/object:Gem::Version
|
123
109
|
version: '13.0'
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
name: rspec
|
126
|
-
requirement: !ruby/object:Gem::Requirement
|
127
|
-
requirements:
|
128
|
-
- - "~>"
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: '3.0'
|
131
|
-
type: :development
|
132
|
-
prerelease: false
|
133
|
-
version_requirements: !ruby/object:Gem::Requirement
|
134
|
-
requirements:
|
135
|
-
- - "~>"
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: '3.0'
|
138
|
-
- !ruby/object:Gem::Dependency
|
139
|
-
name: rspec-rails
|
140
|
-
requirement: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - ">="
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: '0'
|
145
|
-
type: :development
|
146
|
-
prerelease: false
|
147
|
-
version_requirements: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - ">="
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '0'
|
152
110
|
- !ruby/object:Gem::Dependency
|
153
111
|
name: standard
|
154
112
|
requirement: !ruby/object:Gem::Requirement
|
@@ -292,10 +250,10 @@ files:
|
|
292
250
|
- test/dummy/config/puma.rb
|
293
251
|
- test/dummy/config/routes.rb
|
294
252
|
- test/dummy/config/storage.yml
|
295
|
-
- test/dummy/db/migrate/
|
296
|
-
- test/dummy/db/migrate/
|
297
|
-
- test/dummy/db/migrate/
|
298
|
-
- test/dummy/db/migrate/
|
253
|
+
- test/dummy/db/migrate/20250525132523_stepper_motor_migration_001.rb
|
254
|
+
- test/dummy/db/migrate/20250525132524_stepper_motor_migration_002.rb
|
255
|
+
- test/dummy/db/migrate/20250525132525_stepper_motor_migration_003.rb
|
256
|
+
- test/dummy/db/migrate/20250525132526_stepper_motor_migration_004.rb
|
299
257
|
- test/dummy/db/schema.rb
|
300
258
|
- test/dummy/public/400.html
|
301
259
|
- test/dummy/public/404.html
|