demand 1.0.0 → 1.1.0

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: 71d2de856e8b5dbde272a052c9469dede2c60e3632330b6e8e7a271879189ac4
4
- data.tar.gz: fe01af992413ecf449cf06a85c445f750c947d9a6aa388aa8d5ac6a160726048
3
+ metadata.gz: dd794ffb8ce233fa1db50226078f78fd329ad64e1e49cdedc348a10313d1fbb8
4
+ data.tar.gz: 467d92011b71ed5ca40af7682cc73c2bf4d544aafe2632c4325947ef19fd92ec
5
5
  SHA512:
6
- metadata.gz: 6b493b5e0c1a82496d6c4f4b941386d48c25be30c45075f8b0fab7d4b172963d69c9a46626fbc49f5bb53bf39837459f3d8754e8a11a06e11173dbb23c36b37b
7
- data.tar.gz: d95a634315032d81f718704890d2260dbbf9ddc89edb07b09a6536a31b06ac8faf8f95db48de7e276cbe68bcbc08bc5a01aa0b7688e9545e990453c18999d595
6
+ metadata.gz: ef5d6e480a9b891a3f080786432c650910a0003d670f9572fa207e000c1f8a45a1b06189543fb6e694a615dc5c4d003791aea2036e252406f5619e288cf8a1a6
7
+ data.tar.gz: fc98de71b7b57d4b9034f87b56e002a9e4ff0c4b5cfadd7cd2b0f9cab53f0aada0fa8581846b5f6d21f3e9ae51bdbbfdec5a7d6bd648186b58083e14c3d3d3bf
data/.gitignore CHANGED
@@ -1,17 +1,17 @@
1
- .git
2
- .env
3
- *.lnk
4
- *.db
5
- *.ini
6
-
7
- /.bundle/
8
- /.yardoc
9
- /_yardoc/
10
- /coverage/
11
- /doc/
12
- /pkg/
13
- /spec/reports/
14
- /tmp/
15
-
16
- # rspec failure tracking
17
- .rspec_status
1
+ .git
2
+ .env
3
+ *.lnk
4
+ *.db
5
+ *.ini
6
+
7
+ /.bundle/
8
+ /.yardoc
9
+ /_yardoc/
10
+ /coverage/
11
+ /doc/
12
+ /pkg/
13
+ /spec/reports/
14
+ /tmp/
15
+
16
+ # rspec failure tracking
17
+ .rspec_status
data/Gemfile.lock CHANGED
@@ -1,22 +1,30 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- demand (0.1.0)
5
- boolean (~> 1.0)
6
- facets (~> 3.1)
4
+ demand (1.1.0)
5
+ activesupport (~> 5.2.2)
6
+ boolean (~> 1.0.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
+ activesupport (5.2.2)
12
+ concurrent-ruby (~> 1.0, >= 1.0.2)
13
+ i18n (>= 0.7, < 2)
14
+ minitest (~> 5.1)
15
+ tzinfo (~> 1.1)
11
16
  boolean (1.0.1)
12
17
  coderay (1.1.2)
18
+ concurrent-ruby (1.1.4)
13
19
  diff-lcs (1.3)
14
- facets (3.1.0)
20
+ i18n (1.5.2)
21
+ concurrent-ruby (~> 1.0)
15
22
  method_source (0.9.2)
23
+ minitest (5.11.3)
16
24
  pry (0.12.2)
17
25
  coderay (~> 1.1.0)
18
26
  method_source (~> 0.9.0)
19
- rake (10.5.0)
27
+ rake (12.3.2)
20
28
  rspec (3.8.0)
21
29
  rspec-core (~> 3.8.0)
22
30
  rspec-expectations (~> 3.8.0)
@@ -30,16 +38,19 @@ GEM
30
38
  diff-lcs (>= 1.2.0, < 2.0)
31
39
  rspec-support (~> 3.8.0)
32
40
  rspec-support (3.8.0)
41
+ thread_safe (0.3.6)
42
+ tzinfo (1.2.5)
43
+ thread_safe (~> 0.1)
33
44
 
34
45
  PLATFORMS
35
46
  ruby
36
47
 
37
48
  DEPENDENCIES
38
- bundler (~> 1.17)
49
+ bundler (>= 1.17)
39
50
  demand!
40
- pry (~> 0.12)
41
- rake (~> 10.0)
42
- rspec (~> 3.0)
51
+ pry (>= 0.12)
52
+ rake (>= 10.0)
53
+ rspec (>= 3.0)
43
54
 
44
55
  BUNDLED WITH
45
56
  1.17.2
data/README.md CHANGED
@@ -1,73 +1,83 @@
1
- # Demand (Ruby Gem)
2
-
3
- **Adds a top level `demand(variable)` method to return a variable if it's present** and optionally of the right type. Otherwise, a default or nil is returned.
4
-
5
- **`demand()` replaces long lines of repetitive code** to check for `nil?`/`present?`/`empty?`, etc., hard-to-read ternary operators (`?:`) and chunky `if` statements. Instead you can make a simple method call.
6
-
7
- | So, you can... | ...instead of stuff like |
8
- | --------------------------- | ---------------------------------------------- |
9
- | `demand(x)` | `(x.present? ? x : nil)` |
10
- | `a = demand(x, [0], Array)` | `a = (x.is_a?(Array) && !x.empty?) ? x : [0]` |
11
- | `demand(x) {\|x\| a = x}` | `a = x if !x.nil? && x.strip.length > 0` |
12
-
13
- ## Usage
14
-
15
- ```ruby
16
- require 'demand'
17
- ```
18
-
19
- ### If variable present, return it
20
-
21
- ```ruby
22
- x = false
23
- y = ' '
24
-
25
- demand(x) #=> false (that is, x)
26
- demand(y) #=> nil
27
- demand(y, 'Not present') #=> 'Not present'
28
- ```
29
-
30
- By *present* here we mean that:
31
-
32
- * The variable is not equal to `nil`
33
- * If it is an Array or Hash, it isn't empty
34
- * If it is a String, it isn't empty or just whitespace
35
-
36
- (This uses the [Facets](https://github.com/rubyworks/facets) gem's `blank?` method, but overrides it evaluating `false` as blank.)
37
-
38
- If you actually want your variable to be `nil` (i.e. you want the default value when the variable is *not* nil), specify the class you're looking for as `NilClass`):
39
-
40
- ```ruby
41
- expected_to_be_nil = nil
42
-
43
- demand(expected_to_be_nil, 'Not nil') #=> 'Not nil'
44
- demand(expected_to_be_nil, 'Not nil', NilClass) #=> nil (that is, expected_to_be_nil)
45
- ```
46
-
47
- If you want an Array or Hash and don't mind if an empty one is passed, just specify an empty Array or Hash as the default value.
48
-
49
- ### If variable present and of type, return it
50
-
51
- If you specify a Class or Module in the third parameter, the variable must be of this Class or include this Module.
52
-
53
- ```ruby
54
- x = 'Hello world'
55
- y = false
56
-
57
- demand(x, 'Not the right type', String) #=> 'Hello world' (that is, x)
58
- demand(y, 'Not the right type', String) #=> 'Not the right type'
59
- demand(y, 'Not the right type', Boolean) #=> false (that is, y)
60
- ```
61
-
62
- The type `Boolean` is also made available when using this gem (via the [Boolean](https://github.com/RISCfuture/boolean) gem). This has the effect that `true` and `false` include `Boolean`, so we can check if something `is_a?(Boolean)` which will pass just for `true` and `false` values.
63
-
64
- ### If variable, yield and run block
65
-
66
- If a block is specified, this will run only if the variable passes all the conditions. The variable is yielded to the block and also still returned by the method.
67
-
68
- ```ruby
69
- x = 5
70
-
71
- demand(x, nil, Integer) {|x| puts x * 2 } #=> returns: 5; puts: 10
72
- demand(x, nil, String) {|x| puts 'Hello' } #=> nil; puts is not run
73
- ```
1
+ # Demand (Ruby Gem)
2
+
3
+ **Return a variable if it's present** (and optionally of the right type), otherwise, a default or nil. Adds a top level `demand()` method, which replaces long lines of repetitive code to check for `nil?`/`present?`/`empty?`, etc., hard-to-read ternary operators (`?:`) and chunky `if` statements. Instead you can make a simple method call:
4
+
5
+ | So, you can... | ...instead of stuff like |
6
+ | --------------------------- | ---------------------------------------------- |
7
+ | `demand(x)` | `(x.present? ? x : nil)` |
8
+ | `demand(x, y)` | `(x.present? ? x : y)` |
9
+ | `a = demand(x, [0], Array)` | `a = (x.is_a?(Array) && !x.empty?) ? x : [0]` |
10
+ | `demand(x) {\|x\| a = x}` | `a = x if !x.nil? && x.strip.length > 0` |
11
+
12
+ ## Usage
13
+
14
+ ```ruby
15
+ require 'demand'
16
+ ```
17
+
18
+ ### If variable present, return it
19
+
20
+ ```ruby
21
+ x = false
22
+ y = ' '
23
+
24
+ demand(x) #=> false (that is, x)
25
+ demand(y) #=> nil
26
+ demand(y, 'Not present') #=> 'Not present'
27
+ ```
28
+
29
+ By *present* here we mean that:
30
+
31
+ * The variable is not equal to `nil`
32
+ * If it is an Array or Hash, it isn't empty
33
+ * If it is a String, it isn't empty or just whitespace
34
+
35
+ (This uses ActiveSupport's `blank?` method, but overrides it evaluating `false` as blank.)
36
+
37
+ If you actually want your variable to be `nil` (i.e. you want the default value when the variable is *not* nil), specify the class you're looking for as `NilClass`):
38
+
39
+ ```ruby
40
+ expected_to_be_nil = nil
41
+
42
+ demand(expected_to_be_nil, 'Not nil') #=> 'Not nil'
43
+ demand(expected_to_be_nil, 'Not nil', NilClass) #=> nil (that is, expected_to_be_nil)
44
+ ```
45
+
46
+ If you want an Array or Hash and don't mind if an empty one is passed, just specify an empty Array or Hash as the default value.
47
+
48
+ ### If variable present and of type, return it
49
+
50
+ If you specify a Class or Module in the third parameter, the variable must be of this Class or include this Module.
51
+
52
+ ```ruby
53
+ x = 'Hello world'
54
+ y = false
55
+
56
+ demand(x, 'Not the right type', String) #=> 'Hello world' (that is, x)
57
+ demand(y, 'Not the right type', String) #=> 'Not the right type'
58
+ demand(y, 'Not the right type', Boolean) #=> false (that is, y)
59
+ ```
60
+
61
+ The type `Boolean` is also made available when using this gem (via the [Boolean](https://github.com/RISCfuture/boolean) gem). This has the effect that `true` and `false` include `Boolean`, so we can check if something `is_a?(Boolean)` which will pass just for `true` and `false` values.
62
+
63
+ ### If variable, yield and run block
64
+
65
+ If a block is specified, this will run only if the variable passes all the conditions. The variable is yielded to the block and also still returned by the method.
66
+
67
+ ```ruby
68
+ x = 5
69
+
70
+ demand(x, nil, Integer) {|x| puts x * 2 } #=> returns: 5; puts: 10
71
+ demand(x, nil, String) {|x| puts 'Hello' } #=> nil; puts is not run
72
+ ```
73
+
74
+ ## Options
75
+
76
+ Not really recommended, but you can adjust how the `demand()` method works by setting `Demand::YIELD_DEFAULT` and `Demand::RETURN_YIELD`.
77
+
78
+ | Option | Default | Explanation |
79
+ | ------------- | ------- | ----------- |
80
+ | YIELD_DEFAULT | `false` | If `true`, a passed block will still run if the presence check on your variable fails. The default value will be yielded to the block instead. |
81
+ | RETURN_YIELD | `false` | If `true`, the return value of the passed block (if run) will be the return value for the main method itself. |
82
+
83
+ Once set, these switches change how all further calls to `demand()` behave. The switches are included for flexibility to developer preferences, but use with caution: things could get confusing quickly. Probably if you feel like you need these, `demand()` may not be the right tool.
data/demand.gemspec CHANGED
@@ -1,32 +1,32 @@
1
1
 
2
- lib = File.expand_path("../lib", __FILE__)
2
+ lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "demand/version"
4
+ require 'demand/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "demand"
7
+ spec.name = 'demand'
8
8
  spec.version = Demand::VERSION
9
- spec.authors = ["Convincible"]
10
- spec.email = ["development@convincible.media"]
9
+ spec.authors = ['Convincible']
10
+ spec.email = ['development@convincible.media']
11
11
 
12
- spec.summary = "Adds a top level demand(variable) method to return a variable if it's present and optionally of the right type. Otherwise, a default or nil is returned."
13
- spec.description = "Adds a top level demand(variable) method to return a variable if it's present and optionally of the right type. Otherwise, a default or nil is returned. demand() replaces long lines of repetitive code to check for nil?/present?/empty?, etc., hard-to-read ternary operators (?:) and if statements. A block can also be specified, which only runs (with the variable) if the checks pass."
14
- spec.homepage = "https://github.com/ConvincibleMedia/ruby-gem-demand"
12
+ spec.summary = "Return a variable if it's present (and optionally of the right type), otherwise a default or nil. Adds a top level demand() method."
13
+ spec.description = "Return a variable if it's present (and optionally of the right type), otherwise a default or nil. Adds a top level demand() method, which replaces long lines of repetitive code to check for nil?/present?/empty?, etc., hard-to-read ternary operators (?:) and if statements. A block can also be specified, which only runs (with the variable) if the checks pass."
14
+ spec.homepage = 'https://github.com/ConvincibleMedia/ruby-gem-demand'
15
15
 
16
16
  # Specify which files should be added to the gem when it is released.
17
17
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
18
  spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
19
19
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
20
20
  end
21
- spec.bindir = "exe"
21
+ spec.bindir = 'exe'
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
- spec.require_paths = ["lib"]
23
+ spec.require_paths = ['lib']
24
24
 
25
- spec.add_dependency "facets", "~> 3.1"
26
- spec.add_dependency "boolean", "~> 1.0"
25
+ spec.add_dependency 'activesupport', '~>5.2.2'
26
+ spec.add_dependency 'boolean', '~>1.0.1'
27
27
 
28
- spec.add_development_dependency "pry", "~> 0.12"
29
- spec.add_development_dependency "bundler", "~> 1.17"
30
- spec.add_development_dependency "rake", "~> 10.0"
31
- spec.add_development_dependency "rspec", "~> 3.0"
28
+ spec.add_development_dependency 'pry', '>= 0.12'
29
+ spec.add_development_dependency 'bundler', '>= 1.17'
30
+ spec.add_development_dependency 'rake', '>= 10.0'
31
+ spec.add_development_dependency 'rspec', '>= 3.0'
32
32
  end
@@ -1,3 +1,3 @@
1
1
  module Demand
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
data/lib/demand.rb CHANGED
@@ -1,66 +1,67 @@
1
- require 'demand/version'
2
- require 'facets/kernel/blank'
1
+ require 'active_support/core_ext/object/blank'
3
2
  require 'boolean'
4
3
  # require 'pry'
5
4
 
6
5
  module Demand
6
+ YIELD_DEFAULT = false
7
+ RETURN_YIELD = false
8
+ attr_accessor :YIELD_DEFAULT
9
+ attr_accessor :RETURN_YIELD
10
+ end
7
11
 
8
- # Make Demand::demand() available
9
- extend self
10
-
11
- # Checks if a passed variable is present and as expected. If so, returns and optionally yields it. Otherwise, a default is returned. The check will fail for empty arrays, hashes and strings (including whitespace strings).
12
- #
13
- # @param var The variable you wish to check.
14
- # @param default The return value you want if the check fails.
15
- # @param type [Class, Module] Variable must be of this class or include this module for the check to pass. The module 'Boolean' can be used, to mean the value must be true or false.
16
- #
17
- # @return The original variable if the check passes. Otherwise, the default value is returned.
18
- # @yield [var] If a block is given and the check passes, the original variable is also yielded to the block.
19
- #
20
- # @note If you want the check to pass just if the variable is nil, specify type = NilClass
21
- #
22
- def demand(var, default = nil, type = nil)
12
+ # Checks if a passed variable is present and as expected. If so, returns and optionally yields it. Otherwise, a default is returned. The check will fail for empty arrays, hashes and strings (including whitespace strings). If you want the check to pass just if the variable is nil, specify type = NilClass
13
+ #
14
+ # @param var The variable you wish to check.
15
+ # @param default The return value you want if the check fails.
16
+ # @param type [Class, Module] Variable must be of this class or include this module for the check to pass. The module 'Boolean' can be used, to mean the value must be true or false.
17
+ #
18
+ # @return The original variable if the check passes. Otherwise, the default value is returned.
19
+ # @yield [var] If a block is given and the check passes, the original variable is also yielded to the block.
20
+ #
21
+ # @note This is added as a top level method to the global scope when requiring this gem.
22
+ #
23
+ def demand(var, default = nil, type = nil)
23
24
 
24
- # If type specified, must either be a class or module
25
- # Otherwise, get the class of whatever was passed
26
- if (type != nil)
27
- if (type.is_a?(Class) || type.is_a?(Module))
28
- t = type
29
- else
30
- t = type.class
31
- end
25
+ # If type specified, must either be a class or module
26
+ # Otherwise, get the class of whatever was passed
27
+ if (type != nil)
28
+ if (type.is_a?(Class) || type.is_a?(Module))
29
+ t = type
30
+ else
31
+ t = type.class
32
32
  end
33
+ end
33
34
 
34
- # Check the var
35
- begin
36
- # Edge case - you want the variable to be of type NilClass
37
- if var == nil
38
- unless t == NilClass
39
- return default
40
- end
41
- # Is the variable blank? - not including false
42
- elsif !(var.present? || var == false) # Override false == blank
43
- return default
44
- # Variable is not blank
45
- # Do we need to check its class too?
46
- elsif (t != nil)
47
- unless var.is_a?(t)
48
- return default
49
- end
35
+ # Check the var
36
+ result = var; check = true
37
+ begin
38
+ # Edge case - you want the variable to be of type NilClass
39
+ if var == nil
40
+ unless t == NilClass
41
+ result = default; check = false
42
+ end
43
+ # Is the variable blank? - not including false
44
+ elsif !(var.present? || var == false) # Override false == blank
45
+ result = default; check = false
46
+ # Variable is not blank
47
+ # Do we need to check its class too?
48
+ elsif (t != nil)
49
+ unless var.is_a?(t)
50
+ result = default; check = false
50
51
  end
51
- rescue
52
- return default
53
52
  end
53
+ rescue
54
+ result = default; check = false
55
+ end
54
56
 
55
- # All checks have passed by this point
56
- yield(var) if block_given?
57
-
58
- # Original variable returned
59
- return var
60
-
57
+ # All checks have passed by this point
58
+ if block_given? && (check || Demand::YIELD_DEFAULT)
59
+ if Demand::RETURN_YIELD
60
+ return yield(result)
61
+ else
62
+ yield(result)
63
+ end
61
64
  end
65
+ return result
62
66
 
63
67
  end
64
-
65
- # Make demand() available at top level when requiring this gem
66
- extend Demand
metadata CHANGED
@@ -1,104 +1,104 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: demand
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Convincible
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-08 00:00:00.000000000 Z
11
+ date: 2019-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: facets
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.1'
19
+ version: 5.2.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.1'
26
+ version: 5.2.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: boolean
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.0'
33
+ version: 1.0.1
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: '1.0'
40
+ version: 1.0.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0.12'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.12'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.17'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.17'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '10.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '10.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '3.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '3.0'
97
- description: Adds a top level demand(variable) method to return a variable if it's
98
- present and optionally of the right type. Otherwise, a default or nil is returned.
99
- demand() replaces long lines of repetitive code to check for nil?/present?/empty?,
100
- etc., hard-to-read ternary operators (?:) and if statements. A block can also be
101
- specified, which only runs (with the variable) if the checks pass.
97
+ description: Return a variable if it's present (and optionally of the right type),
98
+ otherwise a default or nil. Adds a top level demand() method, which replaces long
99
+ lines of repetitive code to check for nil?/present?/empty?, etc., hard-to-read ternary
100
+ operators (?:) and if statements. A block can also be specified, which only runs
101
+ (with the variable) if the checks pass.
102
102
  email:
103
103
  - development@convincible.media
104
104
  executables: []
@@ -138,6 +138,6 @@ requirements: []
138
138
  rubygems_version: 3.0.0
139
139
  signing_key:
140
140
  specification_version: 4
141
- summary: Adds a top level demand(variable) method to return a variable if it's present
142
- and optionally of the right type. Otherwise, a default or nil is returned.
141
+ summary: Return a variable if it's present (and optionally of the right type), otherwise
142
+ a default or nil. Adds a top level demand() method.
143
143
  test_files: []