stack-service-base 0.0.17 → 0.0.18
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/lib/stack-service-base/database.rb +63 -0
- data/lib/stack-service-base/rack_helpers.rb +2 -0
- data/lib/stack-service-base.rb +2 -0
- data/lib/version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 418ad9921ab3c31d29e3e57186c88b0de44bee22c24594095760afabfe5e7aeb
|
4
|
+
data.tar.gz: f16c65791dfe6b759ecd10f024aa9e3f0c0a006f8b953ce212a54b2e91af8e77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00d890cfcfc58f5dcf2205291c0c77b0409d9ad8fbe1be928308a874d6536bd30e64347cf3d0721538dffcc5216949933279316e5493a97ddd91a2a45e79f62b
|
7
|
+
data.tar.gz: 4b191e5f811dec738f654fb32571e939268d3df617a59a18e2338ad4830b4e2e6393b818612658897e247c4a24d7c3d32b199672519bce4faf89b7d07dcaea53
|
@@ -0,0 +1,63 @@
|
|
1
|
+
class Time
|
2
|
+
def to_json(*_args)
|
3
|
+
strftime('%d.%m.%Y %H:%M').to_json
|
4
|
+
end
|
5
|
+
end
|
6
|
+
|
7
|
+
# DB.extension :pg_enum
|
8
|
+
# module Sequel::Postgres::EnumDatabaseMethods
|
9
|
+
# def create_enum?(enum, values)
|
10
|
+
# create_enum(enum, values) unless from(:pg_type).where(typname: enum.to_s).count > 0
|
11
|
+
# end
|
12
|
+
# end
|
13
|
+
|
14
|
+
module IdempotentMigration
|
15
|
+
def table_add_column table, name, *opts
|
16
|
+
return if self[table].columns.include? name
|
17
|
+
alter_table table do
|
18
|
+
add_column name, *opts
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def table_drop_column table, name, *opts
|
23
|
+
return unless self[table].columns.include? name
|
24
|
+
alter_table table do
|
25
|
+
drop_column name, *opts
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def table_rename_column table, name, *opts
|
30
|
+
return unless self[table].columns.include? name
|
31
|
+
alter_table table do
|
32
|
+
rename_column name, *opts
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def table_add_index(table, *opts)
|
37
|
+
this = self
|
38
|
+
alter_table table do
|
39
|
+
this.indexes(table).each do |_name, index|
|
40
|
+
if index[:columns].join === opts.join
|
41
|
+
return
|
42
|
+
end
|
43
|
+
end
|
44
|
+
add_index *opts
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def table_add_unique_constraint table, *opts
|
49
|
+
this = self
|
50
|
+
alter_table table do
|
51
|
+
this.indexes(table).each do |name, index|
|
52
|
+
if index[:columns].join === opts.join
|
53
|
+
return
|
54
|
+
# drop_constraint name, type: :unique
|
55
|
+
end
|
56
|
+
end
|
57
|
+
add_unique_constraint *opts
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
Sequel::Database.prepend IdempotentMigration
|
63
|
+
|
data/lib/stack-service-base.rb
CHANGED
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stack-service-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-06-
|
11
|
+
date: 2025-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rack
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: async
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,6 +185,7 @@ extensions: []
|
|
171
185
|
extra_rdoc_files: []
|
172
186
|
files:
|
173
187
|
- lib/stack-service-base.rb
|
188
|
+
- lib/stack-service-base/database.rb
|
174
189
|
- lib/stack-service-base/fiber_pool.rb
|
175
190
|
- lib/stack-service-base/logging.rb
|
176
191
|
- lib/stack-service-base/open_telemetry.rb
|