cfgdatabase 1.1.0 → 1.2.4
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/app-database.rb +16 -7
- metadata +22 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2944c3a5397dbac2ff52e00e1c7f1ddd97f020d39163c6b8782102f704ee59c0
|
4
|
+
data.tar.gz: 4a290291434d2b6e2af52d94f342a28f56cd67447aac83f4c3905cf081dc2b8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64de309e76937c5bb812c32c97dccc239c7c19bc64b5bd2643d62da7345b5aafe18466de8b0138258bc058975ec17ed54830a2a911ea223ab973990c00fb81d5
|
7
|
+
data.tar.gz: 97d304a78602270719b7e7240d41fc5d2d652bfa2d1f1184ff73957e6fc4edba27a329b4bb7fe3d0f585352b5139fcdd126e933223fbe35a956643f8908fb5df
|
data/lib/app-database.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
+
require 'pg'
|
1
2
|
require 'sequel'
|
2
|
-
require 'singleton'
|
3
3
|
require 'app-config'
|
4
4
|
require 'app-logger'
|
5
5
|
|
@@ -10,16 +10,15 @@ require 'app-logger'
|
|
10
10
|
# Предполагается использование глобальной Cfg для настроек
|
11
11
|
|
12
12
|
module App
|
13
|
-
|
14
|
-
include Singleton
|
13
|
+
module Database
|
15
14
|
attr_reader :db
|
16
|
-
|
17
15
|
##
|
18
16
|
# Ищем секцию настроек Cfg.db
|
19
|
-
|
17
|
+
module_function
|
18
|
+
def init
|
20
19
|
raise ArgumentError.new("Cfg not found!") if ! defined?( ::Cfg ) || ! Cfg.db || Cfg.db.empty?
|
21
20
|
if (! defined? @db ) || ( @db.nil? ) || ( ! @db ) || ( ! @db.test_connection )
|
22
|
-
Log.
|
21
|
+
Log.debug{ "БД #{ Cfg.db.database }." }
|
23
22
|
Sequel.extension :pg_array, :pg_inet, :pg_json, :pg_json_ops, :pg_array, :pg_array_ops, :pg_row, :pg_hstore, :pg_json_ops
|
24
23
|
Sequel::Model.raise_on_save_failure = false
|
25
24
|
Sequel::Model.plugin :validation_helpers
|
@@ -34,10 +33,20 @@ module App
|
|
34
33
|
Sequel::Model.db = @db
|
35
34
|
@db.tables.each{ |t| @db.reset_primary_key_sequence t } # Настоящие герои всегда идут в обход
|
36
35
|
@db.freeze if Cfg.env == :production
|
37
|
-
Kernel.const_set 'Db', @db
|
38
36
|
end
|
37
|
+
Kernel.const_set('Db', @db) unless defined?( ::Db )
|
39
38
|
return @db
|
40
39
|
end
|
41
40
|
|
41
|
+
def remove
|
42
|
+
if defined?( Db )
|
43
|
+
Db.disconnect if @db.test_connection
|
44
|
+
Kernel.send :remove_const, 'Db'
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def connected?
|
49
|
+
!! ( defined?( Db ) && Db.test_connection )
|
50
|
+
end
|
42
51
|
end
|
43
52
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cfgdatabase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- deemytch
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sequel
|
@@ -52,18 +52,32 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pg
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description:
|
56
70
|
email: aspamkiller@yandex.ru
|
57
71
|
executables: []
|
58
72
|
extensions: []
|
59
73
|
extra_rdoc_files: []
|
60
74
|
files:
|
61
75
|
- lib/app-database.rb
|
62
|
-
homepage: https://
|
76
|
+
homepage: https://github.com/deemytch/cfgdatabase
|
63
77
|
licenses:
|
64
78
|
- GPL-2.0
|
65
79
|
metadata: {}
|
66
|
-
post_install_message:
|
80
|
+
post_install_message:
|
67
81
|
rdoc_options: []
|
68
82
|
require_paths:
|
69
83
|
- lib
|
@@ -78,8 +92,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
92
|
- !ruby/object:Gem::Version
|
79
93
|
version: '0'
|
80
94
|
requirements: []
|
81
|
-
rubygems_version: 3.1.
|
82
|
-
signing_key:
|
95
|
+
rubygems_version: 3.1.4
|
96
|
+
signing_key:
|
83
97
|
specification_version: 4
|
84
98
|
summary: Удобная загрузка настроек Sequel.
|
85
99
|
test_files: []
|