pg_objects 0.3.4 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
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
  - - ">="