string-builder 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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