corefines 1.0.0 → 1.1.0
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/CHANGELOG.adoc +15 -0
- data/README.adoc +2 -1
- data/lib/corefines/hash.rb +1 -1
- data/lib/corefines/string.rb +27 -0
- data/lib/corefines/support/alias_submodules.rb +4 -2
- data/lib/corefines/version.rb +1 -1
- data/spec/hash/{op_plus_spec.rb → op_add_spec.rb} +0 -0
- data/spec/string/to_b_spec.rb +20 -0
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82c26f93d1bc1ddcc3dcb1c97969c68e8c0cef6f
|
4
|
+
data.tar.gz: 6054a13281a7d9fa3b271e0b0346807ad544ae13
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c610bd41cde34fdb019703195c19e634581da8aea88ee5453e777f4479fc7d800b4a02fede7d99ef55c8cd17ec6dc3b26b63ccd4e2e514c02575265e84b4e2fe
|
7
|
+
data.tar.gz: 6bbc9e703f2e9f705340c7be511950f81d5e443cb3143cd2928d2c66dc14b330bbea79c0333100dd3015c2bd36b7797ee09663a8407a3c55621b74edf20396de
|
data/CHANGELOG.adoc
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
= Corefines Changelog
|
2
|
+
:repo-uri: https://github.com/jirutka/corefines
|
3
|
+
:doc-base-url: http://www.rubydoc.info/github/jirutka/corefines/Corefines
|
4
|
+
:issue-uri: {repo-uri}/issues
|
5
|
+
|
6
|
+
== 1.1.0 (2015-04-25)
|
7
|
+
|
8
|
+
* Add new refinement {doc-base-url}/String/ToB[String#to_b].
|
9
|
+
* Change alias for operator `+` from `OpPlus` to `OpAdd` and for operator `-` from `OpMinus` to `OpSub`.
|
10
|
+
* Support operators `+@` (alias `OpPlus`) and `-@` (alias `OpMinus`).
|
11
|
+
|
12
|
+
|
13
|
+
== 1.0.0 (2015-04-02)
|
14
|
+
|
15
|
+
The first stable release.
|
data/README.adoc
CHANGED
@@ -136,7 +136,7 @@ Not ideal indeed, but probably the best of what we can achieve.
|
|
136
136
|
** {doc-base-url}/Enumerable/IndexBy[#index_by]
|
137
137
|
** {doc-base-url}/Enumerable/MapSend[#map_send]
|
138
138
|
* {doc-base-url}/Hash[Hash]
|
139
|
-
** {doc-base-url}/Hash/
|
139
|
+
** {doc-base-url}/Hash/OpAdd[#+]
|
140
140
|
** {doc-base-url}/Hash/Compact[#compact]
|
141
141
|
** {doc-base-url}/Hash/Compact[#compact!]
|
142
142
|
** {doc-base-url}/Hash/Rekey[#rekey]
|
@@ -162,6 +162,7 @@ Not ideal indeed, but probably the best of what we can achieve.
|
|
162
162
|
** {doc-base-url}/String/Concat[#concat]
|
163
163
|
** {doc-base-url}/String/Decolor[#decolor]
|
164
164
|
** {doc-base-url}/String/Remove[#remove]
|
165
|
+
** {doc-base-url}/String/ToB[#to_b]
|
165
166
|
** {doc-base-url}/String/Unindent[#unindent] (alias `#strip_heredoc`)
|
166
167
|
* {doc-base-url}/Symbol[Symbol]
|
167
168
|
** {doc-base-url}/Symbol/Call[#call]
|
data/lib/corefines/hash.rb
CHANGED
data/lib/corefines/string.rb
CHANGED
@@ -165,6 +165,33 @@ module Corefines
|
|
165
165
|
end
|
166
166
|
end
|
167
167
|
|
168
|
+
##
|
169
|
+
# @!method to_b
|
170
|
+
# Interprets common affirmative string meanings as +true+, otherwise
|
171
|
+
# +false+. White spaces and case are ignored.
|
172
|
+
#
|
173
|
+
# The following strings are interpreted as +true+:
|
174
|
+
# <tt>'true', 'yes', 'on', 't', 'y', '1'</tt>.
|
175
|
+
#
|
176
|
+
# @example
|
177
|
+
# 'yes'.to_b #=> true
|
178
|
+
# 'Yes '.to_b #=> true
|
179
|
+
# ' t '.to_b #=> true
|
180
|
+
# 'no'.to_b #=> false
|
181
|
+
# 'xyz'.to_b #=> false
|
182
|
+
# ''.to_b #=> false
|
183
|
+
#
|
184
|
+
# @return [Boolean] +true+ if this string represents truthy,
|
185
|
+
# +false+ otherwise.
|
186
|
+
#
|
187
|
+
module ToB
|
188
|
+
refine ::String do
|
189
|
+
def to_b
|
190
|
+
%w[true yes on t y 1].include? self.downcase.strip
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
168
195
|
##
|
169
196
|
# @!method unindent
|
170
197
|
# Remove excessive indentation. Useful for multi-line strings embeded in
|
data/lib/corefines/version.rb
CHANGED
File without changes
|
@@ -0,0 +1,20 @@
|
|
1
|
+
describe String do
|
2
|
+
using Corefines::String::to_b
|
3
|
+
|
4
|
+
describe '#to_b' do
|
5
|
+
|
6
|
+
['true', 'yes', 'on', 't', 'y', '1', ' true ', 'YeS', ' 1'].each do |str|
|
7
|
+
context "given '#{str}'" do
|
8
|
+
subject { str.to_b }
|
9
|
+
it { is_expected.to be true }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
['false', 'no', 'off', 'f', 'n', '0', ' FalsE ', 'xyz', ''].each do |str|
|
14
|
+
context "given '#{str}'" do
|
15
|
+
subject { str.to_b }
|
16
|
+
it { is_expected.to be false }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: corefines
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jakub Jirutka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -104,6 +104,7 @@ executables: []
|
|
104
104
|
extensions: []
|
105
105
|
extra_rdoc_files: []
|
106
106
|
files:
|
107
|
+
- CHANGELOG.adoc
|
107
108
|
- LICENSE
|
108
109
|
- README.adoc
|
109
110
|
- Rakefile
|
@@ -124,7 +125,7 @@ files:
|
|
124
125
|
- spec/enumerable/index_by_spec.rb
|
125
126
|
- spec/enumerable/map_send_spec.rb
|
126
127
|
- spec/hash/compact_spec.rb
|
127
|
-
- spec/hash/
|
128
|
+
- spec/hash/op_add_spec.rb
|
128
129
|
- spec/hash/rekey_spec.rb
|
129
130
|
- spec/hash/symbolize_keys_spec.rb
|
130
131
|
- spec/module/alias_class_method_spec.rb
|
@@ -142,6 +143,7 @@ files:
|
|
142
143
|
- spec/string/concat_spec.rb
|
143
144
|
- spec/string/decolor_spec.rb
|
144
145
|
- spec/string/remove_spec.rb
|
146
|
+
- spec/string/to_b_spec.rb
|
145
147
|
- spec/string/unindent_spec.rb
|
146
148
|
- spec/support/alias_submodules_spec.rb
|
147
149
|
- spec/support/classes_including_module_spec.rb
|
@@ -167,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
169
|
version: '0'
|
168
170
|
requirements: []
|
169
171
|
rubyforge_project:
|
170
|
-
rubygems_version: 2.4.
|
172
|
+
rubygems_version: 2.4.5
|
171
173
|
signing_key:
|
172
174
|
specification_version: 4
|
173
175
|
summary: A collection of refinements for Ruby core classes.
|