directive 0.24.0 → 0.25.4

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: f4b65ae4632fd364637d4d6a342eee46ffa577aee6638c1c69ee69bbc2215357
4
- data.tar.gz: ca78edee3c25be6f367f03e89280e9ca3ee61c2c1d4a85f7603be7a30ca16a7f
3
+ metadata.gz: 7a4982ff0077569349bd7bcc056b7a2cda12c4ec36baf1e7b4a47124b21676a8
4
+ data.tar.gz: 933ebedd3842f88f2d91a218a1612d81839beeb4648a455a887ce0d2eeb4b095
5
5
  SHA512:
6
- metadata.gz: 671cc9ead1f1394e95de171f1b5827bdf9bf979c088f0228c90fd4ff0e03d1eac64089368b0fa39b08956b60f8d38839e5283966eaa3c0ea1216aed4bda66cf3
7
- data.tar.gz: 64716207b988d73307bd3908b42130ea8ea20e20a3265f94837f56ab674d003b82e25346d5a5267ee00d1afd355e5a6860ddd00549a59fa9138745ef01c76104
6
+ metadata.gz: 9d954617be9c49bdaedc46b9d3843070a3792f31be86be6583281bfb906eb9d55fc932ee7f828063625bf027aea0b2106e994430f3a3bf6e23c88908579ec3f7
7
+ data.tar.gz: c0189c5cd14295efa2bddba858df95b2137fe1e71c6c2e8c93bfb419f5bf26e1fda2fc53b23395a2bf7ac837b44451d627d4c1a0c3655a7ea84faabe3d5880a9
data/lib/directive.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "active_support/core_ext/module/delegation"
4
+
3
5
  require_relative "directive/config_builder"
4
6
  require_relative "directive/config_delegation"
5
7
  require_relative "directive/config_object"
@@ -53,6 +55,14 @@ require_relative "directive/reader"
53
55
  module Directive
54
56
  delegate :configure, :config_eval, to: :_config_builder
55
57
 
58
+ class << self
59
+ def extended(base)
60
+ raise TypeError, "#{base} is a class; it must be a module to use Directive" if base.is_a?(Class)
61
+
62
+ super
63
+ end
64
+ end
65
+
56
66
  # @return [Directive::ConfigReader] A read-only object containing configuration options set inside {#configure}
57
67
  def config
58
68
  _config_builder.reader
@@ -27,12 +27,12 @@ module Directive
27
27
  end
28
28
 
29
29
  # NOTE: options must be set up before {#configure} is called
30
- def option(*args, &block)
31
- config_class.__send__(:option, *args, &block)
30
+ def option(*args, **kwargs, &block)
31
+ config_class.__send__(:option, *args, **kwargs, &block)
32
32
  end
33
33
 
34
- def nested(*args, &block)
35
- config_class.__send__(:nested, *args, &block)
34
+ def nested(namespace, &block)
35
+ config_class.__send__(:nested, namespace, &block)
36
36
  end
37
37
 
38
38
  private
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Directive
4
4
  # This constant is managed by spicerack
5
- VERSION = "0.24.0"
5
+ VERSION = "0.25.4"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: directive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.25.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Allen Rettberg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-28 00:00:00.000000000 Z
11
+ date: 2021-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.24.0
33
+ version: 0.25.4
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.24.0
40
+ version: 0.25.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement