pg_saurus 3.2.0 → 3.2.1

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
  SHA1:
3
- metadata.gz: 415fc5db55968776ea027a80129efaf2585a3bb5
4
- data.tar.gz: 907c71a922cd7e21c438b404703fef26caa68c59
3
+ metadata.gz: fd0811441685f917cb3168ca74b10c369d4917e8
4
+ data.tar.gz: aa68ee31da068a3279300beba063e66654dd6e97
5
5
  SHA512:
6
- metadata.gz: 94678878deef5dfbd673f11a88c9395f0f6567398bf5275d80253736675c8ab4968be491c3fc65b037c2ff5c6d99cf5801260ab0d77315d7dd8860a4a16f64d6
7
- data.tar.gz: a822d5f047b7d424284d24fb159b2b0acd27c5fe1deb5548075ab711196d272892392e7b9cd85055549f52b823a4e4757edaf6dfc158611db15c78a323c083d5
6
+ metadata.gz: e739fd484fec7e22d448a573d741b4b035c58de4ad7050de42c6b9883e0b46db9836e512ed1f01dd01e38aab9bc0f90dbc091a9ef08586a6c904445a67c42ff6
7
+ data.tar.gz: 818e66c4fe2e89e5953bab2d700aa4c751ad76a043e5c62f7ef94c20afb3ab9761033eaa4dd380876464376a3cd0360ea60b0772981aecac2753a7c7eb32289c
@@ -1,6 +1,8 @@
1
1
  # Methods to extend {ActiveRecord::ConnectionAdapters::PostgreSQLAdapter}
2
2
  # to support database functions.
3
3
  module PgSaurus::ConnectionAdapters::PostgreSQLAdapter::FunctionMethods
4
+ # Regular expression used in function signature parsing:
5
+ FUNCTION_PARSE_REGEXP = /^CREATE[\s\S]+FUNCTION /
4
6
 
5
7
  # Return +true+.
6
8
  def supports_functions?
@@ -82,7 +84,10 @@ module PgSaurus::ConnectionAdapters::PostgreSQLAdapter::FunctionMethods
82
84
 
83
85
  # Retrieve the function name from the function SQL.
84
86
  def parse_function_name(function_str)
85
- function_str.split("\n").find { |line| line =~ /^CREATE[\s\S]+FUNCTION/ }.split(' ').last
87
+ function_str.
88
+ split("\n").
89
+ find { |line| line =~ FUNCTION_PARSE_REGEXP }.
90
+ sub(FUNCTION_PARSE_REGEXP, '')
86
91
  end
87
92
  private :parse_function_name
88
93
 
@@ -12,7 +12,7 @@ module PgSaurus::ConnectionAdapters::PostgreSQLAdapter::TriggerMethods
12
12
  proc_name = "#{proc_name}"
13
13
  proc_name = "#{proc_name}()" unless proc_name.end_with?(')')
14
14
 
15
- for_each = options[:for_each] || 'ROW'
15
+ for_each = options[:for_each] || 'ROW'
16
16
  constraint = options[:constraint]
17
17
 
18
18
  sql = if constraint
@@ -97,26 +97,31 @@ module PgSaurus::ConnectionAdapters::PostgreSQLAdapter::TriggerMethods
97
97
  end
98
98
  end
99
99
 
100
+ # Parse the condition from the trigger definition.
100
101
  def parse_condition(trigger_definition)
101
102
  trigger_definition[/WHEN[\s](.*?)[\s]EXECUTE[\s]PROCEDURE/m, 1]
102
103
  end
103
104
  private :parse_condition
104
105
 
106
+ # Parse the event from the trigger definition.
105
107
  def parse_event(trigger_definition, trigger_name)
106
108
  trigger_definition[/^CREATE[\sA-Z]+TRIGGER[\s]#{Regexp.escape(trigger_name)}[\s](.*?)[\s]ON[\s]/m, 1]
107
109
  end
108
110
  private :parse_event
109
111
 
112
+ # Parse the procedure name from the trigger definition.
110
113
  def parse_proc_name(trigger_definition)
111
114
  trigger_definition[/EXECUTE[\s]PROCEDURE[\s](.*?)$/m,1]
112
115
  end
113
116
  private :parse_proc_name
114
117
 
118
+ # Whether the trigger is a constraint.
115
119
  def is_constraint?(trigger_definition)
116
120
  !!(trigger_definition =~ /^CREATE CONSTRAINT TRIGGER/)
117
121
  end
118
122
  private :is_constraint?
119
123
 
124
+ # Properly quote the table name or view name.
120
125
  def quote_table_or_view(name, options)
121
126
  schema = options[:schema]
122
127
  if schema
@@ -127,6 +132,7 @@ module PgSaurus::ConnectionAdapters::PostgreSQLAdapter::TriggerMethods
127
132
  end
128
133
  private :quote_table_or_view
129
134
 
135
+ # The name provided in the options, or constructed from the procedure name.
130
136
  def trigger_name(proc_name, options)
131
137
  if name = options[:name]
132
138
  name
@@ -1,4 +1,4 @@
1
1
  module PgSaurus
2
2
  # Version of pg_saurus gem.
3
- VERSION = "3.2.0"
3
+ VERSION = "3.2.1"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_saurus
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Potapov Sergey
@@ -13,22 +13,22 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2017-06-21 00:00:00.000000000 Z
16
+ date: 2018-03-30 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: pg
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
- - - ">="
22
+ - - "<"
23
23
  - !ruby/object:Gem::Version
24
- version: '0'
24
+ version: '1.0'
25
25
  type: :runtime
26
26
  prerelease: false
27
27
  version_requirements: !ruby/object:Gem::Requirement
28
28
  requirements:
29
- - - ">="
29
+ - - "<"
30
30
  - !ruby/object:Gem::Version
31
- version: '0'
31
+ version: '1.0'
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: railties
34
34
  requirement: !ruby/object:Gem::Requirement
@@ -273,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
273
273
  version: '0'
274
274
  requirements: []
275
275
  rubyforge_project:
276
- rubygems_version: 2.6.8
276
+ rubygems_version: 2.6.14
277
277
  signing_key:
278
278
  specification_version: 4
279
279
  summary: ActiveRecord extensions for PostgreSQL.