if_blank 0.0.1 → 0.0.2

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.
data/.gitignore CHANGED
@@ -8,6 +8,8 @@ InstalledFiles
8
8
  _yardoc
9
9
  coverage
10
10
  doc/
11
+ coverage
12
+ InstalledFiles
11
13
  lib/bundler/man
12
14
  pkg
13
15
  rdoc
@@ -15,3 +17,8 @@ spec/reports
15
17
  test/tmp
16
18
  test/version_tmp
17
19
  tmp
20
+
21
+ # YARD artifacts
22
+ .yardoc
23
+ _yardoc
24
+ doc/
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # IfBlank
2
2
 
3
- TODO: Write a gem description
3
+ Return a value if the object is empty
4
4
 
5
5
  ## Installation
6
6
 
@@ -18,7 +18,11 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO: Write usage instructions here
21
+ ### Block Usage
22
+ `obj.if_blank? { do_something }`
23
+
24
+ ### Value Usage
25
+ `obj.if_blank?("some string")`
22
26
 
23
27
  ## Contributing
24
28
 
@@ -26,4 +30,4 @@ TODO: Write usage instructions here
26
30
  2. Create your feature branch (`git checkout -b my-new-feature`)
27
31
  3. Commit your changes (`git commit -am 'Add some feature'`)
28
32
  4. Push to the branch (`git push origin my-new-feature`)
29
- 5. Create new Pull Request
33
+ 5. Create new Pull Request
data/lib/if_blank.rb CHANGED
@@ -7,7 +7,7 @@ class Object
7
7
  # its return value to be the result of a passed
8
8
  # in block, or else a replacement string
9
9
  # Converts self to a string.
10
- def if_blank(replacement = "")
10
+ def if_blank?(replacement = "")
11
11
  return self unless self.tap do |obj|
12
12
  obj.strip! if obj.respond_to?(:strip!)
13
13
  end.empty?
@@ -15,4 +15,10 @@ class Object
15
15
  block_given? ? yield : replacement
16
16
  end
17
17
 
18
+ end
19
+
20
+ class NilClass
21
+ def empty?
22
+ true
23
+ end
18
24
  end
@@ -1,3 +1,3 @@
1
1
  module IfBlank
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,105 @@
1
+ require "spec_helper"
2
+
3
+ describe String do
4
+
5
+ context "replacement" do
6
+
7
+ it "is present" do
8
+ "value".if_blank?("hi").should == "value"
9
+ end
10
+
11
+ it "is whitespace" do
12
+ " ".if_blank?("hi").should == "hi"
13
+ end
14
+
15
+ end
16
+
17
+ context "block" do
18
+
19
+ it "is present" do
20
+ "value".if_blank? { "hi" }.should == "value"
21
+ end
22
+
23
+ it "is whitespace" do
24
+ " ".if_blank? { "hi" }.should == "hi"
25
+ end
26
+
27
+ end
28
+
29
+ end
30
+
31
+ describe Array do
32
+
33
+ context "replacement" do
34
+
35
+ it "is present" do
36
+ ["value", "value2"].if_blank?("hi").should == ["value", "value2"]
37
+ end
38
+
39
+ it "is whitespace" do
40
+ [].if_blank?("hi").should == "hi"
41
+ end
42
+
43
+ end
44
+
45
+ context "block" do
46
+
47
+ it "is present" do
48
+ ["value", "value2"].if_blank? { "hi" }.should == ["value", "value2"]
49
+ end
50
+
51
+ it "is whitespace" do
52
+ [].if_blank? { "hi" }.should == "hi"
53
+ end
54
+
55
+ end
56
+
57
+ end
58
+
59
+ describe Hash do
60
+
61
+ context "replacement" do
62
+
63
+ it "is present" do
64
+ {:key => "value"}.if_blank?("hi").should == {:key => "value"}
65
+ end
66
+
67
+ it "is whitespace" do
68
+ {}.if_blank?("hi").should == "hi"
69
+ end
70
+
71
+ end
72
+
73
+ context "block" do
74
+
75
+ it "is present" do
76
+ {:key => "value"}.if_blank? { "hi" }.should == {:key => "value"}
77
+ end
78
+
79
+ it "is whitespace" do
80
+ {}.if_blank? { "hi" }.should == "hi"
81
+ end
82
+
83
+ end
84
+
85
+ end
86
+
87
+ describe NilClass do
88
+
89
+ context "replacement" do
90
+
91
+ it "is nil" do
92
+ nil.if_blank?("hi").should == "hi"
93
+ end
94
+
95
+ end
96
+
97
+ context "block" do
98
+
99
+ it "is nil" do
100
+ nil.if_blank? { "hi" }.should == "hi"
101
+ end
102
+
103
+ end
104
+
105
+ end
@@ -0,0 +1,12 @@
1
+ require "rubygems"
2
+ require "bundler/setup"
3
+
4
+ require "if_blank"
5
+
6
+ RSpec.configure do |config|
7
+ # only run "focused" test, see http://railscasts.com/episodes/285-spork
8
+ config.treat_symbols_as_metadata_keys_with_true_values = true
9
+ # run all tests by default, but leave setup for filters
10
+ config.filter_run :focus => true
11
+ config.run_all_when_everything_filtered = true
12
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: if_blank
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-20 00:00:00.000000000 Z
12
+ date: 2012-11-21 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: If a string is empty return the passed in parameter (or block if given)
15
15
  email:
@@ -26,6 +26,8 @@ files:
26
26
  - if_blank.gemspec
27
27
  - lib/if_blank.rb
28
28
  - lib/if_blank/version.rb
29
+ - spec/if_blank_spec.rb
30
+ - spec/spec_helper.rb
29
31
  homepage: https://github.com/ready4god2513/if_blank
30
32
  licenses: []
31
33
  post_install_message:
@@ -50,5 +52,7 @@ rubygems_version: 1.8.24
50
52
  signing_key:
51
53
  specification_version: 3
52
54
  summary: If a string is empty return the passed in parameter (or block if given)
53
- test_files: []
55
+ test_files:
56
+ - spec/if_blank_spec.rb
57
+ - spec/spec_helper.rb
54
58
  has_rdoc: