string_foundation 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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile +9 -9
  4. data/Gemfile.lock +19 -19
  5. data/{LICENSE.txt → LICENSE} +1 -1
  6. data/PULL_REQUEST_TEMPLATE.md +14 -0
  7. data/README.md +244 -104
  8. data/Rakefile +3 -3
  9. data/bin/console +1 -0
  10. data/coverage/assets/{0.10.0 → 0.10.2}/application.css +0 -0
  11. data/coverage/assets/{0.10.0 → 0.10.2}/application.js +0 -0
  12. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/border.png +0 -0
  13. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/controls.png +0 -0
  14. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/loading.gif +0 -0
  15. data/coverage/assets/{0.10.0 → 0.10.2}/colorbox/loading_background.png +0 -0
  16. data/coverage/assets/{0.10.0 → 0.10.2}/favicon_green.png +0 -0
  17. data/coverage/assets/{0.10.0 → 0.10.2}/favicon_red.png +0 -0
  18. data/coverage/assets/{0.10.0 → 0.10.2}/favicon_yellow.png +0 -0
  19. data/coverage/assets/{0.10.0 → 0.10.2}/loading.gif +0 -0
  20. data/coverage/assets/{0.10.0 → 0.10.2}/magnify.png +0 -0
  21. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  22. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  23. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  24. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  25. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  26. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  27. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  28. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  29. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_222222_256x240.png +0 -0
  30. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  31. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_454545_256x240.png +0 -0
  32. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_888888_256x240.png +0 -0
  33. data/coverage/assets/{0.10.0 → 0.10.2}/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  34. data/coverage/index.html +5885 -3160
  35. data/lib/string_foundation.rb +4 -2
  36. data/lib/string_foundation/blank.rb +17 -0
  37. data/lib/string_foundation/case.rb +28 -38
  38. data/lib/string_foundation/convert.rb +9 -9
  39. data/lib/string_foundation/convertible.rb +4 -4
  40. data/lib/string_foundation/is.rb +13 -0
  41. data/lib/string_foundation/length.rb +56 -0
  42. data/lib/string_foundation/like.rb +4 -4
  43. data/lib/string_foundation/version.rb +2 -2
  44. data/lib/string_foundation/with.rb +7 -7
  45. data/pkg/string_foundation-1.1.0.gem +0 -0
  46. data/spec/spec_helper.rb +10 -10
  47. data/spec/string_foundation/blank_spec.rb +91 -0
  48. data/spec/string_foundation/case_spec.rb +398 -433
  49. data/spec/string_foundation/convert_spec.rb +98 -98
  50. data/spec/string_foundation/convertible_spec.rb +286 -0
  51. data/spec/string_foundation/is_spec.rb +62 -0
  52. data/spec/string_foundation/length_spec.rb +226 -0
  53. data/spec/string_foundation/like_spec.rb +103 -103
  54. data/spec/string_foundation/version_spec.rb +4 -4
  55. data/spec/string_foundation/with_spec.rb +48 -48
  56. data/spec/support/enhanced_matchers_extension.rb +1 -0
  57. data/string_foundation.gemspec +15 -14
  58. metadata +46 -37
  59. data/circle.yml +0 -14
  60. data/pkg/string_foundation-1.0.0.gem +0 -0
  61. data/spec/string_foundation/convertaile_spec.rb +0 -286
@@ -1,14 +1,14 @@
1
1
  # ==============================================================================
2
- # SPEC - STRING FOUNDATION - VERSION
3
- # ==============================================================================
2
+ # SPEC - STRING FOUNDATION - VERSION SPEC
4
3
  # frozen_string_literal: true
4
+ # ==============================================================================
5
5
  describe StringFoundation::VERSION do
6
6
 
7
7
  # ----------------------------------------------------------------------------
8
8
  # Version Definition
9
9
  # ----------------------------------------------------------------------------
10
- it 'should have a version number' do
11
- expect(StringFoundation::VERSION).not_to be nil
10
+ it "should have a version number" do
11
+ expect(StringFoundation::VERSION).not_to be_nil
12
12
  end
13
13
 
14
14
  end
@@ -1,97 +1,97 @@
1
1
  # ==============================================================================
2
- # SPEC - STRING FOUNDATION - VERSION
3
- # ==============================================================================
2
+ # SPEC - STRING FOUNDATION - WITH SPEC
4
3
  # frozen_string_literal: true
5
- describe '[ With Methods ]' do
4
+ # ==============================================================================
5
+ describe "[ With Methods ]" do
6
6
 
7
7
  # ----------------------------------------------------------------------------
8
8
  # Without Leading Zeros
9
9
  # ----------------------------------------------------------------------------
10
- describe 'WITHOUT LEADING ZEROS ::' do
10
+ describe "WITHOUT LEADING ZEROS ::" do
11
11
  let(:string_number) { nil }
12
12
  subject { string_number.without_leading_zeros }
13
13
 
14
- context 'when a string has leading zeros,' do
15
- context 'without a plus or minus sign,' do
16
- let(:string_number) { '0000123' }
14
+ context "when a string has leading zeros," do
15
+ context "without a plus or minus sign," do
16
+ let(:string_number) { "0000123" }
17
17
 
18
- it { is_expected.to eq '123' }
18
+ it { is_expected.to eq("123") }
19
19
  end
20
20
 
21
- context 'with a minus sign,' do
22
- let(:string_number) { '-0000123' }
21
+ context "with a minus sign," do
22
+ let(:string_number) { "-0000123" }
23
23
 
24
- it { is_expected.to eq '-123' }
24
+ it { is_expected.to eq("-123") }
25
25
  end
26
26
  end
27
27
 
28
- context 'when a string has some zero characters,' do
29
- context 'without a plus or minus sign,' do
30
- let(:string_number) { '00001230000' }
28
+ context "when a string has some zero characters," do
29
+ context "without a plus or minus sign," do
30
+ let(:string_number) { "00001230000" }
31
31
 
32
- it { is_expected.to eq '1230000' }
32
+ it { is_expected.to eq("1230000") }
33
33
  end
34
34
 
35
35
 
36
- context 'with a minus sign,' do
37
- let(:string_number) { '-00001230000' }
36
+ context "with a minus sign," do
37
+ let(:string_number) { "-00001230000" }
38
38
 
39
- it { is_expected.to eq '-1230000' }
39
+ it { is_expected.to eq("-1230000") }
40
40
  end
41
41
  end
42
42
 
43
- context 'when a string like a floating point number has leading zeros,' do
44
- context 'without a plus or minus sign,' do
45
- let(:string_number) { '000000.3' }
43
+ context "when a string like a floating point number has leading zeros," do
44
+ context "without a plus or minus sign," do
45
+ let(:string_number) { "000000.3" }
46
46
 
47
- it { is_expected.to eq '0.3' }
47
+ it { is_expected.to eq("0.3") }
48
48
  end
49
49
 
50
- context 'with a minus sign,' do
51
- let(:string_number) { '-000000.3' }
50
+ context "with a minus sign," do
51
+ let(:string_number) { "-000000.3" }
52
52
 
53
- it { is_expected.to eq '-0.3' }
53
+ it { is_expected.to eq("-0.3") }
54
54
  end
55
55
  end
56
56
 
57
- context 'when a string is "0",' do
58
- context 'without a plus or minus sign,' do
59
- let(:string_number) { '0' }
57
+ context "when a string is \"0\"," do
58
+ context "without a plus or minus sign," do
59
+ let(:string_number) { "0" }
60
60
 
61
- it { is_expected.to eq '0' }
61
+ it { is_expected.to eq("0") }
62
62
  end
63
63
 
64
- context 'with a minus sign,' do
65
- let(:string_number) { '-0' }
64
+ context "with a minus sign," do
65
+ let(:string_number) { "-0" }
66
66
 
67
- it { is_expected.to eq '0' }
67
+ it { is_expected.to eq("0") }
68
68
  end
69
69
  end
70
70
 
71
- context 'when a string has only zero characters,' do
72
- context 'without a plus or minus sign,' do
73
- it 'should return a string "0"' do
74
- expect('00'.without_leading_zeros).to eq '0'
75
- expect('000'.without_leading_zeros).to eq '0'
76
- expect('0000'.without_leading_zeros).to eq '0'
77
- expect('00000'.without_leading_zeros).to eq '0'
71
+ context "when a string has only zero characters," do
72
+ context "without a plus or minus sign," do
73
+ it "should return a string \"0\"" do
74
+ expect("00".without_leading_zeros).to eq("0")
75
+ expect("000".without_leading_zeros).to eq("0")
76
+ expect("0000".without_leading_zeros).to eq("0")
77
+ expect("00000".without_leading_zeros).to eq("0")
78
78
  end
79
79
  end
80
80
 
81
- context 'with a minus sign,' do
82
- it 'should return a string "0"' do
83
- expect('-00'.without_leading_zeros).to eq '0'
84
- expect('-000'.without_leading_zeros).to eq '0'
85
- expect('-0000'.without_leading_zeros).to eq '0'
86
- expect('-00000'.without_leading_zeros).to eq '0'
81
+ context "with a minus sign," do
82
+ it "should return a string \"0\"" do
83
+ expect("-00".without_leading_zeros).to eq("0")
84
+ expect("-000".without_leading_zeros).to eq("0")
85
+ expect("-0000".without_leading_zeros).to eq("0")
86
+ expect("-00000".without_leading_zeros).to eq("0")
87
87
  end
88
88
  end
89
89
  end
90
90
 
91
- context 'when a string does not start with "0" and "-0",' do
92
- it 'should return the same string' do
91
+ context "when a string does not start with \"0\" and \"-0\"," do
92
+ it "should return the same string" do
93
93
  random_text = RandomToken.gen(10, seed: :alphabet).without_leading_zeros
94
- expect(random_text).to eq random_text
94
+ expect(random_text).to eq(random_text)
95
95
  end
96
96
  end
97
97
  end
@@ -1,5 +1,6 @@
1
1
  # ==============================================================================
2
2
  # SPEC - SUPPORT - ENHANCED MATCHERS EXTENSION
3
+ # frozen_string_literal: true
3
4
  # ==============================================================================
4
5
  module EnhancedMatchersExtension
5
6
 
@@ -1,22 +1,23 @@
1
1
  # ==============================================================================
2
2
  # STRING FOUNDATION GEMSPEC
3
- # ==============================================================================
4
3
  # frozen_string_literal: true
4
+ # ==============================================================================
5
5
  $:.push File.expand_path("../lib", __FILE__)
6
- require 'string_foundation/version'
6
+ require "string_foundation/version"
7
7
 
8
8
  Gem::Specification.new do |spec|
9
- spec.name = 'string_foundation'
10
- spec.version = StringFoundation::VERSION
11
- spec.platform = Gem::Platform::RUBY
12
- spec.authors = ['Brushdown']
13
- spec.email = ['dev@brushdown.com']
14
- spec.homepage = 'https://github.com/brushdown/string_foundation.rb'
15
- spec.summary = 'A library that extends Ruby string class.'
16
- spec.description = 'String Foundation is a Ruby library that provides useful methods for the Ruby string class.'
17
- spec.license = 'MIT'
9
+ spec.name = "string_foundation"
10
+ spec.version = StringFoundation::VERSION
11
+ spec.platform = Gem::Platform::RUBY
12
+ spec.authors = ["Jaga Apple"]
13
+ spec.email = ["jagaapple@uniboar.com"]
14
+ spec.homepage = "https://github.com/jagaapple/string_foundation.rb"
15
+ spec.summary = "A library that extends Ruby string class."
16
+ spec.description = "String Foundation is a Ruby library that provides useful methods for the Ruby string class."
17
+ spec.required_ruby_version = ">= 2.1.0"
18
+ spec.license = "MIT"
18
19
 
19
- spec.files = Dir['**/*'].keep_if { |file| File.file?(file) }
20
- spec.test_files = Dir['spec/**/*']
21
- spec.require_paths = ['lib']
20
+ spec.files = Dir["**/*"].keep_if { |file| File.file?(file) }
21
+ spec.test_files = Dir["spec/**/*"]
22
+ spec.require_paths = ["lib"]
22
23
  end
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: string_foundation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
- - Brushdown
7
+ - Jaga Apple
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-09 00:00:00.000000000 Z
11
+ date: 2018-05-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: String Foundation is a Ruby library that provides useful methods for
14
14
  the Ruby string class.
15
15
  email:
16
- - dev@brushdown.com
16
+ - jagaapple@uniboar.com
17
17
  executables: []
18
18
  extensions: []
19
19
  extra_rdoc_files: []
@@ -22,56 +22,62 @@ files:
22
22
  - CODE_OF_CONDUCT.md
23
23
  - Gemfile
24
24
  - Gemfile.lock
25
- - LICENSE.txt
25
+ - LICENSE
26
+ - PULL_REQUEST_TEMPLATE.md
26
27
  - README.md
27
28
  - Rakefile
28
29
  - bin/console
29
30
  - bin/setup
30
- - circle.yml
31
- - coverage/assets/0.10.0/application.css
32
- - coverage/assets/0.10.0/application.js
33
- - coverage/assets/0.10.0/colorbox/border.png
34
- - coverage/assets/0.10.0/colorbox/controls.png
35
- - coverage/assets/0.10.0/colorbox/loading.gif
36
- - coverage/assets/0.10.0/colorbox/loading_background.png
37
- - coverage/assets/0.10.0/favicon_green.png
38
- - coverage/assets/0.10.0/favicon_red.png
39
- - coverage/assets/0.10.0/favicon_yellow.png
40
- - coverage/assets/0.10.0/loading.gif
41
- - coverage/assets/0.10.0/magnify.png
42
- - coverage/assets/0.10.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
43
- - coverage/assets/0.10.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
44
- - coverage/assets/0.10.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
45
- - coverage/assets/0.10.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
46
- - coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png
47
- - coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
48
- - coverage/assets/0.10.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
49
- - coverage/assets/0.10.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
50
- - coverage/assets/0.10.0/smoothness/images/ui-icons_222222_256x240.png
51
- - coverage/assets/0.10.0/smoothness/images/ui-icons_2e83ff_256x240.png
52
- - coverage/assets/0.10.0/smoothness/images/ui-icons_454545_256x240.png
53
- - coverage/assets/0.10.0/smoothness/images/ui-icons_888888_256x240.png
54
- - coverage/assets/0.10.0/smoothness/images/ui-icons_cd0a0a_256x240.png
31
+ - coverage/assets/0.10.2/application.css
32
+ - coverage/assets/0.10.2/application.js
33
+ - coverage/assets/0.10.2/colorbox/border.png
34
+ - coverage/assets/0.10.2/colorbox/controls.png
35
+ - coverage/assets/0.10.2/colorbox/loading.gif
36
+ - coverage/assets/0.10.2/colorbox/loading_background.png
37
+ - coverage/assets/0.10.2/favicon_green.png
38
+ - coverage/assets/0.10.2/favicon_red.png
39
+ - coverage/assets/0.10.2/favicon_yellow.png
40
+ - coverage/assets/0.10.2/loading.gif
41
+ - coverage/assets/0.10.2/magnify.png
42
+ - coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
43
+ - coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
44
+ - coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
45
+ - coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
46
+ - coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png
47
+ - coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
48
+ - coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
49
+ - coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
50
+ - coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png
51
+ - coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png
52
+ - coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png
53
+ - coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png
54
+ - coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png
55
55
  - coverage/index.html
56
56
  - lib/string_foundation.rb
57
+ - lib/string_foundation/blank.rb
57
58
  - lib/string_foundation/case.rb
58
59
  - lib/string_foundation/convert.rb
59
60
  - lib/string_foundation/convertible.rb
61
+ - lib/string_foundation/is.rb
62
+ - lib/string_foundation/length.rb
60
63
  - lib/string_foundation/like.rb
61
64
  - lib/string_foundation/version.rb
62
65
  - lib/string_foundation/with.rb
63
- - pkg/string_foundation-1.0.0.gem
66
+ - pkg/string_foundation-1.1.0.gem
64
67
  - spec/spec_helper.rb
68
+ - spec/string_foundation/blank_spec.rb
65
69
  - spec/string_foundation/case_spec.rb
66
70
  - spec/string_foundation/convert_spec.rb
67
- - spec/string_foundation/convertaile_spec.rb
71
+ - spec/string_foundation/convertible_spec.rb
72
+ - spec/string_foundation/is_spec.rb
73
+ - spec/string_foundation/length_spec.rb
68
74
  - spec/string_foundation/like_spec.rb
69
75
  - spec/string_foundation/version_spec.rb
70
76
  - spec/string_foundation/with_spec.rb
71
77
  - spec/support/enhanced_matchers_extension.rb
72
78
  - string_foundation.gemspec
73
79
  - string_foundation.png
74
- homepage: https://github.com/brushdown/string_foundation.rb
80
+ homepage: https://github.com/jagaapple/string_foundation.rb
75
81
  licenses:
76
82
  - MIT
77
83
  metadata: {}
@@ -83,7 +89,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
83
89
  requirements:
84
90
  - - ">="
85
91
  - !ruby/object:Gem::Version
86
- version: '0'
92
+ version: 2.1.0
87
93
  required_rubygems_version: !ruby/object:Gem::Requirement
88
94
  requirements:
89
95
  - - ">="
@@ -97,10 +103,13 @@ specification_version: 4
97
103
  summary: A library that extends Ruby string class.
98
104
  test_files:
99
105
  - spec/spec_helper.rb
100
- - spec/string_foundation/case_spec.rb
101
106
  - spec/string_foundation/convert_spec.rb
102
- - spec/string_foundation/convertaile_spec.rb
103
- - spec/string_foundation/like_spec.rb
107
+ - spec/string_foundation/is_spec.rb
108
+ - spec/string_foundation/blank_spec.rb
104
109
  - spec/string_foundation/version_spec.rb
110
+ - spec/string_foundation/case_spec.rb
105
111
  - spec/string_foundation/with_spec.rb
112
+ - spec/string_foundation/convertible_spec.rb
113
+ - spec/string_foundation/length_spec.rb
114
+ - spec/string_foundation/like_spec.rb
106
115
  - spec/support/enhanced_matchers_extension.rb
data/circle.yml DELETED
@@ -1,14 +0,0 @@
1
- # ==============================================================================
2
- # CIRCLE
3
- # ==============================================================================
4
- # Settings for CircleCI.
5
- machine:
6
- environment:
7
- CI: true
8
- dependencies:
9
- pre:
10
- - 'case $CIRCLE_NODE_INDEX in 0) rvm use 2.1.0 --default ;; 1) rvm use 2.4.1 --default ;; esac'
11
- test:
12
- override:
13
- - ruby -v ; bundle exec rspec:
14
- parallel: true
@@ -1,286 +0,0 @@
1
- # ==============================================================================
2
- # SPEC - STRING FOUNDATION - CONVERTIBLE
3
- # ==============================================================================
4
- # frozen_string_literal: true
5
- describe '[ Convertible Methods ]' do
6
-
7
- # ----------------------------------------------------------------------------
8
- # Check Convertible To Integer
9
- # ----------------------------------------------------------------------------
10
- describe 'CHECK CONVERTIBLE TO INTEGER' do
11
- let(:string) { nil }
12
- subject { string.to_i? }
13
-
14
- context 'when a string is an integral number,' do
15
- context 'and it is a positive number,' do
16
- let(:string) { '123' }
17
-
18
- it { is_expected.to eq true }
19
- end
20
-
21
- context 'and it is a positive number with a sign,' do
22
- let(:string) { '+123' }
23
-
24
- it { is_expected.to eq true }
25
- end
26
-
27
- context 'and it is a negative number,' do
28
- let(:string) { '-5' }
29
-
30
- it { is_expected.to eq true }
31
- end
32
- end
33
-
34
- context 'when a string is a floating point number,' do
35
- context 'and it is a positive number,' do
36
- let(:string) { '0.123' }
37
-
38
- it { is_expected.to eq true }
39
- end
40
-
41
- context 'and it is a positive number with a sign,' do
42
- let(:string) { '+0.123' }
43
-
44
- it { is_expected.to eq true }
45
- end
46
-
47
- context 'and it is a negative number,' do
48
- let(:string) { '-5.123' }
49
-
50
- it { is_expected.to eq true }
51
- end
52
- end
53
-
54
- context 'when a string is a floating point number without an integer,' do
55
- context 'and it is a positive number,' do
56
- let(:string) { '.123' }
57
-
58
- it { is_expected.to eq true }
59
- end
60
-
61
- context 'and it is a positive number with a sign,' do
62
- let(:string) { '+.123' }
63
-
64
- it { is_expected.to eq true }
65
- end
66
-
67
- context 'and it is a negative number,' do
68
- let(:string) { '-.123' }
69
-
70
- it { is_expected.to eq true }
71
- end
72
- end
73
-
74
- context 'when a string a number has leading zeros,' do
75
- context 'and it is a positive number,' do
76
- let(:string) { '00000123' }
77
-
78
- it { is_expected.to eq true }
79
- end
80
-
81
- context 'and it is a positive number with a sign,' do
82
- let(:string) { '+00000123' }
83
-
84
- it { is_expected.to eq true }
85
- end
86
-
87
- context 'and it is a negative number,' do
88
- let(:string) { '-00000123' }
89
-
90
- it { is_expected.to eq true }
91
- end
92
- end
93
-
94
- context 'when a string is not a number,' do
95
- let(:string) { 'abc' }
96
-
97
- it { is_expected.to eq false }
98
- end
99
- end
100
-
101
-
102
- # ----------------------------------------------------------------------------
103
- # Check Convertible To Float
104
- # ----------------------------------------------------------------------------
105
- describe 'CHECK CONVERTIBLE TO FLOAT' do
106
- let(:string) { nil }
107
- subject { string.to_f? }
108
-
109
- context 'when a string is an integral number,' do
110
- context 'and it is a positive number,' do
111
- let(:string) { '123' }
112
-
113
- it { is_expected.to eq true }
114
- end
115
-
116
- context 'and it is a positive number with a sign,' do
117
- let(:string) { '+123' }
118
-
119
- it { is_expected.to eq true }
120
- end
121
-
122
- context 'and it is a negative number,' do
123
- let(:string) { '-5' }
124
-
125
- it { is_expected.to eq true }
126
- end
127
- end
128
-
129
- context 'when a string is a floating point number,' do
130
- context 'and it is a positive number,' do
131
- let(:string) { '0.123' }
132
-
133
- it { is_expected.to eq true }
134
- end
135
-
136
- context 'and it is a positive number with a sign,' do
137
- let(:string) { '+0.123' }
138
-
139
- it { is_expected.to eq true }
140
- end
141
-
142
- context 'and it is a negative number,' do
143
- let(:string) { '-5.123' }
144
-
145
- it { is_expected.to eq true }
146
- end
147
- end
148
-
149
- context 'when a string is a floating point number without an integer,' do
150
- context 'and it is a positive number,' do
151
- let(:string) { '.123' }
152
-
153
- it { is_expected.to eq true }
154
- end
155
-
156
- context 'and it is a positive number with a sign,' do
157
- let(:string) { '+.123' }
158
-
159
- it { is_expected.to eq true }
160
- end
161
-
162
- context 'and it is a negative number,' do
163
- let(:string) { '-.123' }
164
-
165
- it { is_expected.to eq true }
166
- end
167
- end
168
-
169
- context 'when a string a number has leading zeros,' do
170
- context 'and it is a positive number,' do
171
- let(:string) { '00000123' }
172
-
173
- it { is_expected.to eq true }
174
- end
175
-
176
- context 'and it is a positive number with a sign,' do
177
- let(:string) { '+00000123' }
178
-
179
- it { is_expected.to eq true }
180
- end
181
-
182
- context 'and it is a negative number,' do
183
- let(:string) { '-00000123' }
184
-
185
- it { is_expected.to eq true }
186
- end
187
- end
188
-
189
- context 'when a string is not a number,' do
190
- let(:string) { 'abc' }
191
-
192
- it { is_expected.to eq false }
193
- end
194
- end
195
-
196
-
197
- # ----------------------------------------------------------------------------
198
- # Check Convertible To Boolean
199
- # ----------------------------------------------------------------------------
200
- describe 'CHECK CONVERTIBLE TO BOOLEAN' do
201
- let(:string) { nil }
202
- subject { string.to_bool? }
203
-
204
- context 'when a string is "true",' do
205
- let(:string) { 'true' }
206
-
207
- it { is_expected.to eq true }
208
- end
209
-
210
- context 'when a string is "false",' do
211
- let(:string) { 'false' }
212
-
213
- it { is_expected.to eq true }
214
- end
215
-
216
- context 'when a string is an empty,' do
217
- let(:string) { '' }
218
-
219
- it { is_expected.to eq false }
220
- end
221
-
222
- context 'when a string is a positive number,' do
223
- let(:string) { '1' }
224
-
225
- it { is_expected.to eq false }
226
- end
227
-
228
- context 'when a string is a negative number,' do
229
- let(:string) { '-1' }
230
-
231
- it { is_expected.to eq false }
232
- end
233
-
234
- context 'when a string is not a number,' do
235
- let(:string) { 'abc' }
236
-
237
- it { is_expected.to eq false }
238
- end
239
- end
240
-
241
-
242
- # ----------------------------------------------------------------------------
243
- # Check Convertaile To Booly
244
- # ----------------------------------------------------------------------------
245
- describe 'CHECK CONVERTIBLE TO BOOLYs' do
246
- let(:string) { nil }
247
- subject { string.to_booly? }
248
-
249
- context 'when a string is "true",' do
250
- let(:string) { 'true' }
251
-
252
- it { is_expected.to eq true }
253
- end
254
-
255
- context 'when a string is "false",' do
256
- let(:string) { 'false' }
257
-
258
- it { is_expected.to eq true }
259
- end
260
-
261
- context 'when a string is an empty,' do
262
- let(:string) { '' }
263
-
264
- it { is_expected.to eq true }
265
- end
266
-
267
- context 'when a string is a positive number,' do
268
- let(:string) { '1' }
269
-
270
- it { is_expected.to eq true }
271
- end
272
-
273
- context 'when a string is a negative number,' do
274
- let(:string) { '-1' }
275
-
276
- it { is_expected.to eq true }
277
- end
278
-
279
- context 'when a string is not a number,' do
280
- let(:string) { 'abc' }
281
-
282
- it { is_expected.to eq false }
283
- end
284
- end
285
-
286
- end