truthiness 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ group :development do
6
+ gem "rake"
7
+ gem "pry"
8
+ end
9
+
10
+ group :test do
11
+ gem "shoulda"
12
+ gem "turn"
13
+ gem "mocha"
14
+ gem "minitest"
15
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,40 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ truthiness (0.0.1)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ ansi (1.4.2)
10
+ coderay (1.0.5)
11
+ metaclass (0.0.1)
12
+ method_source (0.7.1)
13
+ minitest (2.11.3)
14
+ mocha (0.10.5)
15
+ metaclass (~> 0.0.1)
16
+ pry (0.9.8.4)
17
+ coderay (~> 1.0.5)
18
+ method_source (~> 0.7.1)
19
+ slop (>= 2.4.4, < 3)
20
+ rake (0.9.2.2)
21
+ shoulda (3.0.1)
22
+ shoulda-context (~> 1.0.0)
23
+ shoulda-matchers (~> 1.0.0)
24
+ shoulda-context (1.0.0)
25
+ shoulda-matchers (1.0.0)
26
+ slop (2.4.4)
27
+ turn (0.9.4)
28
+ ansi
29
+
30
+ PLATFORMS
31
+ ruby
32
+
33
+ DEPENDENCIES
34
+ minitest
35
+ mocha
36
+ pry
37
+ rake
38
+ shoulda
39
+ truthiness!
40
+ turn
data/README ADDED
@@ -0,0 +1,19 @@
1
+ Evaluate the truthiness of an object without getting out the logical
2
+ expressions
3
+
4
+ true.true? # => true
5
+ false.true? # => false
6
+ "true".true? # => false
7
+ nil.true? # => false
8
+
9
+ false.false? # => true
10
+ true.false? # => false
11
+ "false".false? # => false
12
+ nil.false? # => false
13
+
14
+ "almost anything".truthy? # => true
15
+ false.truthy? # => false
16
+ nil.truthy? # => false
17
+
18
+ NOTE: The truthy? method original came from another gem called "truthy"
19
+ but I determined that it was still the best name for that type of method
data/Rakefile ADDED
@@ -0,0 +1,16 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ task :default => :test
5
+
6
+ require 'rake/testtask'
7
+ Rake::TestTask.new(:test) do |test|
8
+ test.libs << "lib" << "test"
9
+ test.test_files = FileList["test/unit/**/*_test.rb"]
10
+ test.verbose = true
11
+ # test.warning = true
12
+ end
13
+
14
+ task :console do
15
+ sh "pry -I lib/truthiness -r truthiness.rb"
16
+ end
data/lib/truthiness.rb ADDED
@@ -0,0 +1,32 @@
1
+ module Truthiness
2
+
3
+ def truthy?
4
+ !!self
5
+ end
6
+
7
+ def not_truthy?
8
+ !self
9
+ end
10
+ alias_method :falsey?, :not_truthy?
11
+
12
+ def true?
13
+ self == true
14
+ end
15
+
16
+ def not_true?
17
+ !true?
18
+ end
19
+
20
+ def false?
21
+ self == false
22
+ end
23
+
24
+ def not_false?
25
+ !false?
26
+ end
27
+
28
+ end
29
+
30
+ class Object
31
+ include Truthiness
32
+ end
@@ -0,0 +1,3 @@
1
+ module Truthiness
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,68 @@
1
+ require 'truthiness'
2
+ require 'rubygems'
3
+ require 'test/unit'
4
+ require 'shoulda'
5
+ require 'turn'
6
+ require 'mocha'
7
+
8
+ class TruthinessTest < Test::Unit::TestCase
9
+ subject { Object.new }
10
+
11
+ should "respond to truthy methods" do
12
+ [:truthy?, :not_truthy?, :falsey?,
13
+ :true?, :not_true?, :false?, :not_false?].each do |m|
14
+ assert subject.respond_to?(m)
15
+ end
16
+ end
17
+
18
+ context "#true?" do
19
+ context "on true" do
20
+ subject { true }
21
+
22
+ should "return false" do
23
+ assert subject.true?
24
+ end
25
+ end
26
+
27
+ context "on anything other than true" do
28
+ should "return false" do
29
+ [nil, false, "string", [], {}, Object.new].each do |o|
30
+ assert !o.true?
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ context "#not_true?" do
37
+ should "evaluate true? and return the opposite" do
38
+ subject.expects(:true?).returns(mock)
39
+ subject.not_true?
40
+ end
41
+ end
42
+
43
+ context "#false?" do
44
+ context "on false" do
45
+ subject { false }
46
+
47
+ should "return true" do
48
+ assert subject.false?
49
+ end
50
+ end
51
+
52
+ context "on anything other than false" do
53
+ should "return false" do
54
+ [nil, true, "string", [], {}, Object.new].each do |o|
55
+ assert !o.false?
56
+ end
57
+ end
58
+ end
59
+ end
60
+
61
+ context "#not_false?" do
62
+ should "evaluate true? and return the opposite" do
63
+ subject.expects(:true?).returns(mock)
64
+ subject.not_true?
65
+ end
66
+ end
67
+
68
+ end
@@ -0,0 +1,21 @@
1
+ $:.push File.expand_path("../lib", __FILE__)
2
+ require 'truthiness/version'
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "truthiness"
6
+ s.version = Truthiness::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ["Jon Karna"]
9
+ s.email = ["ipg49vv2@gmail.com"]
10
+ s.homepage = "https://github.com/jonkarna/truthiness"
11
+ s.summary = %q{I want the truth!!!}
12
+ s.description = %q{Evaluate the truthiness of an object without getting out
13
+ the logical expressions}
14
+
15
+ s.rubyforge_project = "truthiness"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+ end
metadata ADDED
@@ -0,0 +1,55 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: truthiness
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Jon Karna
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-18 00:00:00.000000000Z
13
+ dependencies: []
14
+ description: ! "Evaluate the truthiness of an object without getting out\n the
15
+ logical expressions"
16
+ email:
17
+ - ipg49vv2@gmail.com
18
+ executables: []
19
+ extensions: []
20
+ extra_rdoc_files: []
21
+ files:
22
+ - Gemfile
23
+ - Gemfile.lock
24
+ - README
25
+ - Rakefile
26
+ - lib/truthiness.rb
27
+ - lib/truthiness/version.rb
28
+ - test/unit/truthiness_test.rb
29
+ - truthiness.gemspec
30
+ homepage: https://github.com/jonkarna/truthiness
31
+ licenses: []
32
+ post_install_message:
33
+ rdoc_options: []
34
+ require_paths:
35
+ - lib
36
+ required_ruby_version: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ required_rubygems_version: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ requirements: []
49
+ rubyforge_project: truthiness
50
+ rubygems_version: 1.8.10
51
+ signing_key:
52
+ specification_version: 3
53
+ summary: I want the truth!!!
54
+ test_files:
55
+ - test/unit/truthiness_test.rb