string-builder 2.0.1 → 2.0.2
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 +4 -4
- data/README.md +2 -0
- data/lib/string/builder.rb +5 -8
- data/string-builder.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47bae59709088183dfce8b8b556c1363234b8b0c57e91c50cec51a6def01675f
|
4
|
+
data.tar.gz: 1ffccd0dcbb9cb5dad6480e63618ba24b9c49591503271e13ad8fe4b0f0e1eb6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93b5c440450e88eab450d79c4a67cccaa1038c5d6347e5bc7ec9d9a87879d8e56573794f8849b0487b8222aa1fc08b59b9231a55fe50ab9f1c2a80a556233d09
|
7
|
+
data.tar.gz: 97fe5c373cf15b819a0d1fc880f2a125b4af42b524c2d919417a2471288e45b42ede0cb7dc421fffbebb0ae6bb6574717274be59a5d780ff627c92b2b03c9380
|
data/README.md
CHANGED
@@ -69,6 +69,8 @@ This example shows how to make a simple logger by constructing log messages with
|
|
69
69
|
> - Since the block `yield`s a `String` object, `String::Builder` allows you to mutate the string itself as seen in this example with the `String#gsub!` method.
|
70
70
|
|
71
71
|
```ruby
|
72
|
+
require 'string/builder'
|
73
|
+
|
72
74
|
class Logger
|
73
75
|
using String::Builder
|
74
76
|
%i[error success info warning].each do |severity|
|
data/lib/string/builder.rb
CHANGED
@@ -1,15 +1,12 @@
|
|
1
1
|
module String::Builder
|
2
2
|
refine String.singleton_class do
|
3
3
|
def build(obj = String.new)
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
else
|
8
|
-
obj.to_s
|
9
|
-
end
|
4
|
+
return obj.to_s unless block_given?
|
5
|
+
yield builder = self.new
|
6
|
+
obj.dup.to_s << builder
|
10
7
|
end
|
11
|
-
def respond_to?(symbol, include_all=false)
|
12
|
-
|
8
|
+
def respond_to?(symbol, include_all = false)
|
9
|
+
self.methods(false).dup.<<(:build).include?(symbol)
|
13
10
|
end
|
14
11
|
end
|
15
12
|
end
|
data/string-builder.gemspec
CHANGED