power_enum 4.0.1 → 4.2.0

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: 0d082903c63c4312b09017f253ab915ce20548fae15d69472afa0781a8880354
4
- data.tar.gz: 726cf42b46643730d6999adb7f7ecebbbc0dd952cecca428ffaac153555cabee
3
+ metadata.gz: 35edbdb441b395299aa1f20a3719b5be76944f65eece54831eae69b3ffb57a9a
4
+ data.tar.gz: c4a2ce79baaa5bf26e056f1e4ab2470a34d40c0456931850c0b9c4ca5c5580ff
5
5
  SHA512:
6
- metadata.gz: f5c5ef9ffde3a15bea67001ad4c27763488268ed6d850f0e8a25bde2a1ce24b48e4f5db979c90aa4de95c32f9e7ac51825fc6909dd2594cb5b2dbf7de59490d3
7
- data.tar.gz: e4ca6e0641f07b4d0357b260e17175263094f4fe8234f195082a69527ebc7384b6ecb5ee42bf7fd02f2c7322cbe816dede2d403bd494d5096cfb72d0fe0ff26f
6
+ metadata.gz: 025f11e5861f9e3a0fd9d0f5dc2d547944ae4dac506432d1e08eee1afe4117b359e41c93962006c94e3c05ced183b7c733d0681e8e0a35a7cccfdab7d0afb3f2
7
+ data.tar.gz: 744d9fecff6322d6faab40418ebac2d438b8140c2363b23fe20a5cfc4813002c0f3b85788849f4c4e65c86128eaa711d3f8b8d6bdc895291f5731223fb4d2529
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.0.1
1
+ 4.2.0
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2005 Trevor Squires
2
4
  # Copyright (c) 2012 Arthur Shagall
3
5
  # Released under the MIT License. See the LICENSE file for more details.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2011 Arthur Shagall
2
4
  # Released under the MIT license. See LICENSE for details.
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Helper logic for the enum generator
2
4
  module EnumGeneratorHelpers
3
5
  # Helper methods to figure out the migration number.
@@ -9,7 +11,8 @@ module EnumGeneratorHelpers
9
11
  # Lifted directly from ActiveRecord::Generators::Migration
10
12
  # Unfortunately, no API is provided by Rails at this time.
11
13
  next_migration_number = current_migration_number(dirname) + 1
12
- if ActiveRecord::Base.timestamped_migrations
14
+ if (ActiveRecord::Base.respond_to?(:timestamped_migrations) && ActiveRecord::Base.timestamped_migrations) ||
15
+ (ActiveRecord.respond_to?(:timestamped_migrations) && ActiveRecord.timestamped_migrations) # Changed in Rails 7.1
13
16
  [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" % next_migration_number].max
14
17
  else
15
18
  "%.3d" % next_migration_number
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2011 Arthur Shagall
2
4
  # Released under the MIT license. See LICENSE for details.
3
5
 
@@ -12,4 +14,4 @@ class VirtualEnumerationsInitializerGenerator < Rails::Generators::Base
12
14
  template 'virtual_enumerations.rb.erb', "config/initializers/#{initializer_name}.rb"
13
15
  end
14
16
 
15
- end
17
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2005 Trevor Squires
2
4
  # Copyright (c) 2012 Arthur Shagall
3
5
  # Released under the MIT License. See the LICENSE file for more details.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2005 Trevor Squires
2
4
  # Copyright (c) 2012 Arthur Shagall
3
5
  # Released under the MIT License. See the LICENSE file for more details.
@@ -129,7 +131,7 @@ module PowerEnum
129
131
  private def create_ar_reflection(part_id, options)
130
132
  reflection = PowerEnum::Reflection::EnumerationReflection.new(part_id, options, self)
131
133
 
132
- self._reflections = self._reflections.merge(part_id.to_s => reflection)
134
+ self._reflections = self._reflections.merge(part_id.to_s => reflection, part_id.to_sym => reflection)
133
135
  reflection
134
136
  end
135
137
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2011 Arthur Shagall
2
4
  # Released under the MIT license. See LICENSE for details.
3
5
 
@@ -24,4 +26,4 @@ module PowerEnum::Migration # :nodoc:
24
26
  end
25
27
  end
26
28
 
27
- end
29
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2011 Artem Kuzko
2
4
  # Copyright (c) 2013 Zach Belzer
3
5
  # Copyright (c) 2013 Arthur Shagall
@@ -106,7 +108,7 @@ of these associations is deprecated and will be removed in the future.
106
108
  def check_validity!; end
107
109
 
108
110
  # Returns nil
109
- def source_reflection;
111
+ def source_reflection
110
112
  nil
111
113
  end
112
114
 
@@ -115,6 +117,9 @@ of these associations is deprecated and will be removed in the future.
115
117
  nil
116
118
  end
117
119
 
120
+ # https://github.com/rails/rails/pull/48362
121
+ alias_method :join_primary_type, :type
122
+
118
123
  # Always returns false. Necessary for stuff like Booking.where(:status => BookingStatus[:confirmed])
119
124
  def polymorphic?
120
125
  false
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright (c) 2011 Arthur Shagall
2
4
  # Released under the MIT license. See LICENSE for details.
3
5
 
@@ -7,10 +9,16 @@ module PowerEnum::Schema
7
9
  module SchemaStatements
8
10
 
9
11
  def self.included(base) # :nodoc:
10
- base::AbstractAdapter.class_eval do
11
- # This squashes the "#create_enum" in the PostgreSQL adapter in Rails 7+.
12
- # .../activerecord-7.0.X.Y/lib/active_record/connection_adapters/postgresql_adapter.rb
13
- prepend PowerEnum::Schema::AbstractAdapter
12
+
13
+ %w[AbstractAdapter PostgreSQLAdapter].each do |name|
14
+ if base.const_defined?(name)
15
+ base.const_get(name).class_eval do
16
+ # Currently defined in ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#create_enum
17
+ # This squashes the "#create_enum" in the PostgreSQL adapter in Rails 7+.
18
+ # .../activerecord-7.0.X.Y/lib/active_record/connection_adapters/postgresql_adapter.rb
19
+ prepend PowerEnum::Schema::AbstractAdapter
20
+ end
21
+ end
14
22
  end
15
23
  end
16
24
 
data/lib/power_enum.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails'
2
4
  require 'active_record'
3
5
  require 'testing/rspec'
data/lib/testing/rspec.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  if defined? RSpec
2
4
  require 'rspec/expectations'
3
5
 
@@ -90,7 +92,7 @@ if defined? RSpec
90
92
  failure_message do
91
93
  message = "should act as enumerated"
92
94
  if @items
93
- message << " and have members #{@items.inspect}"
95
+ message = "#{message} and have members #{@items.inspect}"
94
96
  end
95
97
  message
96
98
  end
@@ -98,7 +100,7 @@ if defined? RSpec
98
100
  failure_message_when_negated do
99
101
  message = "should not act as enumerated"
100
102
  if @items
101
- message << " with members #{@items.inspect}"
103
+ message = "#{message} with members #{@items.inspect}"
102
104
  end
103
105
  message
104
106
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: power_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trevor Squires
8
8
  - Pivotal Labs
9
9
  - Arthur Shagall
10
10
  - Sergey Potapov
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2023-02-04 00:00:00.000000000 Z
14
+ date: 2025-10-24 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
@@ -151,7 +151,7 @@ homepage: http://github.com/albertosaurus/power_enum_2
151
151
  licenses:
152
152
  - MIT
153
153
  metadata: {}
154
- post_install_message:
154
+ post_install_message:
155
155
  rdoc_options: []
156
156
  require_paths:
157
157
  - lib
@@ -166,8 +166,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  requirements: []
169
- rubygems_version: 3.2.3
170
- signing_key:
169
+ rubygems_version: 3.2.33
170
+ signing_key:
171
171
  specification_version: 4
172
172
  summary: Allows you to treat instances of your ActiveRecord models as though they
173
173
  were an enumeration of values