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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5ba3443d9d913fa270efaafb09ed62ff942ccb97
4
- data.tar.gz: 1748051d5985f1a9ae54f9eec83d7fd70666695a
3
+ metadata.gz: 5d381a0a403aaacdf696b7c0a266bce2fa39ae74
4
+ data.tar.gz: 25c551cabb907a4c8319a5e1b21745033eba16ec
5
5
  SHA512:
6
- metadata.gz: a7c50aa22687707d9ab0940aa8bc66bb5dc90c7da4ede7790f99437359acfed6846bf3ece8dfc23fa4c91afaf1ca1a3d6e9c1e88a8746bf5aca18f9dde96c862
7
- data.tar.gz: f998fe70c88c0660373d53faa54a4c6076b3c5bd34c7bf3db4a28cf3598c449ebc9523ae9fa39b7f50c923d582515efa8315affdc0526726e342d9a5a3bc4d50
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
- The simplest example, that you can find at `examples/symbol.rb`:
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
- if values.nil? || values.is_a?(Array) && values.include?(self)
18
- self
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
- if values.nil? || values.is_a?(Array) && values.include?(self)
26
- return self
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
- if values.nil?
38
- to_s
39
- elsif values.is_a?(Array)
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
- return to_s if values.nil?
49
- if values.is_a?(Array)
50
- value = to_s
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
- if values.nil?
18
- to_sym
19
- elsif values.is_a?(Array)
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
- return to_sym if values.nil?
29
- if values.is_a?(Array)
30
- value = to_sym
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
- if values.nil? || values.is_a?(Array) && values.include?(self)
43
- self
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
- if values.nil? || values.is_a?(Array) && values.include?(self)
51
- return self
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!,
@@ -1,3 +1,3 @@
1
1
  module EnsureIt
2
- VERSION = '0.1.2'
2
+ VERSION = '0.1.3'
3
3
  end
@@ -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.2
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-29 00:00:00.000000000 Z
11
+ date: 2014-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler