pg_objects 0.3.4 → 0.4.2
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/.rubocop.yml +1 -1
- data/.travis.yml +3 -1
- data/Gemfile.lock +17 -17
- data/README.md +1 -0
- data/lib/pg_objects/parser.rb +14 -2
- data/lib/pg_objects/version.rb +1 -1
- data/pg_objects.gemspec +16 -15
- metadata +44 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 785a95765bb30734a49ecab2a2e2c757015849ce52a86cf02d9f7a81664c6910
|
4
|
+
data.tar.gz: f8835b55ff9bfef06706953710bbf09fa0de63e128a54cf52d55c36efaeaf8ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f6183aa49329e67e94e835d182888a1506821bbdd04eaae069dac571302a5b1d5505d32cc2008ffd0d294328bf2ebd96b7d5cbd2c9d66cc3fc6346745a345f2
|
7
|
+
data.tar.gz: ccd6cc5112f0f9d1b88f34cd388dbd0cdeab3d624410951e08063630b467229856ea5b85fbc9e2f7574748c7ab159f116171735ea8bdba5300bbb95cf6c809ff
|
data/.rubocop.yml
CHANGED
@@ -7,7 +7,7 @@ inherit_from: .rubocop_todo.yml
|
|
7
7
|
|
8
8
|
AllCops:
|
9
9
|
# EnabledByDefault: true
|
10
|
-
TargetRubyVersion: 2.
|
10
|
+
TargetRubyVersion: 2.3
|
11
11
|
# Cop names are not d§splayed in offense messages by default. Change behavior
|
12
12
|
# by overriding DisplayCopNames, or by giving the -D/--display-cop-names
|
13
13
|
# option.
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
pg_objects (0.
|
5
|
-
activerecord (
|
4
|
+
pg_objects (0.4.2)
|
5
|
+
activerecord (>= 4, < 6)
|
6
6
|
pg_query (~> 1)
|
7
|
-
railties (
|
7
|
+
railties (>= 4, < 6)
|
8
8
|
rake-hooks (~> 1)
|
9
9
|
|
10
10
|
GEM
|
@@ -38,7 +38,7 @@ GEM
|
|
38
38
|
ast (2.4.0)
|
39
39
|
builder (3.2.3)
|
40
40
|
byebug (10.0.2)
|
41
|
-
concurrent-ruby (1.
|
41
|
+
concurrent-ruby (1.1.3)
|
42
42
|
crass (1.0.4)
|
43
43
|
diff-lcs (1.3)
|
44
44
|
erubi (1.7.1)
|
@@ -48,17 +48,17 @@ GEM
|
|
48
48
|
loofah (2.2.3)
|
49
49
|
crass (~> 1.0.2)
|
50
50
|
nokogiri (>= 1.5.9)
|
51
|
-
method_source (0.9.
|
51
|
+
method_source (0.9.1)
|
52
52
|
mini_portile2 (2.3.0)
|
53
53
|
minitest (5.11.3)
|
54
54
|
nokogiri (1.8.5)
|
55
55
|
mini_portile2 (~> 2.3.0)
|
56
56
|
parallel (1.12.1)
|
57
|
-
parser (2.5.
|
57
|
+
parser (2.5.3.0)
|
58
58
|
ast (~> 2.4.0)
|
59
59
|
pg_query (1.1.0)
|
60
60
|
powerpack (0.1.2)
|
61
|
-
rack (2.0.
|
61
|
+
rack (2.0.6)
|
62
62
|
rack-test (1.1.0)
|
63
63
|
rack (>= 1.0, < 3)
|
64
64
|
rails-dom-testing (2.0.3)
|
@@ -89,16 +89,16 @@ GEM
|
|
89
89
|
diff-lcs (>= 1.2.0, < 2.0)
|
90
90
|
rspec-support (~> 3.8.0)
|
91
91
|
rspec-support (3.8.0)
|
92
|
-
rubocop (0.
|
92
|
+
rubocop (0.60.0)
|
93
93
|
jaro_winkler (~> 1.5.1)
|
94
94
|
parallel (~> 1.10)
|
95
95
|
parser (>= 2.5, != 2.5.1.1)
|
96
96
|
powerpack (~> 0.1)
|
97
97
|
rainbow (>= 2.2.2, < 4.0)
|
98
98
|
ruby-progressbar (~> 1.7)
|
99
|
-
unicode-display_width (~> 1.
|
100
|
-
rubocop-rspec (1.30.
|
101
|
-
rubocop (>= 0.
|
99
|
+
unicode-display_width (~> 1.4.0)
|
100
|
+
rubocop-rspec (1.30.1)
|
101
|
+
rubocop (>= 0.60.0)
|
102
102
|
ruby-progressbar (1.10.0)
|
103
103
|
thor (0.20.0)
|
104
104
|
thread_safe (0.3.6)
|
@@ -110,13 +110,13 @@ PLATFORMS
|
|
110
110
|
ruby
|
111
111
|
|
112
112
|
DEPENDENCIES
|
113
|
-
bundler
|
113
|
+
bundler
|
114
114
|
byebug
|
115
115
|
pg_objects!
|
116
|
-
rake
|
117
|
-
rspec
|
118
|
-
rubocop
|
119
|
-
rubocop-rspec
|
116
|
+
rake
|
117
|
+
rspec
|
118
|
+
rubocop
|
119
|
+
rubocop-rspec
|
120
120
|
|
121
121
|
BUNDLED WITH
|
122
|
-
1.
|
122
|
+
1.17.1
|
data/README.md
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
[](https://travis-ci.org/marinazzio/pg_objects)
|
2
|
+
[](https://codeclimate.com/github/marinazzio/pg_objects/maintainability)
|
2
3
|
|
3
4
|
# PgObjects
|
4
5
|
|
data/lib/pg_objects/parser.rb
CHANGED
@@ -12,6 +12,18 @@ module PgObjects
|
|
12
12
|
#
|
13
13
|
# use when there are more than one SQL command in object file
|
14
14
|
class Parser
|
15
|
+
ROUTES = [
|
16
|
+
['DefineStmt', 'defnames', 0, 'String', 'str'],
|
17
|
+
['CreateFunctionStmt', 'funcname', 0, 'String', 'str'],
|
18
|
+
%w[CreateTrigStmt trigname],
|
19
|
+
%w[CreateEventTrigStmt trigname],
|
20
|
+
%w[CompositeTypeStmt typevar RangeVar relname],
|
21
|
+
%w[ViewStmt view RangeVar relname],
|
22
|
+
['CreateConversionStmt', 'conversion_name', 0, 'String', 'str'],
|
23
|
+
%w[CreateTableAsStmt into IntoClause rel RangeVar relname],
|
24
|
+
['CreateOpClassStmt', 'opclassname', 0, 'String', 'str']
|
25
|
+
].freeze
|
26
|
+
|
15
27
|
class << self
|
16
28
|
def fetch_directives(text)
|
17
29
|
{
|
@@ -22,8 +34,8 @@ module PgObjects
|
|
22
34
|
|
23
35
|
def fetch_object_name(text)
|
24
36
|
parsed = PgQuery.parse(text).tree.dig(0, 'RawStmt', 'stmt')
|
25
|
-
|
26
|
-
rescue PgQuery::ParseError
|
37
|
+
ROUTES.map { |route| parsed.dig(*route) }.compact[0]
|
38
|
+
rescue PgQuery::ParseError, NoMethodError
|
27
39
|
nil
|
28
40
|
end
|
29
41
|
|
data/lib/pg_objects/version.rb
CHANGED
data/pg_objects.gemspec
CHANGED
@@ -11,20 +11,21 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.summary = %q(Simple manager for PostgreSQL objects like triggers and functions)
|
12
12
|
spec.homepage = 'https://github.com/marinazzio/pg_objects'
|
13
13
|
|
14
|
-
spec.required_ruby_version = '>= 2.
|
14
|
+
spec.required_ruby_version = '>= 2.3.8'
|
15
15
|
|
16
16
|
spec.metadata = {
|
17
|
-
'bug_tracker_uri'
|
17
|
+
'bug_tracker_uri' => 'https://github.com/marinazzio/pg_objects/issues',
|
18
18
|
'documentation_uri' => 'https://github.com/marinazzio/pg_objects/blob/master/README.md',
|
19
|
-
'homepage_uri'
|
20
|
-
'source_code_uri'
|
19
|
+
'homepage_uri' => 'https://github.com/marinazzio/pg_objects',
|
20
|
+
'source_code_uri' => 'https://github.com/marinazzio/pg_objects'
|
21
21
|
}
|
22
22
|
|
23
|
-
spec.post_install_message =
|
24
|
-
|
23
|
+
spec.post_install_message = <<-MSG
|
24
|
+
To create initial directories structure run:
|
25
25
|
|
26
|
-
|
27
|
-
|
26
|
+
$ bundle exec rails generate pg_objects:install
|
27
|
+
|
28
|
+
MSG
|
28
29
|
|
29
30
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
30
31
|
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
@@ -43,14 +44,14 @@ Gem::Specification.new do |spec|
|
|
43
44
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
44
45
|
spec.require_paths = ['lib']
|
45
46
|
|
46
|
-
spec.add_dependency 'activerecord', '
|
47
|
+
spec.add_dependency 'activerecord', '>= 4', '< 6'
|
47
48
|
spec.add_dependency 'pg_query', '~> 1'
|
48
|
-
spec.add_dependency 'railties', '
|
49
|
+
spec.add_dependency 'railties', '>= 4', '< 6'
|
49
50
|
spec.add_dependency 'rake-hooks', '~> 1'
|
50
51
|
|
51
|
-
spec.add_development_dependency 'bundler'
|
52
|
-
spec.add_development_dependency 'rake'
|
53
|
-
spec.add_development_dependency 'rspec'
|
54
|
-
spec.add_development_dependency 'rubocop'
|
55
|
-
spec.add_development_dependency 'rubocop-rspec'
|
52
|
+
spec.add_development_dependency 'bundler'
|
53
|
+
spec.add_development_dependency 'rake'
|
54
|
+
spec.add_development_dependency 'rspec'
|
55
|
+
spec.add_development_dependency 'rubocop'
|
56
|
+
spec.add_development_dependency 'rubocop-rspec'
|
56
57
|
end
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_objects
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Denis Kiselyov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '4'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '6'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '4'
|
30
|
+
- - "<"
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
32
|
+
version: '6'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: pg_query
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,16 +48,22 @@ dependencies:
|
|
42
48
|
name: railties
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
|
-
- - "
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '4'
|
54
|
+
- - "<"
|
46
55
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
56
|
+
version: '6'
|
48
57
|
type: :runtime
|
49
58
|
prerelease: false
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
51
60
|
requirements:
|
52
|
-
- - "
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '4'
|
64
|
+
- - "<"
|
53
65
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
66
|
+
version: '6'
|
55
67
|
- !ruby/object:Gem::Dependency
|
56
68
|
name: rake-hooks
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,72 +82,72 @@ dependencies:
|
|
70
82
|
name: bundler
|
71
83
|
requirement: !ruby/object:Gem::Requirement
|
72
84
|
requirements:
|
73
|
-
- - "
|
85
|
+
- - ">="
|
74
86
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
87
|
+
version: '0'
|
76
88
|
type: :development
|
77
89
|
prerelease: false
|
78
90
|
version_requirements: !ruby/object:Gem::Requirement
|
79
91
|
requirements:
|
80
|
-
- - "
|
92
|
+
- - ">="
|
81
93
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
94
|
+
version: '0'
|
83
95
|
- !ruby/object:Gem::Dependency
|
84
96
|
name: rake
|
85
97
|
requirement: !ruby/object:Gem::Requirement
|
86
98
|
requirements:
|
87
|
-
- - "
|
99
|
+
- - ">="
|
88
100
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
101
|
+
version: '0'
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
93
105
|
requirements:
|
94
|
-
- - "
|
106
|
+
- - ">="
|
95
107
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
108
|
+
version: '0'
|
97
109
|
- !ruby/object:Gem::Dependency
|
98
110
|
name: rspec
|
99
111
|
requirement: !ruby/object:Gem::Requirement
|
100
112
|
requirements:
|
101
|
-
- - "
|
113
|
+
- - ">="
|
102
114
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
115
|
+
version: '0'
|
104
116
|
type: :development
|
105
117
|
prerelease: false
|
106
118
|
version_requirements: !ruby/object:Gem::Requirement
|
107
119
|
requirements:
|
108
|
-
- - "
|
120
|
+
- - ">="
|
109
121
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
122
|
+
version: '0'
|
111
123
|
- !ruby/object:Gem::Dependency
|
112
124
|
name: rubocop
|
113
125
|
requirement: !ruby/object:Gem::Requirement
|
114
126
|
requirements:
|
115
127
|
- - ">="
|
116
128
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0
|
129
|
+
version: '0'
|
118
130
|
type: :development
|
119
131
|
prerelease: false
|
120
132
|
version_requirements: !ruby/object:Gem::Requirement
|
121
133
|
requirements:
|
122
134
|
- - ">="
|
123
135
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0
|
136
|
+
version: '0'
|
125
137
|
- !ruby/object:Gem::Dependency
|
126
138
|
name: rubocop-rspec
|
127
139
|
requirement: !ruby/object:Gem::Requirement
|
128
140
|
requirements:
|
129
141
|
- - ">="
|
130
142
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
143
|
+
version: '0'
|
132
144
|
type: :development
|
133
145
|
prerelease: false
|
134
146
|
version_requirements: !ruby/object:Gem::Requirement
|
135
147
|
requirements:
|
136
148
|
- - ">="
|
137
149
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
150
|
+
version: '0'
|
139
151
|
description:
|
140
152
|
email:
|
141
153
|
- denis.kiselyov@gmail.com
|
@@ -176,8 +188,11 @@ metadata:
|
|
176
188
|
homepage_uri: https://github.com/marinazzio/pg_objects
|
177
189
|
source_code_uri: https://github.com/marinazzio/pg_objects
|
178
190
|
allowed_push_host: https://rubygems.org
|
179
|
-
post_install_message:
|
180
|
-
|
191
|
+
post_install_message: |2+
|
192
|
+
To create initial directories structure run:
|
193
|
+
|
194
|
+
$ bundle exec rails generate pg_objects:install
|
195
|
+
|
181
196
|
rdoc_options: []
|
182
197
|
require_paths:
|
183
198
|
- lib
|
@@ -185,7 +200,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
185
200
|
requirements:
|
186
201
|
- - ">="
|
187
202
|
- !ruby/object:Gem::Version
|
188
|
-
version:
|
203
|
+
version: 2.3.8
|
189
204
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
205
|
requirements:
|
191
206
|
- - ">="
|