doc_raptor 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/Changelog.md +3 -0
  2. data/lib/core_ext/object/blank.rb +113 -0
  3. metadata +4 -3
data/Changelog.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # DocRaptor gem Change Log
2
2
 
3
+ ## doc_raptor 0.2.2
4
+ * bug: forgot a file in the gem
5
+
3
6
  ## doc_raptor 0.2.1
4
7
  * bug: there were certain envs where .blank? wasn't defined. So,
5
8
  pulling in the core_ext from activesupport
@@ -0,0 +1,113 @@
1
+ unless Object.new.respond_to? :blank?
2
+ # this is taken directly from activesupport 3.1.1
3
+ # we won't redo all this unless we need to
4
+ class Object
5
+ # An object is blank if it's false, empty, or a whitespace string.
6
+ # For example, "", " ", +nil+, [], and {} are all blank.
7
+ #
8
+ # This simplifies:
9
+ #
10
+ # if address.nil? || address.empty?
11
+ #
12
+ # ...to:
13
+ #
14
+ # if address.blank?
15
+ def blank?
16
+ respond_to?(:empty?) ? empty? : !self
17
+ end
18
+
19
+ # An object is present if it's not <tt>blank?</tt>.
20
+ def present?
21
+ !blank?
22
+ end
23
+
24
+ # Returns object if it's <tt>present?</tt> otherwise returns +nil+.
25
+ # <tt>object.presence</tt> is equivalent to <tt>object.present? ? object : nil</tt>.
26
+ #
27
+ # This is handy for any representation of objects where blank is the same
28
+ # as not present at all. For example, this simplifies a common check for
29
+ # HTTP POST/query parameters:
30
+ #
31
+ # state = params[:state] if params[:state].present?
32
+ # country = params[:country] if params[:country].present?
33
+ # region = state || country || 'US'
34
+ #
35
+ # ...becomes:
36
+ #
37
+ # region = params[:state].presence || params[:country].presence || 'US'
38
+ def presence
39
+ self if present?
40
+ end
41
+ end
42
+
43
+ class NilClass
44
+ # +nil+ is blank:
45
+ #
46
+ # nil.blank? # => true
47
+ #
48
+ def blank?
49
+ true
50
+ end
51
+ end
52
+
53
+ class FalseClass
54
+ # +false+ is blank:
55
+ #
56
+ # false.blank? # => true
57
+ #
58
+ def blank?
59
+ true
60
+ end
61
+ end
62
+
63
+ class TrueClass
64
+ # +true+ is not blank:
65
+ #
66
+ # true.blank? # => false
67
+ #
68
+ def blank?
69
+ false
70
+ end
71
+ end
72
+
73
+ class Array
74
+ # An array is blank if it's empty:
75
+ #
76
+ # [].blank? # => true
77
+ # [1,2,3].blank? # => false
78
+ #
79
+ alias_method :blank?, :empty?
80
+ end
81
+
82
+ class Hash
83
+ # A hash is blank if it's empty:
84
+ #
85
+ # {}.blank? # => true
86
+ # {:key => 'value'}.blank? # => false
87
+ #
88
+ alias_method :blank?, :empty?
89
+ end
90
+
91
+ class String
92
+ # A string is blank if it's empty or contains whitespaces only:
93
+ #
94
+ # "".blank? # => true
95
+ # " ".blank? # => true
96
+ # " something here ".blank? # => false
97
+ #
98
+ def blank?
99
+ self !~ /\S/
100
+ end
101
+ end
102
+
103
+ class Numeric #:nodoc:
104
+ # No number is blank:
105
+ #
106
+ # 1.blank? # => false
107
+ # 0.blank? # => false
108
+ #
109
+ def blank?
110
+ false
111
+ end
112
+ end
113
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: doc_raptor
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 1
10
- version: 0.2.1
9
+ - 2
10
+ version: 0.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael Kuehl
@@ -49,6 +49,7 @@ files:
49
49
  - README.md
50
50
  - MIT-LICENSE
51
51
  - lib/doc_raptor.rb
52
+ - lib/core_ext/object/blank.rb
52
53
  has_rdoc: true
53
54
  homepage: http://docraptor.com
54
55
  licenses: []