conventional_extensions 0.2.2 → 0.3.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: 55f0ae6b450c3fb4363ce991624506d3155878b101b1547ba16dd30c339f93f1
4
- data.tar.gz: 4efeba98bac400653a8ba3877da043583da29638f3e934877ae231ec8d33e15c
3
+ metadata.gz: 3a9c04f9382953e08d30d29f802edd622ef28f91da4314d77c21d7f0eb09f2fe
4
+ data.tar.gz: b51b6c673302e93aec88613b42e1e7c44a7c0d4055165057ffac546614fd357f
5
5
  SHA512:
6
- metadata.gz: 023a7134b14d0c20670fb548f4466290278f403ac9cd374b3c8b6a1ab8f58b9f8d9c7c502f599469ce8a4aeeb3288599bcb8c95b773b9b63f9c36e978a61b8d2
7
- data.tar.gz: 59b476799cbe313d539b2802420b4fc938e5628dad7e59cc9f258396dcaf140d553d6db6d2c042bbd6f8c1670b3629bcc65e7c02e07e98eb817e0dc164187c54
6
+ metadata.gz: ed770c9838eb07f7c752bf2f1973edf9a5ad77511ec6d939600114d203a3e6db9270d5ec8ef3b354c6914728ca0afe259c128d569aef0c9639928c6c4ed36895
7
+ data.tar.gz: d5035eff9ad821562a828dc671927a89fffe2ad1f1fe49d91b3c3147131837ecc9c82caa8adaaf26ab48149bc92a9520a3bce514efdd11380a53ff36fa657b18
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.3.0] - 2022-09-27
4
+
5
+ - Fixes defining a nested extension, e.g. `Organization::User` with `app/models/organization/user/extensions/`.
6
+ - Removes support for defining a nested extension within the namespace file. I couldn't unify it with the fix above, so it went.
7
+
3
8
  ## [0.2.2] - 2022-09-08
4
9
 
5
10
  - Fixes Zeitwerk 2.6.0 compatibility issue where extensions wouldn't load and throw an exception. See https://github.com/kaspth/conventional_extensions/commit/7fc25f1e860637e8df9fd0e81e7ca038c8c34aa0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- conventional_extensions (0.2.2)
4
+ conventional_extensions (0.3.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -5,7 +5,7 @@ require "set"
5
5
  class ConventionalExtensions::Loader
6
6
  def initialize(klass, path)
7
7
  @loaded, @klass, @matcher = Set.new, klass, /\s*class #{klass.name}/
8
- @path_format = File.join File.dirname(path), underscore(klass.name), "extensions", "%s.rb"
8
+ @path_format = File.join path.sub(/\.rb$/, "/extensions/%s.rb")
9
9
  end
10
10
 
11
11
  def load(*extensions)
@@ -14,12 +14,6 @@ class ConventionalExtensions::Loader
14
14
  end
15
15
 
16
16
  private
17
- # Logic borrowed from Active Support:
18
- # https://github.com/rails/rails/blob/a2fc96a80cf26c11df3e86e86c1b2b61736af80c/activesupport/lib/active_support/inflector/methods.rb#L99
19
- def underscore(name)
20
- name.gsub("::", "/").tap { _1.gsub!(/([A-Z]+)(?=[A-Z][a-z])|([a-z\d])(?=[A-Z])/) { ($1 || $2) << "_" } }.tap(&:downcase!)
21
- end
22
-
23
17
  def extension_paths
24
18
  Dir.glob extension_path_for("*")
25
19
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ConventionalExtensions
4
- VERSION = "0.2.2"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: conventional_extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kasper Timm Hansen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-08 00:00:00.000000000 Z
11
+ date: 2022-09-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: