ensure_it 0.1.2 → 0.1.3
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 +8 -1
- data/lib/ensure_it/ensure_string.rb +16 -17
- data/lib/ensure_it/ensure_symbol.rb +16 -17
- data/lib/ensure_it/version.rb +1 -1
- data/spec/lib/ensure_string_spec.rb +5 -0
- data/spec/lib/ensure_symbol_spec.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d381a0a403aaacdf696b7c0a266bce2fa39ae74
|
4
|
+
data.tar.gz: 25c551cabb907a4c8319a5e1b21745033eba16ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee79f33c6d6029d32b4b6bb363a9247c22580805d3665bb1ec7f7895ee44faac4dec601d6f1b506c17b5a583f931ee6e9e23e8b05759bd21fa90235a6dc305c1
|
7
|
+
data.tar.gz: c65f42a800eff72dc0a663d0f92ad9e4a9a3eabbcbfb7a8126b8384f43115d9b3ff613c86e6f569996524f1fa5154f3a8d1607a00ca84b72d9a5b52397daa33a
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ The main goal of EnsureIt is to provide as fast executed code as it possible wit
|
|
11
11
|
|
12
12
|
> **Note:** this library doesn't support ruby older than `2.0.0`
|
13
13
|
|
14
|
-
|
14
|
+
Simplest example (you can find at `examples/symbol.rb`):
|
15
15
|
|
16
16
|
```ruby
|
17
17
|
require 'rubygems'
|
@@ -128,6 +128,8 @@ Returns self for Symbol, converted value for String, nil (or raise) for other:
|
|
128
128
|
:one.esnure_symbol(values: %i(one two)) # => :one
|
129
129
|
'test'.esnure_symbol(values: %i(one two)) # => nil
|
130
130
|
'one'.esnure_symbol(values: %i(one two)) # => :one
|
131
|
+
:Test.ensure_symbol(downcase: true) # => :test
|
132
|
+
'Test'.ensure_symbol(downcase: true) # => :test
|
131
133
|
```
|
132
134
|
|
133
135
|
### ensure_string, ensure_string!
|
@@ -139,6 +141,7 @@ By default, returns self for String, converted value for Symbol and nil (or rais
|
|
139
141
|
'test'.ensure_string # => 'test'
|
140
142
|
100.ensure_string # => nil
|
141
143
|
100.ensure_string(numbers: true) # => '100'
|
144
|
+
:Test.ensure_string(downcase: true) # => 'test'
|
142
145
|
```
|
143
146
|
|
144
147
|
### ensure_integer, ensure_integer!
|
@@ -369,6 +372,9 @@ thor ensure_it:benchmark:all -n 1000 -s
|
|
369
372
|
|
370
373
|
## Changelog
|
371
374
|
|
375
|
+
`0.1.3`
|
376
|
+
* downcase option added to `ensure_symbol` and `ensure_string`
|
377
|
+
|
372
378
|
`0.1.2`
|
373
379
|
* smart errors refactored
|
374
380
|
* benchmarking added
|
@@ -406,6 +412,7 @@ thor ensure_it:benchmark:all -n 1000 -s
|
|
406
412
|
* ActiveSupport and MongoId integration
|
407
413
|
* custom extending functionality support
|
408
414
|
* profiling distribution
|
415
|
+
* documenting with yard
|
409
416
|
|
410
417
|
## Contributing
|
411
418
|
|
@@ -13,17 +13,19 @@ module EnsureIt
|
|
13
13
|
end
|
14
14
|
|
15
15
|
patch String do
|
16
|
-
def ensure_string(default: nil, values: nil, **opts)
|
17
|
-
|
18
|
-
|
16
|
+
def ensure_string(default: nil, values: nil, downcase: nil, **opts)
|
17
|
+
value = downcase == true ? self.downcase : self
|
18
|
+
if values.nil? || values.is_a?(Array) && values.include?(value)
|
19
|
+
value
|
19
20
|
else
|
20
21
|
default
|
21
22
|
end
|
22
23
|
end
|
23
24
|
|
24
|
-
def ensure_string!(default: nil, values: nil, **opts)
|
25
|
-
|
26
|
-
|
25
|
+
def ensure_string!(default: nil, values: nil, downcase: nil, **opts)
|
26
|
+
value = downcase == true ? self.downcase : self
|
27
|
+
if values.nil? || values.is_a?(Array) && values.include?(value)
|
28
|
+
return value
|
27
29
|
end
|
28
30
|
EnsureIt.raise_error(
|
29
31
|
:ensure_string!,
|
@@ -33,22 +35,19 @@ module EnsureIt
|
|
33
35
|
end
|
34
36
|
|
35
37
|
patch Symbol do
|
36
|
-
def ensure_string(default: nil, values: nil, **opts)
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
value = to_s
|
41
|
-
values.include?(value) ? value : default
|
38
|
+
def ensure_string(default: nil, values: nil, downcase: nil, **opts)
|
39
|
+
value = downcase == true ? to_s.downcase : to_s
|
40
|
+
if values.nil? || values.is_a?(Array) && values.include?(value)
|
41
|
+
value
|
42
42
|
else
|
43
43
|
default
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
def ensure_string!(default: nil, values: nil, **opts)
|
48
|
-
|
49
|
-
if values.is_a?(Array)
|
50
|
-
value
|
51
|
-
return value if values.include?(value)
|
47
|
+
def ensure_string!(default: nil, values: nil, downcase: nil, **opts)
|
48
|
+
value = downcase == true ? to_s.downcase : to_s
|
49
|
+
if values.nil? || values.is_a?(Array) && values.include?(value)
|
50
|
+
return value
|
52
51
|
end
|
53
52
|
EnsureIt.raise_error(
|
54
53
|
:ensure_string!,
|
@@ -13,22 +13,19 @@ module EnsureIt
|
|
13
13
|
end
|
14
14
|
|
15
15
|
patch String do
|
16
|
-
def ensure_symbol(default: nil, values: nil, **opts)
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
value = to_sym
|
21
|
-
values.include?(value) ? value : default
|
16
|
+
def ensure_symbol(default: nil, values: nil, downcase: nil, **opts)
|
17
|
+
value = downcase == true ? self.downcase.to_sym : to_sym
|
18
|
+
if values.nil? || values.is_a?(Array) && values.include?(value)
|
19
|
+
value
|
22
20
|
else
|
23
21
|
default
|
24
22
|
end
|
25
23
|
end
|
26
24
|
|
27
|
-
def ensure_symbol!(default: nil, values: nil, **opts)
|
28
|
-
|
29
|
-
if values.is_a?(Array)
|
30
|
-
value
|
31
|
-
return value if values.include?(value)
|
25
|
+
def ensure_symbol!(default: nil, values: nil, downcase: nil, **opts)
|
26
|
+
value = downcase == true ? self.downcase.to_sym : to_sym
|
27
|
+
if values.nil? || values.is_a?(Array) && values.include?(value)
|
28
|
+
return value
|
32
29
|
end
|
33
30
|
EnsureIt.raise_error(
|
34
31
|
:ensure_symbol!,
|
@@ -38,17 +35,19 @@ module EnsureIt
|
|
38
35
|
end
|
39
36
|
|
40
37
|
patch Symbol do
|
41
|
-
def ensure_symbol(default: nil, values: nil, **opts)
|
42
|
-
|
43
|
-
|
38
|
+
def ensure_symbol(default: nil, values: nil, downcase: nil, **opts)
|
39
|
+
value = downcase == true ? self.to_s.downcase.to_sym : self
|
40
|
+
if values.nil? || values.is_a?(Array) && values.include?(value)
|
41
|
+
value
|
44
42
|
else
|
45
43
|
default
|
46
44
|
end
|
47
45
|
end
|
48
46
|
|
49
|
-
def ensure_symbol!(default: nil, values: nil, **opts)
|
50
|
-
|
51
|
-
|
47
|
+
def ensure_symbol!(default: nil, values: nil, downcase: nil, **opts)
|
48
|
+
value = downcase == true ? self.to_s.downcase.to_sym : self
|
49
|
+
if values.nil? || values.is_a?(Array) && values.include?(value)
|
50
|
+
return value
|
52
51
|
end
|
53
52
|
EnsureIt.raise_error(
|
54
53
|
:ensure_symbol!,
|
data/lib/ensure_it/version.rb
CHANGED
@@ -28,6 +28,11 @@ describe EnsureIt do
|
|
28
28
|
expect(call_for(0.5, numbers: true)).to eq '0.5'
|
29
29
|
expect(call_for(Rational(2, 3), numbers: true)).to eq '2/3'
|
30
30
|
end
|
31
|
+
|
32
|
+
it 'and downcases value with downcase option' do
|
33
|
+
expect(call_for(:teST, downcase: true)).to eq 'test'
|
34
|
+
expect(call_for('teST', downcase: true)).to eq 'test'
|
35
|
+
end
|
31
36
|
end
|
32
37
|
|
33
38
|
describe '#ensure_string' do
|
@@ -26,6 +26,11 @@ describe EnsureIt do
|
|
26
26
|
expect(call_for(:test, values: %i(test me))).to eq :test
|
27
27
|
expect(call_for('me', values: %i(test me))).to eq :me
|
28
28
|
end
|
29
|
+
|
30
|
+
it 'and downcases value with downcase option' do
|
31
|
+
expect(call_for(:teST, downcase: true)).to eq :test
|
32
|
+
expect(call_for('teST', downcase: true)).to eq :test
|
33
|
+
end
|
29
34
|
end
|
30
35
|
|
31
36
|
describe '#ensure_symbol' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ensure_it
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexey Ovchinnikov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|