template_class 1.2.2 → 1.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: 735dddf04d44a0c4c68d440b9bd03cce3492a2fc1cd9a3ebad7c5c45693ab105
4
- data.tar.gz: 769971cbd1122fbc11ac80e587bef01d76fc1a4c24708747d9978f5956fc609a
3
+ metadata.gz: 668ba7c1bca879891ab4e3d88974a1b426004cf6aebd80d85ea814ba0eb00f3d
4
+ data.tar.gz: 90b2d1afb78fee8ef58227097e5b5a7b49505cccef447e6e458da94e12ef74e6
5
5
  SHA512:
6
- metadata.gz: b317516970986d38dc1e8f637ea481c861a6e9d54f0de880fddcac129a74b857431177dcbdd7df10ec52861e13e9450e911bfde2ab06a58fe55063b79d898451
7
- data.tar.gz: 4f387baf8ab79ff206af4222df6cdb481af980a1283e6cc76343bb35fd5cc65f2a47a37786ae3a144acd609fc219de95ace09d29b4dd2e8415b17d4581309861
6
+ metadata.gz: 6b288596d3e5612c4fe8e02e0ba6e23201b370839d6f6d6d42bd21a86c2a284f02e42e13208d350eae1faa74f8ef4fb3bbe02f6d8b36d4a4734a479432a6df1d
7
+ data.tar.gz: 13a7d6ceb090b5c4303061aaaea61fa04520fddb52c980e08e6ba8090ccd8379c7ebd40ddd8a60d458167bda7930adcdf4ab6a58d044e5ca46987afee958be7d
data/CHANGELOG.md CHANGED
@@ -8,6 +8,12 @@
8
8
  ### Bug fixes
9
9
  )-->
10
10
 
11
+ ## 1.3.0 2025-02-17
12
+
13
+ ### New features
14
+
15
+ - Allow for template classes to create instances with `new`.
16
+
11
17
  ## 1.2.2 2025-01-29
12
18
 
13
19
  ### Bug fixes
data/README.md CHANGED
@@ -26,7 +26,7 @@ gem install template_class
26
26
 
27
27
  ## Usage
28
28
 
29
- Include `TemplateClass::Template` in the class or module you want to make into a template. You can't make instances of a template; instead, you need to *specialize* it to some parameter. By default, any new specialization is an empty class. To define how a specialization is defined from a parameter, call `resolve_template_specialization`. The block you pass will be yielded the parameter that's specializing the template and a class constructor that makes it possible to recursively use the new specialization.
29
+ Include `TemplateClass::Template` in the class or module you want to make into a template. You can still make instances of a template, but you are expected to *specialize* it to some parameter. By default, any new specialization is an empty class. To define how a specialization is defined from a parameter, call `resolve_template_specialization`. The block you pass will be yielded the parameter that's specializing the template and a class constructor that makes it possible to recursively use the new specialization.
30
30
 
31
31
  ```ruby
32
32
  class List
@@ -12,7 +12,6 @@ module TemplateClass
12
12
  instance_accessor: false
13
13
 
14
14
  singleton_class.delegate :[], :[]=, to: :cache
15
- singleton_class.undef_method :new
16
15
  end
17
16
 
18
17
  class CacheClassConstructor
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TemplateClass
4
- VERSION = '1.2.2'
4
+ VERSION = '1.3.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: template_class
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Moku S.r.l.
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2025-01-29 00:00:00.000000000 Z
12
+ date: 2025-02-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport