ruby-rails-extensions 1.1.1 → 2.0.0.pre.rc.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/ruby-rails-extensions/extensions/all_keys.rb +3 -5
- data/lib/ruby-rails-extensions/extensions/all_values.rb +3 -5
- data/lib/ruby-rails-extensions/extensions/any_key.rb +3 -5
- data/lib/ruby-rails-extensions/extensions/any_value.rb +3 -5
- data/lib/ruby-rails-extensions/extensions/assign_nil.rb +51 -56
- data/lib/ruby-rails-extensions/extensions/clean_string.rb +22 -30
- data/lib/ruby-rails-extensions/extensions/compact_blank_join.rb +6 -8
- data/lib/ruby-rails-extensions/extensions/compact_map.rb +11 -15
- data/lib/ruby-rails-extensions/extensions/current_day.rb +3 -5
- data/lib/ruby-rails-extensions/extensions/current_month.rb +6 -10
- data/lib/ruby-rails-extensions/extensions/current_week.rb +6 -10
- data/lib/ruby-rails-extensions/extensions/day_of_week.rb +6 -10
- data/lib/ruby-rails-extensions/extensions/display_military.rb +6 -10
- data/lib/ruby-rails-extensions/extensions/display_user.rb +9 -15
- data/lib/ruby-rails-extensions/extensions/find_bang.rb +7 -11
- data/lib/ruby-rails-extensions/extensions/find_dupes.rb +8 -10
- data/lib/ruby-rails-extensions/extensions/first_dupe.rb +4 -6
- data/lib/ruby-rails-extensions/extensions/google_format.rb +3 -5
- data/lib/ruby-rails-extensions/extensions/hash_only.rb +16 -20
- data/lib/ruby-rails-extensions/extensions/humanize_symbol.rb +2 -4
- data/lib/ruby-rails-extensions/extensions/in_utc.rb +6 -10
- data/lib/ruby-rails-extensions/extensions/input.rb +6 -10
- data/lib/ruby-rails-extensions/extensions/month_and_year.rb +3 -5
- data/lib/ruby-rails-extensions/extensions/month_year.rb +3 -5
- data/lib/ruby-rails-extensions/extensions/no_keys.rb +3 -5
- data/lib/ruby-rails-extensions/extensions/no_values.rb +3 -5
- data/lib/ruby-rails-extensions/extensions/only_some.rb +16 -18
- data/lib/ruby-rails-extensions/extensions/overlaps.rb +5 -9
- data/lib/ruby-rails-extensions/extensions/pipe.rb +1 -5
- data/lib/ruby-rails-extensions/extensions/presence_bang.rb +9 -11
- data/lib/ruby-rails-extensions/extensions/quarter_dates.rb +28 -34
- data/lib/ruby-rails-extensions/extensions/range_add.rb +36 -38
- data/lib/ruby-rails-extensions/extensions/range_multiply.rb +36 -38
- data/lib/ruby-rails-extensions/extensions/remove_reserved_keywords.rb +18 -20
- data/lib/ruby-rails-extensions/extensions/safe_parse.rb +15 -21
- data/lib/ruby-rails-extensions/extensions/select_present.rb +0 -4
- data/lib/ruby-rails-extensions/extensions/select_present_join.rb +1 -3
- data/lib/ruby-rails-extensions/extensions/set_to_sentence.rb +2 -4
- data/lib/ruby-rails-extensions/extensions/to_bool.rb +14 -24
- data/lib/ruby-rails-extensions/extensions/to_dec.rb +9 -15
- data/lib/ruby-rails-extensions/extensions/to_i.rb +6 -10
- data/lib/ruby-rails-extensions/extensions/to_local.rb +8 -12
- data/lib/ruby-rails-extensions/extensions/to_negative_i.rb +22 -28
- data/lib/ruby-rails-extensions/extensions/to_nonzero_i.rb +22 -28
- data/lib/ruby-rails-extensions/extensions/to_or_sentence.rb +5 -9
- data/lib/ruby-rails-extensions/extensions/to_positive_i.rb +22 -28
- data/lib/ruby-rails-extensions/extensions/to_sort_i.rb +1 -7
- data/lib/ruby-rails-extensions/extensions/to_x.rb +9 -15
- data/lib/ruby-rails-extensions/extensions/todays_date.rb +9 -12
- data/lib/ruby-rails-extensions/extensions/uniq_map.rb +13 -15
- data/lib/ruby-rails-extensions/extensions/usd_to_f.rb +9 -15
- data/lib/ruby-rails-extensions/extensions/usd_to_i.rb +6 -10
- data/lib/ruby-rails-extensions/extensions/weighted_sum.rb +16 -18
- data/lib/ruby-rails-extensions/extensions/yesno.rb +9 -15
- data/lib/ruby-rails-extensions/extensions/zero_range.rb +14 -16
- data/lib/ruby-rails-extensions/version.rb +1 -1
- metadata +4 -4
@@ -3,45 +3,35 @@
|
|
3
3
|
require 'forwardable'
|
4
4
|
|
5
5
|
TrueClass.class_eval do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
true
|
10
|
-
end
|
6
|
+
# :nodoc:
|
7
|
+
def to_bool
|
8
|
+
true
|
11
9
|
end
|
12
10
|
end
|
13
11
|
|
14
12
|
FalseClass.class_eval do
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
false
|
19
|
-
end
|
13
|
+
# :nodoc:
|
14
|
+
def to_bool
|
15
|
+
false
|
20
16
|
end
|
21
17
|
end
|
22
18
|
|
23
19
|
NilClass.class_eval do
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
false
|
28
|
-
end
|
20
|
+
# :nodoc:
|
21
|
+
def to_bool
|
22
|
+
false
|
29
23
|
end
|
30
24
|
end
|
31
25
|
|
32
26
|
String.class_eval do
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
match?(/^(true|1|t|y|yes)$/i)
|
37
|
-
end
|
27
|
+
# :nodoc:
|
28
|
+
def to_bool
|
29
|
+
match?(/^(true|1|t|y|yes)$/i)
|
38
30
|
end
|
39
31
|
end
|
40
32
|
|
41
33
|
Numeric.class_eval do
|
42
|
-
|
43
|
-
extend Forwardable
|
34
|
+
extend Forwardable
|
44
35
|
|
45
|
-
|
46
|
-
end
|
36
|
+
def_delegators :to_s, :to_bool
|
47
37
|
end
|
@@ -1,28 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
NilClass.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
nil
|
8
|
-
end
|
4
|
+
# :nodoc:
|
5
|
+
def to_dec(*_args)
|
6
|
+
nil
|
9
7
|
end
|
10
8
|
end
|
11
9
|
|
12
10
|
Numeric.class_eval do
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
(to_f / 100.0).round(p)
|
17
|
-
end
|
11
|
+
# :nodoc:
|
12
|
+
def to_dec(p = 4)
|
13
|
+
(to_f / 100.0).round(p)
|
18
14
|
end
|
19
15
|
end
|
20
16
|
|
21
17
|
String.class_eval do
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
(to_f / 100.0).round(p)
|
26
|
-
end
|
18
|
+
# :nodoc:
|
19
|
+
def to_dec(p = 4)
|
20
|
+
(to_f / 100.0).round(p)
|
27
21
|
end
|
28
22
|
end
|
@@ -1,19 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
TrueClass.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
1
|
8
|
-
end
|
4
|
+
# :nodoc:
|
5
|
+
def to_i
|
6
|
+
1
|
9
7
|
end
|
10
8
|
end
|
11
9
|
|
12
10
|
FalseClass.class_eval do
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
0
|
17
|
-
end
|
11
|
+
# :nodoc:
|
12
|
+
def to_i
|
13
|
+
0
|
18
14
|
end
|
19
15
|
end
|
@@ -5,22 +5,18 @@ if defined?(ActiveSupport::TimeWithZone)
|
|
5
5
|
require 'forwardable'
|
6
6
|
|
7
7
|
Time.class_eval do
|
8
|
-
|
9
|
-
extend Forwardable
|
8
|
+
extend Forwardable
|
10
9
|
|
11
|
-
|
12
|
-
end
|
10
|
+
def_delegators :to_datetime, :to_local
|
13
11
|
end
|
14
12
|
|
15
13
|
DateTime.class_eval do
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
in_time_zone(RubyRailsExtensions.configuration.default_time_zone || 'Eastern Time (US & Canada)').to_datetime
|
23
|
-
end
|
14
|
+
# Converts to an Eastern time zone
|
15
|
+
#
|
16
|
+
# @return [DateTime]
|
17
|
+
#
|
18
|
+
def to_local
|
19
|
+
in_time_zone(RubyRailsExtensions.configuration.default_time_zone || 'Eastern Time (US & Canada)').to_datetime
|
24
20
|
end
|
25
21
|
end
|
26
22
|
end
|
@@ -1,45 +1,39 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
String.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
val = to_i
|
4
|
+
# Calls `to_i` and returns the value if it is negative
|
5
|
+
#
|
6
|
+
# @return [Integer, Nil]
|
7
|
+
#
|
8
|
+
def to_negative_i
|
9
|
+
val = to_i
|
11
10
|
|
12
|
-
|
11
|
+
return unless val.negative?
|
13
12
|
|
14
|
-
|
15
|
-
end
|
13
|
+
val
|
16
14
|
end
|
17
15
|
end
|
18
16
|
|
19
17
|
Numeric.class_eval do
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
val = to_i
|
18
|
+
# Calls `to_i` and returns the value if it is negative
|
19
|
+
#
|
20
|
+
# @return [Integer, Nil]
|
21
|
+
#
|
22
|
+
def to_negative_i
|
23
|
+
val = to_i
|
27
24
|
|
28
|
-
|
25
|
+
return unless val.negative?
|
29
26
|
|
30
|
-
|
31
|
-
end
|
27
|
+
val
|
32
28
|
end
|
33
29
|
end
|
34
30
|
|
35
31
|
NilClass.class_eval do
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
nil
|
43
|
-
end
|
32
|
+
# Calls `to_i` and returns the value if it is negative
|
33
|
+
#
|
34
|
+
# @return [Nil]
|
35
|
+
#
|
36
|
+
def to_negative_i
|
37
|
+
nil
|
44
38
|
end
|
45
39
|
end
|
@@ -1,45 +1,39 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
String.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
val = to_i
|
4
|
+
# Calls `to_i` and returns the value if it is nonzero
|
5
|
+
#
|
6
|
+
# @return [Integer, Nil]
|
7
|
+
#
|
8
|
+
def to_nonzero_i
|
9
|
+
val = to_i
|
11
10
|
|
12
|
-
|
11
|
+
return if val.zero?
|
13
12
|
|
14
|
-
|
15
|
-
end
|
13
|
+
val
|
16
14
|
end
|
17
15
|
end
|
18
16
|
|
19
17
|
Numeric.class_eval do
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
val = to_i
|
18
|
+
# Calls `to_i` and returns the value if it is nonzero
|
19
|
+
#
|
20
|
+
# @return [Integer, Nil]
|
21
|
+
#
|
22
|
+
def to_nonzero_i
|
23
|
+
val = to_i
|
27
24
|
|
28
|
-
|
25
|
+
return if val.zero?
|
29
26
|
|
30
|
-
|
31
|
-
end
|
27
|
+
val
|
32
28
|
end
|
33
29
|
end
|
34
30
|
|
35
31
|
NilClass.class_eval do
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
nil
|
43
|
-
end
|
32
|
+
# Calls `to_i` and returns the value if it is nonzero
|
33
|
+
#
|
34
|
+
# @return [Integer, Nil]
|
35
|
+
#
|
36
|
+
def to_nonzero_i
|
37
|
+
nil
|
44
38
|
end
|
45
39
|
end
|
@@ -4,18 +4,14 @@ require 'forwardable'
|
|
4
4
|
require 'set'
|
5
5
|
|
6
6
|
Array.class_eval do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
to_sentence(two_words_connector: ' or ', last_word_connector: ', or ')
|
11
|
-
end
|
7
|
+
# @return [String]
|
8
|
+
def to_or_sentence
|
9
|
+
to_sentence(two_words_connector: ' or ', last_word_connector: ', or ')
|
12
10
|
end
|
13
11
|
end
|
14
12
|
|
15
13
|
Set.class_eval do
|
16
|
-
|
17
|
-
extend Forwardable
|
14
|
+
extend Forwardable
|
18
15
|
|
19
|
-
|
20
|
-
end
|
16
|
+
def_delegators :to_a, :to_or_sentence
|
21
17
|
end
|
@@ -1,45 +1,39 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
String.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
val = to_i
|
4
|
+
# Calls `to_i` and returns the value if it is positive
|
5
|
+
#
|
6
|
+
# @return [Integer, Nil]
|
7
|
+
#
|
8
|
+
def to_positive_i
|
9
|
+
val = to_i
|
11
10
|
|
12
|
-
|
11
|
+
return unless val.positive?
|
13
12
|
|
14
|
-
|
15
|
-
end
|
13
|
+
val
|
16
14
|
end
|
17
15
|
end
|
18
16
|
|
19
17
|
Numeric.class_eval do
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
val = to_i
|
18
|
+
# Calls `to_i` and returns the value if it is positive
|
19
|
+
#
|
20
|
+
# @return [Integer, Nil]
|
21
|
+
#
|
22
|
+
def to_positive_i
|
23
|
+
val = to_i
|
27
24
|
|
28
|
-
|
25
|
+
return unless val.positive?
|
29
26
|
|
30
|
-
|
31
|
-
end
|
27
|
+
val
|
32
28
|
end
|
33
29
|
end
|
34
30
|
|
35
31
|
NilClass.class_eval do
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
nil
|
43
|
-
end
|
32
|
+
# Calls `to_i` and returns the value if it is positive
|
33
|
+
#
|
34
|
+
# @return [Integer, Nil]
|
35
|
+
#
|
36
|
+
def to_positive_i
|
37
|
+
nil
|
44
38
|
end
|
45
39
|
end
|
@@ -1,22 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
TrueClass.class_eval do
|
4
|
-
unless method_defined?(:to_sort_i)
|
5
4
|
alias_method :to_sort_i, :to_i
|
6
|
-
end
|
7
5
|
end
|
8
6
|
|
9
7
|
FalseClass.class_eval do
|
10
|
-
unless method_defined?(:to_sort_i)
|
11
8
|
alias_method :to_sort_i, :to_i
|
12
|
-
end
|
13
9
|
end
|
14
10
|
|
15
11
|
NilClass.class_eval do
|
16
|
-
unless method_defined?(:to_sort_i)
|
17
12
|
# :nodoc:
|
18
13
|
def to_sort_i
|
19
|
-
|
20
|
-
end
|
14
|
+
-1
|
21
15
|
end
|
22
16
|
end
|
@@ -1,28 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
TrueClass.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
'X'
|
8
|
-
end
|
4
|
+
# :nodoc:
|
5
|
+
def to_x(*_args)
|
6
|
+
'X'
|
9
7
|
end
|
10
8
|
end
|
11
9
|
|
12
10
|
FalseClass.class_eval do
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
unless_true
|
17
|
-
end
|
11
|
+
# :nodoc:
|
12
|
+
def to_x(unless_true = '')
|
13
|
+
unless_true
|
18
14
|
end
|
19
15
|
end
|
20
16
|
|
21
17
|
NilClass.class_eval do
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
unless_true
|
26
|
-
end
|
18
|
+
# :nodoc:
|
19
|
+
def to_x(unless_true = nil)
|
20
|
+
unless_true
|
27
21
|
end
|
28
22
|
end
|
@@ -1,17 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
Time.zone.now.to_local.to_date
|
13
|
-
end
|
14
|
-
end
|
3
|
+
# Requires `ActiveSupport::TimeWithZone` and `Time#to_local`
|
4
|
+
Date.class_eval do
|
5
|
+
class << self
|
6
|
+
# Returns today according to Eastern time
|
7
|
+
#
|
8
|
+
# @return [Date]
|
9
|
+
#
|
10
|
+
def todays_date
|
11
|
+
Time.zone.now.to_local.to_date
|
15
12
|
end
|
16
13
|
end
|
17
14
|
end
|
@@ -1,25 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
Array.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
return to_enum(:uniq_map) unless block_given?
|
4
|
+
# Same as `my_array.map(&block).uniq`
|
5
|
+
#
|
6
|
+
# @return [Array, Enumerable]
|
7
|
+
#
|
8
|
+
def uniq_map
|
9
|
+
return to_enum(:uniq_map) unless block_given?
|
11
10
|
|
12
|
-
|
11
|
+
results = []
|
13
12
|
|
14
|
-
|
15
|
-
|
13
|
+
each do |*args|
|
14
|
+
result = yield(*args)
|
16
15
|
|
17
|
-
|
16
|
+
next if results.include?(result)
|
18
17
|
|
19
|
-
|
20
|
-
end
|
21
|
-
|
22
|
-
return results
|
18
|
+
results.push(result)
|
23
19
|
end
|
20
|
+
|
21
|
+
return results
|
24
22
|
end
|
25
23
|
end
|
@@ -1,28 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
NilClass.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
nil
|
8
|
-
end
|
4
|
+
# :nodoc:
|
5
|
+
def usd_to_f
|
6
|
+
nil
|
9
7
|
end
|
10
8
|
end
|
11
9
|
|
12
10
|
Numeric.class_eval do
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
to_f
|
17
|
-
end
|
11
|
+
# :nodoc:
|
12
|
+
def usd_to_f
|
13
|
+
to_f
|
18
14
|
end
|
19
15
|
end
|
20
16
|
|
21
17
|
String.class_eval do
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
gsub(/[$,]/, '').to_f
|
26
|
-
end
|
18
|
+
# :nodoc:
|
19
|
+
def usd_to_f
|
20
|
+
gsub(/[$,]/, '').to_f
|
27
21
|
end
|
28
22
|
end
|
@@ -1,19 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
NilClass.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
nil
|
8
|
-
end
|
4
|
+
# :nodoc:
|
5
|
+
def usd_to_i
|
6
|
+
nil
|
9
7
|
end
|
10
8
|
end
|
11
9
|
|
12
10
|
String.class_eval do
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
gsub(/[$,]/, '').to_i
|
17
|
-
end
|
11
|
+
# :nodoc:
|
12
|
+
def usd_to_i
|
13
|
+
gsub(/[$,]/, '').to_i
|
18
14
|
end
|
19
15
|
end
|
@@ -1,25 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
Array.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
)
|
19
|
-
end
|
20
|
-
|
21
|
-
val * (10**(size - index))
|
4
|
+
# Sums the array with each element weighing 10 times as the next.
|
5
|
+
# Expects `self` to be [Array<Numeric>]
|
6
|
+
#
|
7
|
+
# @raise [RubyRailsExtensions::Errors::NonNumericError] if any element is not Numeric
|
8
|
+
#
|
9
|
+
# @return [Integer]
|
10
|
+
#
|
11
|
+
def weighted_sum
|
12
|
+
each_with_index.sum do |val, index|
|
13
|
+
unless Numeric === val
|
14
|
+
raise(
|
15
|
+
RubyRailsExtensions::Errors::NonNumericError,
|
16
|
+
"Wrong element type (given #{val.class}, expected Numeric)"
|
17
|
+
)
|
22
18
|
end
|
19
|
+
|
20
|
+
val * (10**(size - index))
|
23
21
|
end
|
24
22
|
end
|
25
23
|
end
|
@@ -1,28 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
TrueClass.class_eval do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
'Yes'
|
8
|
-
end
|
4
|
+
# :nodoc:
|
5
|
+
def yesno
|
6
|
+
'Yes'
|
9
7
|
end
|
10
8
|
end
|
11
9
|
|
12
10
|
FalseClass.class_eval do
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
'No'
|
17
|
-
end
|
11
|
+
# :nodoc:
|
12
|
+
def yesno
|
13
|
+
'No'
|
18
14
|
end
|
19
15
|
end
|
20
16
|
|
21
17
|
NilClass.class_eval do
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
'N/A'
|
26
|
-
end
|
18
|
+
# :nodoc:
|
19
|
+
def yesno
|
20
|
+
'N/A'
|
27
21
|
end
|
28
22
|
end
|