postshift 0.1.1 → 0.1.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
  SHA1:
3
- metadata.gz: abeba27081f34d47fff90f678a3407fc8019f26b
4
- data.tar.gz: 6bda3670498cd73886dff88f731f4884e727b990
3
+ metadata.gz: 7af1b26becc44790eac020ebecc177aab32d7898
4
+ data.tar.gz: 7a2c30a03280b549744a963839a1f9faf0f0ca0b
5
5
  SHA512:
6
- metadata.gz: 7c3d908008bc8c27c3205e876c64e6a8df7b8872c6cc98f5a084bb49d56111c46f593d2116b962e093704ce1fa4e6e8885a38eb354d72cd42adbc97e72b6c064
7
- data.tar.gz: 9052f8f5dc97167611c8ce355e23bd14dfdebf1ba7b60d01ad15f84df4b49c9b91ae101522ec2bec4c0f834a452f3bd3739de5ef1c51f0081ee59e11991df60b
6
+ metadata.gz: 3dff95ff03d7f68c7c32255a671d7dbc96da14f39692b19c504acdbe049121586b24e7906c37a34510df549905a7894115a568e059b5d1f5fdec8c5ef07a3f7c
7
+ data.tar.gz: a7d61ba62cbe47d2486bb946a6621729e06f8b0ca0722652fee4882b13ee651a83fc16f62106575829e318ea046d275400d406cdfb6f9c0fb6e6639bdd06d20b
data/.codeclimate.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  engines:
3
- bundler-audit:
4
- enabled: true
3
+ bundler_audit:
4
+ enabled: false
5
5
  duplication:
6
6
  enabled: true
7
7
  config:
data/.gitignore CHANGED
@@ -17,3 +17,5 @@ config.yml
17
17
 
18
18
  .ruby-gemset
19
19
  .ruby-version
20
+
21
+ *.gem
data/LICENSE.txt CHANGED
@@ -1,54 +1,21 @@
1
- -----------------------------------------------------------------------------------
2
1
  The MIT License (MIT)
3
2
 
4
- Copyright (c) 2004-2013 David Heinemeier Hansson (original code author)
5
- Copyright (c) 2013 Minero Aoki
3
+ Copyright (c) 2017 ValiMail Inc.
6
4
 
7
- Permission is hereby granted, free of charge, to any person obtaining a copy of
8
- this software and associated documentation files (the "Software"), to deal in
9
- the Software without restriction, including without limitation the rights to
10
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11
- the Software, and to permit persons to whom the Software is furnished to do so,
12
- subject to the following conditions:
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
13
11
 
14
- The above copyright notice and this permission notice shall be included in all
15
- copies or substantial portions of the Software.
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
16
14
 
17
15
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
19
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
20
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
-
24
- -----------------------------------------------------------------------------------
25
- Copyright (c) 2010-2013, Fiksu, Inc.
26
- All rights reserved.
27
-
28
- Redistribution and use in source and binary forms, with or without
29
- modification, are permitted provided that the following conditions are
30
- met:
31
-
32
- o Redistributions of source code must retain the above copyright
33
- notice, this list of conditions and the following disclaimer.
34
-
35
- o Redistributions in binary form must reproduce the above copyright
36
- notice, this list of conditions and the following disclaimer in the
37
- documentation and/or other materials provided with the
38
- distribution.
39
-
40
- o Fiksu, Inc. nor the names of its contributors may be used to
41
- endorse or promote products derived from this software without
42
- specific prior written permission.
43
-
44
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
45
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
46
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
47
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
48
- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
49
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
50
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
51
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
52
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
53
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -28,17 +28,9 @@ module ActiveRecord
28
28
  # create_database 'foo_development', encoding: 'unicode'
29
29
  def create_database(name, options = {})
30
30
  options = { encoding: 'utf8' }.merge!(options.symbolize_keys)
31
-
32
- option_string = options.inject("") do |memo, (key, value)|
33
- memo += case key
34
- when :owner
35
- " OWNER = \"#{value}\""
36
- when :connection_limit
37
- " CONNECTION LIMIT = #{value}"
38
- else
39
- ''
40
- end
41
- end
31
+ option_string = ''
32
+ option_string += " OWNER = \"#{options[:owner]}\"" if options[:owner].present?
33
+ option_string += " CONNECTION LIMIT = #{options[:connection_limit]}" if options[:connection_limit].present?
42
34
 
43
35
  execute "CREATE DATABASE #{quote_table_name(name)}#{option_string}"
44
36
  end
@@ -55,6 +47,7 @@ module ActiveRecord
55
47
  end
56
48
 
57
49
  # Returns the list of all column definitions for a table.
50
+ # rubocop:disable Metrics/ParameterLists
58
51
  def columns(table_name)
59
52
  column_definitions(table_name.to_s).map do |column_name, type, default, notnull, oid, fmod, encoding|
60
53
  default_value = extract_value_from_default(default)
@@ -64,15 +57,18 @@ module ActiveRecord
64
57
  new_column(column_name, default_value, type_metadata, notnull == false, table_name, default_function)
65
58
  end
66
59
  end
60
+ # rubocop:enable Metrics/ParameterLists
67
61
 
68
62
  def determine_primary_key_type_conversion(type, default)
69
63
  return 'primary_key' if (type == 'integer' && default.to_s.starts_with?('"identity"'))
70
64
  type
71
65
  end
72
66
 
67
+ # rubocop:disable Metrics/ParameterLists
73
68
  def new_column(name, default, sql_type_metadata = nil, null = true, table_name = nil, default_function = nil) # :nodoc:
74
69
  RedshiftColumn.new(name, default, sql_type_metadata, null, table_name, default_function)
75
70
  end
71
+ # rubocop:enable Metrics/ParameterLists
76
72
 
77
73
  def table_options(table_name) # :nodoc:
78
74
  {}.tap do |options|
@@ -107,7 +103,7 @@ module ActiveRecord
107
103
  pks.present? ? pks[0] : pks
108
104
  end
109
105
 
110
- # TODO: This entire method block for 't2.oid::regclass::text' to 't2.relname'
106
+ # This entire method block for 't2.oid::regclass::text' to 't2.relname'
111
107
  def foreign_keys(table_name)
112
108
  fk_info = select_all(<<-SQL.strip_heredoc, 'SCHEMA')
113
109
  SELECT t2.relname AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
@@ -119,7 +119,7 @@ module ActiveRecord
119
119
 
120
120
  private
121
121
 
122
- # TODO: Copied from PostgreSQL with minor registration changes. If broken out, could override segments, etc
122
+ # Copied from PostgreSQL with minor registration changes. If broken out, could override segments, etc
123
123
  def initialize_type_map(m) # :nodoc:
124
124
  register_class_with_limit m, 'int2', Type::Integer
125
125
  register_class_with_limit m, 'int4', Type::Integer
@@ -153,8 +153,7 @@ module ActiveRecord
153
153
  # places after decimal = fmod - 4 & 0xffff
154
154
  # places before decimal = (fmod - 4) >> 16 & 0xffff
155
155
  if fmod && (fmod - 4 & 0xffff).zero?
156
- # FIXME: Remove this class, and the second argument to
157
- # lookups on PG
156
+ # Remove this class, and the second argument to lookups on PG
158
157
  Type::DecimalWithoutScale.new(precision: precision)
159
158
  else
160
159
  OID::Decimal.new(precision: precision, scale: scale)
@@ -162,6 +161,7 @@ module ActiveRecord
162
161
  end
163
162
  end
164
163
 
164
+ # rubocop:disable Style/CyclomaticComplexity
165
165
  def configure_connection
166
166
  if @config[:encoding]
167
167
  @connection.set_client_encoding(@config[:encoding])
@@ -180,6 +180,7 @@ module ActiveRecord
180
180
  end
181
181
  end
182
182
  end
183
+ # rubocop:enable Style/CyclomaticComplexity
183
184
 
184
185
  # Returns the list of a table's column names, data types, and default values.
185
186
  #
@@ -1,3 +1,3 @@
1
1
  module Postshift
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
data/postshift.gemspec CHANGED
@@ -24,9 +24,9 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.required_ruby_version = '>= 2.2.2'
26
26
 
27
- spec.add_dependency 'pg', '~> 0.20.0'
28
- spec.add_dependency 'activerecord', '>= 5.0'
29
- spec.add_dependency 'activesupport', '>= 5.0'
27
+ spec.add_dependency 'pg', '~> 0.20', '>= 0.20.0'
28
+ spec.add_dependency 'activerecord', '~> 5.0'
29
+ spec.add_dependency 'activesupport', '~> 5.0'
30
30
 
31
31
  spec.add_development_dependency 'bundler', '~> 1.14'
32
32
  spec.add_development_dependency 'rake', '~> 10.0'
metadata CHANGED
@@ -1,20 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: postshift
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave Krupinski
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-31 00:00:00.000000000 Z
11
+ date: 2017-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.20'
20
+ - - ">="
18
21
  - !ruby/object:Gem::Version
19
22
  version: 0.20.0
20
23
  type: :runtime
@@ -22,34 +25,37 @@ dependencies:
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '0.20'
30
+ - - ">="
25
31
  - !ruby/object:Gem::Version
26
32
  version: 0.20.0
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: activerecord
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - ">="
37
+ - - "~>"
32
38
  - !ruby/object:Gem::Version
33
39
  version: '5.0'
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
- - - ">="
44
+ - - "~>"
39
45
  - !ruby/object:Gem::Version
40
46
  version: '5.0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: activesupport
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - ">="
51
+ - - "~>"
46
52
  - !ruby/object:Gem::Version
47
53
  version: '5.0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - ">="
58
+ - - "~>"
53
59
  - !ruby/object:Gem::Version
54
60
  version: '5.0'
55
61
  - !ruby/object:Gem::Dependency