to_bool 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 04a652783b660a09e1e4ee760a7b0cfd33ee5b59d40007014801220519c00031
4
+ data.tar.gz: ec92c3478486cec25f766c5a8edcfcad4774f2ff203a89433326bbe257c89c8a
5
+ SHA512:
6
+ metadata.gz: fc02600d89b7800a3519f7412727e2a437b7a57cc2c73b4ad6669b422b7e833254f9f3de13067af7ccc3693787d748026661e36dec863e7216c4f10c7ec8e0d1
7
+ data.tar.gz: e22d990b2df6806629134f78aaabd20bb46c399cc9ce194c5a41652c08fef836bc2d8ea9993b3f47159f597d78ab8f7a1d6c05b8a64d5b436b366b7c35df86ab
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ .idea/*
data/README.md CHANGED
@@ -15,12 +15,19 @@ Call `to_bool` on any object. It will *usually* return false, except:
15
15
  * String: `"true"`, `"1"`, and `"yes"` are true
16
16
  * Integer: `1` is true
17
17
  * TrueClass: `true` is true
18
+ * Symbol: :true is true
18
19
 
19
20
  See the spec, it pretty much maps it out.
20
21
 
21
22
  ## Contributing
22
23
 
23
- Yes.
24
+ Yes!
25
+
26
+ ### Running Tests
27
+
28
+ ```
29
+ bundle exec rspec
30
+ ```
24
31
 
25
32
 
26
33
  ## License
data/lib/to_bool.rb CHANGED
@@ -1,13 +1,17 @@
1
1
  class String
2
2
  def to_bool
3
- %w{ 1 true yes }.include? self.downcase
3
+ %w{ 1 true yes t }.include? self.downcase
4
4
  end
5
+
6
+ alias_method :to_boolean, :to_bool
5
7
  end
6
8
 
7
9
  class Integer
8
10
  def to_bool
9
11
  self == 1
10
12
  end
13
+
14
+ alias_method :to_boolean, :to_bool
11
15
  end
12
16
 
13
17
 
@@ -15,10 +19,22 @@ class TrueClass
15
19
  def to_bool
16
20
  self
17
21
  end
22
+
23
+ alias_method :to_boolean, :to_bool
18
24
  end
19
25
 
20
26
  class Object
21
27
  def to_bool
22
28
  false
23
29
  end
30
+
31
+ alias_method :to_boolean, :to_bool
32
+ end
33
+
34
+ class Symbol
35
+ def to_bool
36
+ self == :true
37
+ end
38
+
39
+ alias_method :to_boolean, :to_bool
24
40
  end
data/spec/to_bool_spec.rb CHANGED
@@ -3,42 +3,73 @@ Bundler.require
3
3
 
4
4
  describe "String" do
5
5
  it "is true if yes" do
6
- "yes".to_bool.should eq true
6
+ expect("yes".to_bool).to eq true
7
7
  end
8
8
 
9
9
  it "is true if '1'" do
10
- "1".to_bool.should eq true
10
+ expect("1".to_bool).to eq true
11
11
  end
12
12
 
13
13
  it "is true if 'true'" do
14
- "true".to_bool.should eq true
14
+ expect("true".to_bool).to eq true
15
15
  end
16
16
 
17
17
  it "is false otherwise" do
18
- "no".to_bool.should eq false
19
- "false".to_bool.should eq false
20
- "0".to_bool.should eq false
18
+ expect("no".to_bool).to eq false
19
+ expect("false".to_bool).to eq false
20
+ expect("0".to_bool).to eq false
21
+ end
22
+
23
+ it "is true when using to_boolean" do
24
+ expect("true".to_boolean).to eq true
21
25
  end
22
26
  end
23
27
 
24
28
  describe "Integer" do
25
29
  it "is true if 1" do
26
- 1.to_bool.should eq true
30
+ expect(1.to_bool).to eq true
27
31
  end
28
32
 
29
33
  it "is false otherwise" do
30
- 0.to_bool.should eq false
34
+ expect(0.to_bool).to eq false
35
+ end
36
+
37
+ it "is true when using to_boolean" do
38
+ expect(1.to_boolean).to eq true
31
39
  end
32
40
  end
33
41
 
34
42
  describe "TrueClass" do
35
43
  it "is true" do
36
- true.to_bool.should eq true
44
+ expect(true.to_bool).to eq true
45
+ end
46
+
47
+ it "is true when using to_boolean" do
48
+ expect(true.to_boolean).to eq true
37
49
  end
38
50
  end
39
51
 
40
52
  describe "Object" do
41
53
  it "is false by default" do
42
- Object.new.to_bool.should eq false
54
+ expect(Object.new.to_bool).to eq false
55
+ end
56
+
57
+ it "is false when using to_boolean" do
58
+ expect(Object.new.to_boolean).to eq false
59
+ end
60
+ end
61
+
62
+ describe "Symbol" do
63
+ it "is true if :true" do
64
+ expect(:true.to_bool).to eq true
65
+ end
66
+
67
+ it "is false otherwise" do
68
+ expect(:false.to_bool).to eq false
69
+ expect(:hoge.to_bool).to eq false
70
+ end
71
+
72
+ it "is true when using to_boolean" do
73
+ expect(:true.to_bool).to eq true
43
74
  end
44
75
  end
data/to_bool.gemspec CHANGED
@@ -4,9 +4,9 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "to_bool"
7
- gem.version = "1.0.1"
7
+ gem.version = "1.1.0"
8
8
  gem.authors = ["Bryan Ricker"]
9
- gem.email = ["bricker88@gmail.com"]
9
+ gem.email = ["bryancricker@gmail.com"]
10
10
  gem.description = %q{Super-simple gem that extends some Ruby classes with a "to_bool" method, which converts any object naturally into a boolean.}
11
11
  gem.summary = %q{Convert any object naturally into a boolean}
12
12
  gem.homepage = "http://github.com/bricker/to_bool"
@@ -15,6 +15,6 @@ Gem::Specification.new do |gem|
15
15
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
16
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
17
17
  gem.require_paths = ["lib"]
18
-
18
+
19
19
  gem.add_development_dependency "rspec", [">= 0"]
20
20
  end
metadata CHANGED
@@ -1,41 +1,38 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: to_bool
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
5
- prerelease:
4
+ version: 1.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Bryan Ricker
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-12-17 00:00:00.000000000 Z
11
+ date: 2018-08-18 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  description: Super-simple gem that extends some Ruby classes with a "to_bool" method,
31
28
  which converts any object naturally into a boolean.
32
29
  email:
33
- - bricker88@gmail.com
30
+ - bryancricker@gmail.com
34
31
  executables: []
35
32
  extensions: []
36
33
  extra_rdoc_files: []
37
34
  files:
38
- - .gitignore
35
+ - ".gitignore"
39
36
  - Gemfile
40
37
  - README.md
41
38
  - Rakefile
@@ -44,27 +41,26 @@ files:
44
41
  - to_bool.gemspec
45
42
  homepage: http://github.com/bricker/to_bool
46
43
  licenses: []
44
+ metadata: {}
47
45
  post_install_message:
48
46
  rdoc_options: []
49
47
  require_paths:
50
48
  - lib
51
49
  required_ruby_version: !ruby/object:Gem::Requirement
52
- none: false
53
50
  requirements:
54
- - - ! '>='
51
+ - - ">="
55
52
  - !ruby/object:Gem::Version
56
53
  version: '0'
57
54
  required_rubygems_version: !ruby/object:Gem::Requirement
58
- none: false
59
55
  requirements:
60
- - - ! '>='
56
+ - - ">="
61
57
  - !ruby/object:Gem::Version
62
58
  version: '0'
63
59
  requirements: []
64
60
  rubyforge_project:
65
- rubygems_version: 1.8.24
61
+ rubygems_version: 2.7.6
66
62
  signing_key:
67
- specification_version: 3
63
+ specification_version: 4
68
64
  summary: Convert any object naturally into a boolean
69
65
  test_files:
70
66
  - spec/to_bool_spec.rb