shale-builder 0.1.0 → 0.1.1

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: c7749b75b69a25526581d8b071fd93b44a7b6d9cc1a953fec8fbb0815fe3d86a
4
- data.tar.gz: 30ce0be01b5290da4a5960c1993f3372edc251209477205fcedeb0cc0f4fabd9
3
+ metadata.gz: 6d245e494eafdbe7a026e2f9201840f844b2e351dfdf3168632bfd825d0d1bbb
4
+ data.tar.gz: db76f630562faabca941d8522fbe1deb3cd59abcb0664e7843e295e3b22435bd
5
5
  SHA512:
6
- metadata.gz: 5f846398c26ed0afa0641bb9a912f357d446082ff11d71b738027916c4af16561f8767898d002b3f8af5396fe5f47d1ba31dc6bb3f75e22d847ae41e432ab337
7
- data.tar.gz: 960fa9d1138ce59b5d859659b5aa713f263831328105d73ee403a631a4fbfe1c3ea34c758a4cecd10d9b01ab5d16db3016aecd2abe6960e3c0ca71cecb095915
6
+ metadata.gz: 67fb45e984b9c75e111f3a13aea88e5f6cb225de1d62a5e3e5bdc6c414b15cbc601d294b40e59a127b8861c2f8031ddf3da3377597acecf0dc33a2789b48d20c
7
+ data.tar.gz: d02c3045bd8cdba9d08ec65fc2a7014da13ece5c8c5803e2970d97fcf1c53415c3d91ac4258556232aaad56eb5d87512f2a2f530168467fa67d7598da9070ef8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.1.1] - 2023-02-22
4
+
5
+ - Add support for inheritance
6
+
3
7
  ## [0.1.0] - 2023-02-21
4
8
 
5
9
  - Initial release
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shale-builder (0.1.0)
4
+ shale-builder (0.1.1)
5
5
  shale (< 1.0)
6
6
 
7
7
  GEM
@@ -3,6 +3,6 @@
3
3
  module Shale
4
4
  module Builder
5
5
  # @return [String]
6
- VERSION = '0.1.0'
6
+ VERSION = '0.1.1'
7
7
  end
8
8
  end
data/lib/shale/builder.rb CHANGED
@@ -38,11 +38,21 @@ module Shale
38
38
  #
39
39
  module Builder
40
40
  class << self
41
- # Gets called after including this module.
41
+ # Gets called after including this module in a module or class.
42
42
  #
43
- # @param mod [Module]
43
+ # @param mod [Module, Class]
44
+ # @return [void]
44
45
  def included(mod)
45
46
  mod.extend ClassMethods
47
+ Builder.prepare_mod(mod)
48
+ end
49
+
50
+ # Prepares the received module or class
51
+ # for dynamic method definition.
52
+ #
53
+ # @param mod [Module, Class]
54
+ # @return [void]
55
+ def prepare_mod(mod)
46
56
  builder_methods_module = ::Module.new
47
57
  mod.instance_variable_set :@builder_methods_module, builder_methods_module
48
58
  mod.include builder_methods_module
@@ -51,6 +61,13 @@ module Shale
51
61
 
52
62
  # Class methods provided by `Shale::Builder`
53
63
  module ClassMethods
64
+ # @param subclass [Class]
65
+ # @return [void]
66
+ def inherited(subclass)
67
+ super
68
+ Builder.prepare_mod(subclass)
69
+ end
70
+
54
71
  # Contains overridden getter methods for attributes
55
72
  # with complex types (so that they accept a block for building)
56
73
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shale-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mateusz Drewniak
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-21 00:00:00.000000000 Z
11
+ date: 2023-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: shale
@@ -49,6 +49,7 @@ licenses:
49
49
  metadata:
50
50
  homepage_uri: https://github.com/Verseth/ruby-shale-builder
51
51
  source_code_uri: https://github.com/Verseth/ruby-shale-builder
52
+ changelog_uri: https://github.com/Verseth/ruby-shale-builder/blob/main/CHANGELOG.md
52
53
  rubygems_mfa_required: 'true'
53
54
  post_install_message:
54
55
  rdoc_options: []