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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/app-database.rb +16 -7
  3. metadata +22 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b271fb9a9c94ce05de34ef3997124c8fa19a99ba3f3ab674c71c426f37a4fa94
4
- data.tar.gz: cc261a477e286785ecbad926e111c28dc98e7a78f138e93fc2c703c4837d7e3a
3
+ metadata.gz: 2944c3a5397dbac2ff52e00e1c7f1ddd97f020d39163c6b8782102f704ee59c0
4
+ data.tar.gz: 4a290291434d2b6e2af52d94f342a28f56cd67447aac83f4c3905cf081dc2b8c
5
5
  SHA512:
6
- metadata.gz: a92faf73dd97e686fe6af39dc28b87515910f759e01fa2d77cf6d14b7191c7b6d252c0d9ffc82c9d437581279ce7903c2e1cfd49481e795c357f65fab2cbc99e
7
- data.tar.gz: 7faf038cdf8daf07140edeed5802abaf6583fcc118f78945f21557aa8c394e4449b0d77815537da4b83cfb114e33f94f291a0e139f22366986baa0c5e49dd38a
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
- class Database
14
- include Singleton
13
+ module Database
15
14
  attr_reader :db
16
-
17
15
  ##
18
16
  # Ищем секцию настроек Cfg.db
19
- def initialize
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.info{ "БД #{ Cfg.db.database }." }
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.1.0
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: 2020-04-03 00:00:00.000000000 Z
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
- description:
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://gitlab.sudo.su/amqp-lib/cfgdatabase
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.2
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: []