metatron 0.2.8 → 0.3.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: f308e72dd77b3d49526080eec9ad9de69365d4892b0fa4b113530d42ecf3305b
4
- data.tar.gz: 5501df686f100f401984f103c42ebbe41f93eb2d8fb992f19cd2231a94175fa2
3
+ metadata.gz: 7cc8e8eb267de1f2e8c3a3572685596b1d223ecd6e05aaaf62e26d3bf83f4622
4
+ data.tar.gz: d3b17e9f96f220c51a72552a2c6f136095d4d4d5eb01d3cee7e87b3f1956f69f
5
5
  SHA512:
6
- metadata.gz: 75604561c430cbdabe5093c7cc593c8e8c145b0bae8a0427d60e26ac368a27f3794beb3e956a0458ad95b90c1ac76c886896381fcd845120645b97d2dec48c86
7
- data.tar.gz: ae099c61283a7b99b22e5f76a48f4ce24847f2ef8d50e5b477a00bc68a5f57654a5349ba63127451d7c9c43ba1db7cef4be31e110227db00e19d8a2143c570b0
6
+ metadata.gz: 5ff99ad79b24dd6e223953d28e446175137cb95aebe46c8f20a05e723f4a994815a8d33f9a2df69e6dfd2435b9784c67565d61c52ae5a768e3b1a026544acc0d
7
+ data.tar.gz: a844971834381acf609d2ab81321788b957916e044e5d679a33b1df0dd958956315b41f93f3c0f0814e61a3cf6f1d3921d38785e1af66c22760d9bb9c7a8e5dc
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metatron (0.2.8)
4
+ metatron (0.3.0)
5
5
  json (~> 2.6)
6
6
  puma (~> 6.3)
7
7
  sinatra (~> 2.2)
@@ -150,4 +150,4 @@ DEPENDENCIES
150
150
  yard (~> 0.9)
151
151
 
152
152
  BUNDLED WITH
153
- 2.4.17
153
+ 2.4.19
@@ -34,20 +34,25 @@ module Metatron
34
34
  @initializers ||= []
35
35
  end
36
36
 
37
- private
37
+ def self.nearest_metatron_ancestor
38
+ return self if metatron_template_class?
38
39
 
39
- def run_initializers
40
- self.class.initializers.each { |initializer| send(initializer.to_sym) }
40
+ ancestors.find { _1.respond_to?(:metatron_template_class?) && _1.metatron_template_class? }
41
41
  end
42
42
 
43
- def find_kind
44
- return self.class.name.split("::").last if metatron_template?
43
+ def self.metatron_template_class?
44
+ return true if name == "Metatron::Template"
45
+ return false if name.start_with?("Metatron::Templates::Concerns")
45
46
 
46
- self.class.ancestors.find { |klass| metatron_template?(klass) }.name.split("::").last
47
+ name.start_with?("Metatron::Templates::")
47
48
  end
48
49
 
49
- def metatron_template?(klass = self)
50
- klass.name.include?("Metatron::Templates") && !klass.name.include?("Concerns")
50
+ private
51
+
52
+ def run_initializers
53
+ self.class.nearest_metatron_ancestor.initializers.each { send(_1.to_sym) }
51
54
  end
55
+
56
+ def find_kind = self.class.nearest_metatron_ancestor.name.split("::").last
52
57
  end
53
58
  end
@@ -3,7 +3,7 @@
3
3
  module Metatron
4
4
  VERSION = [
5
5
  0, # major
6
- 2, # minor
7
- 8 # patch
6
+ 3, # minor
7
+ 0 # patch
8
8
  ].join(".")
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metatron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Gnagy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-05 00:00:00.000000000 Z
11
+ date: 2023-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json