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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d783ce9eb7db27aa9eb4e53956473891342d467d6c31c023b6657404cdae167
4
- data.tar.gz: 396ed78bc7bc02adc593c889e6abcf5127dd06648ce00276322984fe4a4f1ebe
3
+ metadata.gz: 785a95765bb30734a49ecab2a2e2c757015849ce52a86cf02d9f7a81664c6910
4
+ data.tar.gz: f8835b55ff9bfef06706953710bbf09fa0de63e128a54cf52d55c36efaeaf8ef
5
5
  SHA512:
6
- metadata.gz: 606f99d68c7ef4cd74622f0891686664b0f7445b0c9f99e31c6cb842b78104e5a64e71ecca6eeb264b04d64e3adf8693489e5931f8b8aca1fe7554f56d5fcfec
7
- data.tar.gz: 280b63ede53a9f78efcf22797334692bf47add35e5c96a4a4b09d226ee92db49b8913666ed48754cf450f6800082be154632fca4b72435b8d0920a2fe68eae83
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.5
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
@@ -1,7 +1,9 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.5.1
4
+ - 2.3.8
5
+ - 2.4.5
6
+ - 2.5.3
5
7
  before_install: gem install bundler -v 1.16.2
6
8
  script:
7
9
  - bundle exec rspec spec
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pg_objects (0.3.4)
5
- activerecord (~> 5)
4
+ pg_objects (0.4.2)
5
+ activerecord (>= 4, < 6)
6
6
  pg_query (~> 1)
7
- railties (~> 5)
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.0.5)
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.0)
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.1.2)
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.5)
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.59.2)
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.0, >= 1.0.1)
100
- rubocop-rspec (1.30.0)
101
- rubocop (>= 0.58.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 (~> 1)
113
+ bundler
114
114
  byebug
115
115
  pg_objects!
116
- rake (~> 10)
117
- rspec (~> 3)
118
- rubocop (>= 0.59)
119
- rubocop-rspec (>= 1.30)
116
+ rake
117
+ rspec
118
+ rubocop
119
+ rubocop-rspec
120
120
 
121
121
  BUNDLED WITH
122
- 1.16.6
122
+ 1.17.1
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  [![Build Status](https://travis-ci.org/marinazzio/pg_objects.svg?branch=master)](https://travis-ci.org/marinazzio/pg_objects)
2
+ [![Maintainability](https://api.codeclimate.com/v1/badges/935cd23d8f899b6d8057/maintainability)](https://codeclimate.com/github/marinazzio/pg_objects/maintainability)
2
3
 
3
4
  # PgObjects
4
5
 
@@ -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
- parsed.dig('CreateTrigStmt', 'trigname') || parsed.dig('CreateFunctionStmt', 'funcname', 0, 'String', 'str')
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
 
@@ -1,3 +1,3 @@
1
1
  module PgObjects
2
- VERSION = '0.3.4'.freeze
2
+ VERSION = '0.4.2'.freeze
3
3
  end
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.5'
14
+ spec.required_ruby_version = '>= 2.3.8'
15
15
 
16
16
  spec.metadata = {
17
- 'bug_tracker_uri' => 'https://github.com/marinazzio/pg_objects/issues',
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' => 'https://github.com/marinazzio/pg_objects',
20
- 'source_code_uri' => 'https://github.com/marinazzio/pg_objects'
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 = %q(
24
- Now execute this to create directories structure:
23
+ spec.post_install_message = <<-MSG
24
+ To create initial directories structure run:
25
25
 
26
- $ bundle exec rails generate pg_objects:install
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', '~> 5'
47
+ spec.add_dependency 'activerecord', '>= 4', '< 6'
47
48
  spec.add_dependency 'pg_query', '~> 1'
48
- spec.add_dependency 'railties', '~> 5'
49
+ spec.add_dependency 'railties', '>= 4', '< 6'
49
50
  spec.add_dependency 'rake-hooks', '~> 1'
50
51
 
51
- spec.add_development_dependency 'bundler', '~> 1'
52
- spec.add_development_dependency 'rake', '~> 10'
53
- spec.add_development_dependency 'rspec', '~> 3'
54
- spec.add_development_dependency 'rubocop', '>= 0.59'
55
- spec.add_development_dependency 'rubocop-rspec', '>= 1.30'
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.3.4
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-10-30 00:00:00.000000000 Z
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: '5'
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: '5'
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: '5'
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: '5'
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: '1'
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: '1'
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: '10'
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: '10'
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: '3'
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: '3'
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.59'
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.59'
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: '1.30'
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: '1.30'
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: "\n Now execute this to create directories structure:\n\n
180
- \ $ bundle exec rails generate pg_objects:install\n "
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: '2.5'
203
+ version: 2.3.8
189
204
  required_rubygems_version: !ruby/object:Gem::Requirement
190
205
  requirements:
191
206
  - - ">="