activerecord-postgres_enum 1.4.0 → 1.7.0

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: 27d16c338c8dcb14b9746be0e941981230c9a7eee7e4704755da15ed9869025a
4
- data.tar.gz: 5077374a8566971f0236c67e4d52ae0467659f5fe14d384ec331bb58bbfb2df3
3
+ metadata.gz: 1bb4e436ffccf3e85046e307bfb7e677c99169128cc524dcd96feb235ee367b3
4
+ data.tar.gz: c7c9c1a8c8d207371208382a3c13f33fba0c9181cb217d327112922eb4eec90a
5
5
  SHA512:
6
- metadata.gz: a58d412d08199ef784ec320d8534c39b58d150c7bc423aa493ac50602edbb9bd20e6cd176e989ec6629659ceb53117576ae98fb27ba0be9186d5c6bda6d11527
7
- data.tar.gz: 39a6e9e9bb211cc7c3931f13459b83bf747398d0b0b94df3da0f9471565931b553beedb08b9e645c13654c5e1231f6c99b37c303133a454b80a5ce10c3e8b8ea
6
+ metadata.gz: 3df55af7787c9fb43356c5dfbbef7bac50165e579fbef7964b0f764de2683836b496eb7bc9f36e3db64db2bf9d5d9565feb23a784ab6ce07caf5f688e57e96d2
7
+ data.tar.gz: 19dff3e375b92c55ac056b4d4d1d789b016b49b13c208e1368df623187068eb51884cc7832226124aed69289d5fab67878ee8d31445979bdbb264a275390757a
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/activerecord-postgres_enum.svg)](https://badge.fury.io/rb/activerecord-postgres_enum)
2
- [![Build Status](https://travis-ci.org/bibendi/activerecord-postgres_enum.svg?branch=master)](https://travis-ci.org/bibendi/activerecord-postgres_enum)
2
+ [![Build Status](https://github.com/bibendi/activerecord-postgres_enum/workflows/Ruby/badge.svg?branch=master)](https://github.com/bibendi/activerecord-postgres_enum/actions?query=branch%3Amaster)
3
3
 
4
4
  # ActiveRecord::PostgresEnum
5
5
 
@@ -16,15 +16,15 @@ module ActiveRecord
16
16
  class TypeMapInitializer
17
17
  # We need to know the column name, and the default implementation discards it
18
18
  def register_enum_type(row)
19
- register row['oid'], OID::Enum.new(enum_name: row['typname'])
19
+ register row["oid"], OID::Enum.new(enum_name: row["typname"])
20
20
  end
21
21
  end
22
22
  end
23
23
 
24
24
  module ColumnMethods # :nodoc:
25
25
  # Enables `t.enum :my_field, enum_name: :my_enum_name` on migrations
26
- def enum(name, options = {})
27
- column(name, options.delete(:enum_name), options.except(:enum_name))
26
+ def enum(name, enum_name:, **options)
27
+ column(name, enum_name, **options)
28
28
  end
29
29
  end
30
30
  end
@@ -38,7 +38,7 @@ module ActiveRecord
38
38
 
39
39
  def enums
40
40
  select_all(DEFINED_ENUMS_QUERY).each_with_object({}) do |row, memo|
41
- memo[row["typname"].to_sym] = row['enumlabels'].split("\t\t")
41
+ memo[row["typname"].to_sym] = row["enumlabels"].split("\t\t")
42
42
  end
43
43
  end
44
44
 
@@ -48,12 +48,12 @@ module ActiveRecord
48
48
  drop_enum(name, cascade: force == :cascade, if_exists: true) if force
49
49
 
50
50
  values = values.map { |v| quote v }
51
- execute "CREATE TYPE #{name} AS ENUM (#{values.join(', ')})"
51
+ execute "CREATE TYPE #{name} AS ENUM (#{values.join(", ")})"
52
52
  end
53
53
 
54
54
  def drop_enum(name, cascade: nil, if_exists: nil)
55
- if_exists_statement = 'IF EXISTS' if if_exists
56
- cascade_statement = 'CASCADE' if cascade
55
+ if_exists_statement = "IF EXISTS" if if_exists
56
+ cascade_statement = "CASCADE" if cascade
57
57
 
58
58
  sql = "DROP TYPE #{if_exists_statement} #{name} #{cascade_statement}"
59
59
  execute sql
@@ -64,7 +64,7 @@ module ActiveRecord
64
64
  end
65
65
 
66
66
  def add_enum_value(name, value, after: nil, before: nil, if_not_exists: nil)
67
- if_not_exists_statement = 'IF NOT EXISTS' if if_not_exists
67
+ if_not_exists_statement = "IF NOT EXISTS" if if_not_exists
68
68
 
69
69
  sql = "ALTER TYPE #{name} ADD VALUE #{if_not_exists_statement} #{quote value}"
70
70
  if after
@@ -14,14 +14,15 @@ module ActiveRecord
14
14
 
15
15
  def dump_enums(stream)
16
16
  statements = []
17
+ if @connection.respond_to?(:enums)
18
+ @connection.enums.each do |name, values|
19
+ values = values.map { |v| " #{v.inspect}," }.join("\n")
20
+ statements << " create_enum #{name.inspect}, [\n#{values}\n ], force: :cascade"
21
+ end
17
22
 
18
- @connection.enums.each do |name, values|
19
- values = values.map { |v| " #{v.inspect}," }.join("\n")
20
- statements << " create_enum #{name.inspect}, [\n#{values}\n ], force: :cascade"
23
+ stream.puts statements.join("\n\n")
24
+ stream.puts
21
25
  end
22
-
23
- stream.puts statements.join("\n\n")
24
- stream.puts
25
26
  end
26
27
  end
27
28
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActiveRecord
4
4
  module PostgresEnum
5
- VERSION = "1.4.0"
5
+ VERSION = "1.7.0"
6
6
  end
7
7
  end
@@ -32,7 +32,7 @@ ActiveSupport.on_load(:active_record) do
32
32
  end
33
33
 
34
34
  ::ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::NATIVE_DATABASE_TYPES[:enum] = {
35
- name: 'enum'
35
+ name: "enum"
36
36
  }
37
37
 
38
38
  ActiveRecord::Migration::CommandRecorder.prepend ActiveRecord::PostgresEnum::CommandRecorder
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-postgres_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Merkushin
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-21 00:00:00.000000000 Z
11
+ date: 2021-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -17,9 +17,6 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '6.1'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,9 +24,6 @@ dependencies:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '5'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '6.1'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: pg
35
29
  requirement: !ruby/object:Gem::Requirement
@@ -120,29 +114,29 @@ dependencies:
120
114
  requirements:
121
115
  - - "~>"
122
116
  - !ruby/object:Gem::Version
123
- version: '3.8'
117
+ version: '5.0'
124
118
  type: :development
125
119
  prerelease: false
126
120
  version_requirements: !ruby/object:Gem::Requirement
127
121
  requirements:
128
122
  - - "~>"
129
123
  - !ruby/object:Gem::Version
130
- version: '3.8'
124
+ version: '5.0'
131
125
  - !ruby/object:Gem::Dependency
132
- name: rubocop
126
+ name: standard
133
127
  requirement: !ruby/object:Gem::Requirement
134
128
  requirements:
135
129
  - - "~>"
136
130
  - !ruby/object:Gem::Version
137
- version: '0.58'
131
+ version: '1.1'
138
132
  type: :development
139
133
  prerelease: false
140
134
  version_requirements: !ruby/object:Gem::Requirement
141
135
  requirements:
142
136
  - - "~>"
143
137
  - !ruby/object:Gem::Version
144
- version: '0.58'
145
- description:
138
+ version: '1.1'
139
+ description:
146
140
  email:
147
141
  - merkushin.m.s@gmail.com
148
142
  executables: []
@@ -164,7 +158,7 @@ licenses:
164
158
  - MIT
165
159
  metadata:
166
160
  allowed_push_host: https://rubygems.org
167
- post_install_message:
161
+ post_install_message:
168
162
  rdoc_options: []
169
163
  require_paths:
170
164
  - lib
@@ -180,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
174
  version: '0'
181
175
  requirements: []
182
176
  rubygems_version: 3.1.2
183
- signing_key:
177
+ signing_key:
184
178
  specification_version: 4
185
179
  summary: Integrate PostgreSQL's enum data type into ActiveRecord's schema and migrations.
186
180
  test_files: []