shale-builder 0.1.0 → 0.1.1

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: 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: []