corelib 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/corelib/array/alias.rb +9 -9
- data/lib/corelib/array/core.rb +38 -38
- data/lib/corelib/array/helpers.rb +112 -112
- data/lib/corelib/array/math.rb +26 -26
- data/lib/corelib/boolean/false.rb +16 -16
- data/lib/corelib/boolean/true.rb +8 -8
- data/lib/corelib/hash/core.rb +16 -16
- data/lib/corelib/nil/core.rb +10 -10
- data/lib/corelib/numeric/core.rb +56 -56
- data/lib/corelib/object/core.rb +6 -6
- data/lib/corelib/string/core.rb +113 -113
- data/lib/corelib/version.rb +1 -1
- data/spec/array/core_spec.rb +89 -89
- data/spec/array/helpers_spec.rb +50 -50
- data/spec/boolean/false_spec.rb +29 -29
- data/spec/boolean/true_spec.rb +29 -29
- data/spec/hash/core_spec.rb +19 -19
- data/spec/nil/core_spec.rb +17 -17
- data/spec/object/core_spec.rb +9 -9
- data/spec/spec_helper.rb +6 -6
- data/spec/string/core_spec.rb +124 -124
- metadata +11 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ce4b836fee0895f69d0a5b668c9a7d4d013786fa1c399aa75c0450bf7fdf4430
|
4
|
+
data.tar.gz: 90d34235062500ac7364b0157cb32f711142f47653deea3dc11161afef39419c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72eeb89b7302820e1ff7ad6c9c8610c5a0060d86161016e76cdf01af207a52fa37d77781a717433f55b076d3c5a021c97f05834c1cbc4a55a8bf55ecf2a88d76
|
7
|
+
data.tar.gz: e16032fd85154aa7484b72060b8dfeb50b59b9cb710bc85fb5fc05937ab3acc5ec510180385a2050224c7e6e32ed9e8524507c4e497b9dced6a97949723a6390
|
data/lib/corelib/array/alias.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
class Array
|
2
|
-
|
3
|
-
alias_method :append, :<<
|
4
|
-
alias_method :prepend, :unshift
|
5
|
-
alias_method :remove, :delete
|
6
|
-
alias_method :remove_at, :delete_at
|
7
|
-
alias_method :remove_last, :pop
|
8
|
-
alias_method :add, :push
|
9
|
-
|
1
|
+
class Array
|
2
|
+
|
3
|
+
alias_method :append, :<<
|
4
|
+
alias_method :prepend, :unshift
|
5
|
+
alias_method :remove, :delete
|
6
|
+
alias_method :remove_at, :delete_at
|
7
|
+
alias_method :remove_last, :pop
|
8
|
+
alias_method :add, :push
|
9
|
+
|
10
10
|
end
|
data/lib/corelib/array/core.rb
CHANGED
@@ -1,39 +1,39 @@
|
|
1
|
-
class Array
|
2
|
-
|
3
|
-
def extract_options!
|
4
|
-
last.is_a?(::Hash) ? pop : {}
|
5
|
-
end
|
6
|
-
|
7
|
-
def to_yes_no(options={})
|
8
|
-
self.collect {|e| e.to_yes_no(options)}
|
9
|
-
end
|
10
|
-
|
11
|
-
def add_blank_option(options={})
|
12
|
-
doit = options.fetch(:doit, true)
|
13
|
-
value = options.fetch(:value, 0)
|
14
|
-
label = options.fetch(:label, "")
|
15
|
-
self.insert(0, [label, value]) if doit
|
16
|
-
self
|
17
|
-
end
|
18
|
-
|
19
|
-
#This method iterates over the Array as normal #each method. For each iteration
|
20
|
-
#set two variables in the block, |item, flag|. item will be set tot he current item
|
21
|
-
#in the iteration; flag will be set to "false" on all iterations except the last iteration
|
22
|
-
def each_with_end_flag
|
23
|
-
my_size = self.size
|
24
|
-
self.each_with_index do |item, index|
|
25
|
-
index + 1 == my_size ? yield(item, true) : yield(item, false)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
def not_empty?
|
30
|
-
!self.empty?
|
31
|
-
end
|
32
|
-
|
33
|
-
def add_all(arr, options={})
|
34
|
-
flatten = options.fetch(:flatten, true)
|
35
|
-
a = flatten ? arr.flatten : arr
|
36
|
-
self.concat(a)
|
37
|
-
end
|
38
|
-
|
1
|
+
class Array
|
2
|
+
|
3
|
+
def extract_options!
|
4
|
+
last.is_a?(::Hash) ? pop : {}
|
5
|
+
end
|
6
|
+
|
7
|
+
def to_yes_no(options={})
|
8
|
+
self.collect {|e| e.to_yes_no(options)}
|
9
|
+
end
|
10
|
+
|
11
|
+
def add_blank_option(options={})
|
12
|
+
doit = options.fetch(:doit, true)
|
13
|
+
value = options.fetch(:value, 0)
|
14
|
+
label = options.fetch(:label, "")
|
15
|
+
self.insert(0, [label, value]) if doit
|
16
|
+
self
|
17
|
+
end
|
18
|
+
|
19
|
+
#This method iterates over the Array as normal #each method. For each iteration
|
20
|
+
#set two variables in the block, |item, flag|. item will be set tot he current item
|
21
|
+
#in the iteration; flag will be set to "false" on all iterations except the last iteration
|
22
|
+
def each_with_end_flag
|
23
|
+
my_size = self.size
|
24
|
+
self.each_with_index do |item, index|
|
25
|
+
index + 1 == my_size ? yield(item, true) : yield(item, false)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def not_empty?
|
30
|
+
!self.empty?
|
31
|
+
end
|
32
|
+
|
33
|
+
def add_all(arr, options={})
|
34
|
+
flatten = options.fetch(:flatten, true)
|
35
|
+
a = flatten ? arr.flatten : arr
|
36
|
+
self.concat(a)
|
37
|
+
end
|
38
|
+
|
39
39
|
end
|
@@ -1,112 +1,112 @@
|
|
1
|
-
class Array
|
2
|
-
|
3
|
-
def options_label_for(value)
|
4
|
-
sub = self.find {|each| each[1] == value}
|
5
|
-
sub.nil? ? nil : sub[0]
|
6
|
-
end
|
7
|
-
|
8
|
-
def self.time_clock_type_options(options={})
|
9
|
-
exemplify = options.fetch(:exemplify, true)
|
10
|
-
id = options.fetch(:start_id, 1)
|
11
|
-
return [["12-Hour Clock", id], ["24-Hour Clock", id+1]] if !exemplify
|
12
|
-
|
13
|
-
t = Time.now
|
14
|
-
s = options.fetch(:separater, " - ")
|
15
|
-
h = options.fetch(:day, t.strftime("%l"))
|
16
|
-
m = options.fetch(:month, t.strftime("%m"))
|
17
|
-
ap =options.fetch(:am_pm, t.strftime("%P"))
|
18
|
-
hm = options.fetch(:day24, t.strftime("%H"))
|
19
|
-
[["12-Hour Clock#{s}(#{h}:#{m}#{ap})", id], ["24-Hour Clock#{s}(#{hm}:#{m})", id+1]]
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.date_format_options(options={})
|
23
|
-
exemplify = options.fetch(:exemplify, true)
|
24
|
-
exemplify ? date_format_options_exemplified_raw(options) : date_format_options_raw(options)
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.date_format_options_raw(options={})
|
28
|
-
id = options.fetch(:start_id, 1)
|
29
|
-
[["MM/DD/YYYY", id], ["MM-DD-YYYY", id+1], ["DD/MM/YYYY", id+2], ["DD-MM-YYYY", id+3], ["YYYY/MM/DD", id+4], ["YYYY-MM-DD", id+5], ["DD.MM.YYYY", id+6], ["YYYY.MM.DD", id+7]]
|
30
|
-
end
|
31
|
-
|
32
|
-
def self.date_format_options_exemplified_raw(options={})
|
33
|
-
id = options.fetch(:start_id, 1)
|
34
|
-
t = Time.now
|
35
|
-
s = options.fetch(:separater, " - ")
|
36
|
-
d = options.fetch(:day, t.strftime("%d"))
|
37
|
-
m = options.fetch(:month, t.strftime("%m"))
|
38
|
-
y = options.fetch(:year, t.year)
|
39
|
-
[["MM/DD/YYYY#{s}(#{m}/#{d}/#{y})", id], ["MM-DD-YYYY#{s}(#{m}-#{d}-#{y})", id+1], ["DD/MM/YYYY#{s}(#{d}/#{m}/#{y})", id+2], ["DD-MM-YYYY#{s}(#{d}-#{m}-#{y})", id+3],
|
40
|
-
["YYYY/MM/DD#{s}(#{y}/#{m}/#{d})", id+4], ["YYYY-MM-DD#{s}(#{y}-#{m}-#{d})", id+5], ["DD.MM.YYYY#{s}(#{d}.#{m}.#{y})", id+6], ["YYYY.MM.DD#{s}(#{y}.#{m}.#{d})", id+7]]
|
41
|
-
end
|
42
|
-
|
43
|
-
def self.month_options(options={})
|
44
|
-
abbrev = options.fetch(:abbrev, false)
|
45
|
-
list = abbrev ? month_options_abbrev_raw : month_options_raw
|
46
|
-
list.format_options_list(options)
|
47
|
-
end
|
48
|
-
|
49
|
-
def self.month_options_raw(start=1)
|
50
|
-
[["January", start], ["February", start + 1], ["March", start + 2], ["April", start + 3], ["May", start + 4], ["June", start + 5],
|
51
|
-
["July", start + 6], ["August", start + 7], ["September", start + 8], ["October", start + 9], ["November", start + 10], ["December", start + 11]]
|
52
|
-
end
|
53
|
-
|
54
|
-
def self.month_options_abbrev_raw(start=1)
|
55
|
-
[["Jan", start], ["Feb", start + 1], ["Mar", start + 2], ["Apr", start + 3], ["May", start + 4], ["Jun", start + 5],
|
56
|
-
["Jul", start + 6], ["Aug", start + 7], ["Sep", start + 8], ["Oct", start + 9], ["Nov", start + 10], ["Dec", start + 11]]
|
57
|
-
end
|
58
|
-
|
59
|
-
def self.us_state_options(options={})
|
60
|
-
abbrev = options.fetch(:abbrev, false)
|
61
|
-
list = abbrev ? us_state_options_abbrev_raw : us_state_options_raw
|
62
|
-
list.format_options_list(options)
|
63
|
-
end
|
64
|
-
|
65
|
-
def self.us_state_options_raw
|
66
|
-
[['Alabama', 'AL'], ['Alaska', 'AK'], ['Arizona', 'AZ'], ['Arkansas', 'AR'], ['California', 'CA'], ['Colorado', 'CO'],
|
67
|
-
['Connecticut', 'CT'], ['D.C.', 'DC'], ['Delaware', 'DE'], ['Florida', 'FL'], ['Georgia', 'GA'], ['Hawaii', 'HI'], ['Idaho', 'ID'],
|
68
|
-
['Illinois', 'IL'], ['Indiana', 'IN'], ['Iowa', 'IA'], ['Kansas', 'KS'], ['Kentucky', 'KY'], ['Louisiana', 'LA'],
|
69
|
-
['Maine', 'ME'], ['Maryland', 'MD'], ['Massachusetts', 'MA'], ['Michigan', 'MI'], ['Minnesota', 'MN'], ['Mississippi', 'MS'],
|
70
|
-
['Missouri', 'MO'], ['Montana', 'MT'], ['Nebraska', 'NE'], ['Nevada', 'NV'], ['New Hampshire', 'NH'], ['New Jersey', 'NJ'],
|
71
|
-
['New Mexico', 'NM'], ['New York', 'NY'], ['North Carolina', 'NC'], ['North Dakota', 'ND'], ['Ohio', 'OH'], ['Oklahoma', 'OK'],
|
72
|
-
['Oregon', 'OR'], ['Pennsylvania', 'PA'], ['Rhode Island', 'RI'], ['South Carolina', 'SC'], ['South Dakota', 'SD'],
|
73
|
-
['Tennessee', 'TN'], ['Texas', 'TX'], ['Utah', 'UT'], ['Vermont', 'VT'], ['Virginia', 'VA'], ['Washington', 'WA'],
|
74
|
-
['West Virginia', 'WV'], ['Wisconsin', 'WI'], ['Wyoming', 'WY']]
|
75
|
-
end
|
76
|
-
|
77
|
-
def self.us_state_options_abbrev_raw
|
78
|
-
[['AL', 'AL'], ['AK', 'AK'], ['AZ', 'AZ'], ['AR', 'AR'], ['CA', 'CA'], ['CO', 'CO'],
|
79
|
-
['CT', 'CT'], ['DC', 'DC'], ['DE', 'DE'], ['FL', 'FL'], ['GA', 'GA'], ['HI', 'HI'], ['ID', 'ID'],
|
80
|
-
['IL', 'IL'], ['IN', 'IN'], ['IA', 'IA'], ['KS', 'KS'], ['KY', 'KY'], ['LA', 'LA'],
|
81
|
-
['ME', 'ME'], ['MD', 'MD'], ['MA', 'MA'], ['MI', 'MI'], ['MN', 'MN'], ['MS', 'MS'],
|
82
|
-
['MO', 'MO'], ['MT', 'MT'], ['NE', 'NE'], ['NV', 'NV'], ['NH', 'NH'], ['NJ', 'NJ'],
|
83
|
-
['NM', 'NM'], ['NY', 'NY'], ['NC', 'NC'], ['ND', 'ND'], ['OH', 'OH'], ['OK', 'OK'],
|
84
|
-
['OR', 'OR'], ['PA', 'PA'], ['RI', 'RI'], ['SC', 'SC'], ['SD', 'SD'],
|
85
|
-
['TN', 'TN'], ['TX', 'TX'], ['UT', 'UT'], ['VT', 'VT'], ['VA', 'VA'], ['WA', 'WA'],
|
86
|
-
['WV', 'WV'], ['WI', 'WI'], ['WY', 'WY'],]
|
87
|
-
end
|
88
|
-
|
89
|
-
def format_options_list(options={})
|
90
|
-
insert_options_label_blank(options)
|
91
|
-
change_options_label_case(options) if options[:format] #Change case if :format is set, otherwise use default case
|
92
|
-
self
|
93
|
-
end
|
94
|
-
|
95
|
-
private
|
96
|
-
|
97
|
-
def insert_options_label_blank(options)
|
98
|
-
add_blank = options.fetch(:blank, "true")
|
99
|
-
blank_value = options.fetch(:blank_value, 0)
|
100
|
-
blank_label = options.fetch(:blank_label, "")
|
101
|
-
blank_position = options.fetch(:blank_position, 0)
|
102
|
-
self.insert(blank_position, [blank_label, blank_value]) if add_blank
|
103
|
-
end
|
104
|
-
|
105
|
-
def change_options_label_case(options)
|
106
|
-
label_format = options.fetch(:format)
|
107
|
-
self.each {|opt| opt[0].upcase!} if label_format == "Up"
|
108
|
-
self.each {|opt| opt[0].capitalize!} if label_format == "Cap"
|
109
|
-
self.each {|opt| opt[0].downcase!} if label_format == "Down"
|
110
|
-
end
|
111
|
-
|
112
|
-
end
|
1
|
+
class Array
|
2
|
+
|
3
|
+
def options_label_for(value)
|
4
|
+
sub = self.find {|each| each[1] == value}
|
5
|
+
sub.nil? ? nil : sub[0]
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.time_clock_type_options(options={})
|
9
|
+
exemplify = options.fetch(:exemplify, true)
|
10
|
+
id = options.fetch(:start_id, 1)
|
11
|
+
return [["12-Hour Clock", id], ["24-Hour Clock", id+1]] if !exemplify
|
12
|
+
|
13
|
+
t = Time.now
|
14
|
+
s = options.fetch(:separater, " - ")
|
15
|
+
h = options.fetch(:day, t.strftime("%l"))
|
16
|
+
m = options.fetch(:month, t.strftime("%m"))
|
17
|
+
ap =options.fetch(:am_pm, t.strftime("%P"))
|
18
|
+
hm = options.fetch(:day24, t.strftime("%H"))
|
19
|
+
[["12-Hour Clock#{s}(#{h}:#{m}#{ap})", id], ["24-Hour Clock#{s}(#{hm}:#{m})", id+1]]
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.date_format_options(options={})
|
23
|
+
exemplify = options.fetch(:exemplify, true)
|
24
|
+
exemplify ? date_format_options_exemplified_raw(options) : date_format_options_raw(options)
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.date_format_options_raw(options={})
|
28
|
+
id = options.fetch(:start_id, 1)
|
29
|
+
[["MM/DD/YYYY", id], ["MM-DD-YYYY", id+1], ["DD/MM/YYYY", id+2], ["DD-MM-YYYY", id+3], ["YYYY/MM/DD", id+4], ["YYYY-MM-DD", id+5], ["DD.MM.YYYY", id+6], ["YYYY.MM.DD", id+7]]
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.date_format_options_exemplified_raw(options={})
|
33
|
+
id = options.fetch(:start_id, 1)
|
34
|
+
t = Time.now
|
35
|
+
s = options.fetch(:separater, " - ")
|
36
|
+
d = options.fetch(:day, t.strftime("%d"))
|
37
|
+
m = options.fetch(:month, t.strftime("%m"))
|
38
|
+
y = options.fetch(:year, t.year)
|
39
|
+
[["MM/DD/YYYY#{s}(#{m}/#{d}/#{y})", id], ["MM-DD-YYYY#{s}(#{m}-#{d}-#{y})", id+1], ["DD/MM/YYYY#{s}(#{d}/#{m}/#{y})", id+2], ["DD-MM-YYYY#{s}(#{d}-#{m}-#{y})", id+3],
|
40
|
+
["YYYY/MM/DD#{s}(#{y}/#{m}/#{d})", id+4], ["YYYY-MM-DD#{s}(#{y}-#{m}-#{d})", id+5], ["DD.MM.YYYY#{s}(#{d}.#{m}.#{y})", id+6], ["YYYY.MM.DD#{s}(#{y}.#{m}.#{d})", id+7]]
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.month_options(options={})
|
44
|
+
abbrev = options.fetch(:abbrev, false)
|
45
|
+
list = abbrev ? month_options_abbrev_raw : month_options_raw
|
46
|
+
list.format_options_list(options)
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.month_options_raw(start=1)
|
50
|
+
[["January", start], ["February", start + 1], ["March", start + 2], ["April", start + 3], ["May", start + 4], ["June", start + 5],
|
51
|
+
["July", start + 6], ["August", start + 7], ["September", start + 8], ["October", start + 9], ["November", start + 10], ["December", start + 11]]
|
52
|
+
end
|
53
|
+
|
54
|
+
def self.month_options_abbrev_raw(start=1)
|
55
|
+
[["Jan", start], ["Feb", start + 1], ["Mar", start + 2], ["Apr", start + 3], ["May", start + 4], ["Jun", start + 5],
|
56
|
+
["Jul", start + 6], ["Aug", start + 7], ["Sep", start + 8], ["Oct", start + 9], ["Nov", start + 10], ["Dec", start + 11]]
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.us_state_options(options={})
|
60
|
+
abbrev = options.fetch(:abbrev, false)
|
61
|
+
list = abbrev ? us_state_options_abbrev_raw : us_state_options_raw
|
62
|
+
list.format_options_list(options)
|
63
|
+
end
|
64
|
+
|
65
|
+
def self.us_state_options_raw
|
66
|
+
[['Alabama', 'AL'], ['Alaska', 'AK'], ['Arizona', 'AZ'], ['Arkansas', 'AR'], ['California', 'CA'], ['Colorado', 'CO'],
|
67
|
+
['Connecticut', 'CT'], ['D.C.', 'DC'], ['Delaware', 'DE'], ['Florida', 'FL'], ['Georgia', 'GA'], ['Hawaii', 'HI'], ['Idaho', 'ID'],
|
68
|
+
['Illinois', 'IL'], ['Indiana', 'IN'], ['Iowa', 'IA'], ['Kansas', 'KS'], ['Kentucky', 'KY'], ['Louisiana', 'LA'],
|
69
|
+
['Maine', 'ME'], ['Maryland', 'MD'], ['Massachusetts', 'MA'], ['Michigan', 'MI'], ['Minnesota', 'MN'], ['Mississippi', 'MS'],
|
70
|
+
['Missouri', 'MO'], ['Montana', 'MT'], ['Nebraska', 'NE'], ['Nevada', 'NV'], ['New Hampshire', 'NH'], ['New Jersey', 'NJ'],
|
71
|
+
['New Mexico', 'NM'], ['New York', 'NY'], ['North Carolina', 'NC'], ['North Dakota', 'ND'], ['Ohio', 'OH'], ['Oklahoma', 'OK'],
|
72
|
+
['Oregon', 'OR'], ['Pennsylvania', 'PA'], ['Rhode Island', 'RI'], ['South Carolina', 'SC'], ['South Dakota', 'SD'],
|
73
|
+
['Tennessee', 'TN'], ['Texas', 'TX'], ['Utah', 'UT'], ['Vermont', 'VT'], ['Virginia', 'VA'], ['Washington', 'WA'],
|
74
|
+
['West Virginia', 'WV'], ['Wisconsin', 'WI'], ['Wyoming', 'WY']]
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.us_state_options_abbrev_raw
|
78
|
+
[['AL', 'AL'], ['AK', 'AK'], ['AZ', 'AZ'], ['AR', 'AR'], ['CA', 'CA'], ['CO', 'CO'],
|
79
|
+
['CT', 'CT'], ['DC', 'DC'], ['DE', 'DE'], ['FL', 'FL'], ['GA', 'GA'], ['HI', 'HI'], ['ID', 'ID'],
|
80
|
+
['IL', 'IL'], ['IN', 'IN'], ['IA', 'IA'], ['KS', 'KS'], ['KY', 'KY'], ['LA', 'LA'],
|
81
|
+
['ME', 'ME'], ['MD', 'MD'], ['MA', 'MA'], ['MI', 'MI'], ['MN', 'MN'], ['MS', 'MS'],
|
82
|
+
['MO', 'MO'], ['MT', 'MT'], ['NE', 'NE'], ['NV', 'NV'], ['NH', 'NH'], ['NJ', 'NJ'],
|
83
|
+
['NM', 'NM'], ['NY', 'NY'], ['NC', 'NC'], ['ND', 'ND'], ['OH', 'OH'], ['OK', 'OK'],
|
84
|
+
['OR', 'OR'], ['PA', 'PA'], ['RI', 'RI'], ['SC', 'SC'], ['SD', 'SD'],
|
85
|
+
['TN', 'TN'], ['TX', 'TX'], ['UT', 'UT'], ['VT', 'VT'], ['VA', 'VA'], ['WA', 'WA'],
|
86
|
+
['WV', 'WV'], ['WI', 'WI'], ['WY', 'WY'],]
|
87
|
+
end
|
88
|
+
|
89
|
+
def format_options_list(options={})
|
90
|
+
insert_options_label_blank(options)
|
91
|
+
change_options_label_case(options) if options[:format] #Change case if :format is set, otherwise use default case
|
92
|
+
self
|
93
|
+
end
|
94
|
+
|
95
|
+
private
|
96
|
+
|
97
|
+
def insert_options_label_blank(options)
|
98
|
+
add_blank = options.fetch(:blank, "true")
|
99
|
+
blank_value = options.fetch(:blank_value, 0)
|
100
|
+
blank_label = options.fetch(:blank_label, "")
|
101
|
+
blank_position = options.fetch(:blank_position, 0)
|
102
|
+
self.insert(blank_position, [blank_label, blank_value]) if add_blank
|
103
|
+
end
|
104
|
+
|
105
|
+
def change_options_label_case(options)
|
106
|
+
label_format = options.fetch(:format)
|
107
|
+
self.each {|opt| opt[0].upcase!} if label_format == "Up"
|
108
|
+
self.each {|opt| opt[0].capitalize!} if label_format == "Cap"
|
109
|
+
self.each {|opt| opt[0].downcase!} if label_format == "Down"
|
110
|
+
end
|
111
|
+
|
112
|
+
end
|
data/lib/corelib/array/math.rb
CHANGED
@@ -1,27 +1,27 @@
|
|
1
|
-
# options = {:key1 => 'default'}.merge(options)
|
2
|
-
|
3
|
-
class Array
|
4
|
-
|
5
|
-
def sum (options = {})
|
6
|
-
strict = options.fetch(:strict, true)
|
7
|
-
strict ? sum_strict : sum_loose
|
8
|
-
end
|
9
|
-
|
10
|
-
private
|
11
|
-
|
12
|
-
def sum_strict
|
13
|
-
total = 0
|
14
|
-
self.each {|item| total = total + item }
|
15
|
-
total
|
16
|
-
end
|
17
|
-
|
18
|
-
def sum_loose
|
19
|
-
total = 0
|
20
|
-
self.each do |item|
|
21
|
-
val = item.is_a?(Numeric) ? item : 0
|
22
|
-
total = total + val
|
23
|
-
end
|
24
|
-
total
|
25
|
-
end
|
26
|
-
|
1
|
+
# options = {:key1 => 'default'}.merge(options)
|
2
|
+
|
3
|
+
class Array
|
4
|
+
|
5
|
+
def sum (options = {})
|
6
|
+
strict = options.fetch(:strict, true)
|
7
|
+
strict ? sum_strict : sum_loose
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def sum_strict
|
13
|
+
total = 0
|
14
|
+
self.each {|item| total = total + item }
|
15
|
+
total
|
16
|
+
end
|
17
|
+
|
18
|
+
def sum_loose
|
19
|
+
total = 0
|
20
|
+
self.each do |item|
|
21
|
+
val = item.is_a?(Numeric) ? item : 0
|
22
|
+
total = total + val
|
23
|
+
end
|
24
|
+
total
|
25
|
+
end
|
26
|
+
|
27
27
|
end
|
@@ -1,17 +1,17 @@
|
|
1
|
-
class FalseClass
|
2
|
-
|
3
|
-
#Cap, Down, Up
|
4
|
-
def to_yes_no(options={})
|
5
|
-
value = options.fetch(:if_no, "No")
|
6
|
-
FalseClass.format_to_yes_no(value, options)
|
7
|
-
end
|
8
|
-
|
9
|
-
def self.format_to_yes_no(value, options)
|
10
|
-
return value if !options.has_key?(:format) #If format is unspecified, use the default
|
11
|
-
format = options[:format]
|
12
|
-
return value.upcase if format == "Up"
|
13
|
-
return value.downcase if format == "Down"
|
14
|
-
value.capitalize #format has to be capital at this point (or an invalid format, so we will assume capital)
|
15
|
-
end
|
16
|
-
|
1
|
+
class FalseClass
|
2
|
+
|
3
|
+
#Cap, Down, Up
|
4
|
+
def to_yes_no(options={})
|
5
|
+
value = options.fetch(:if_no, "No")
|
6
|
+
FalseClass.format_to_yes_no(value, options)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.format_to_yes_no(value, options)
|
10
|
+
return value if !options.has_key?(:format) #If format is unspecified, use the default
|
11
|
+
format = options[:format]
|
12
|
+
return value.upcase if format == "Up"
|
13
|
+
return value.downcase if format == "Down"
|
14
|
+
value.capitalize #format has to be capital at this point (or an invalid format, so we will assume capital)
|
15
|
+
end
|
16
|
+
|
17
17
|
end
|
data/lib/corelib/boolean/true.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
class TrueClass
|
2
|
-
|
3
|
-
#format accepts (C-Capitalized, U-Uppercase, L-Lowercase)
|
4
|
-
def to_yes_no(options={})
|
5
|
-
value = options.fetch(:if_yes, "Yes")
|
6
|
-
FalseClass.format_to_yes_no(value, options)
|
7
|
-
end
|
8
|
-
|
1
|
+
class TrueClass
|
2
|
+
|
3
|
+
#format accepts (C-Capitalized, U-Uppercase, L-Lowercase)
|
4
|
+
def to_yes_no(options={})
|
5
|
+
value = options.fetch(:if_yes, "Yes")
|
6
|
+
FalseClass.format_to_yes_no(value, options)
|
7
|
+
end
|
8
|
+
|
9
9
|
end
|
data/lib/corelib/hash/core.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
class Hash
|
2
|
-
|
3
|
-
def not_empty?
|
4
|
-
!self.empty?
|
5
|
-
end
|
6
|
-
|
7
|
-
#This method iterates over the Array as normal #each method. For each iteration
|
8
|
-
#set two variables in the block, |item, flag|. item will be set tot he current item
|
9
|
-
#in the iteration; flag will be set to "false" on all iterations except the last iteration
|
10
|
-
def each_with_end_flag
|
11
|
-
my_size = self.size
|
12
|
-
self.each_with_index do |item, index|
|
13
|
-
index + 1 == my_size ? yield(item, true) : yield(item, false)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
1
|
+
class Hash
|
2
|
+
|
3
|
+
def not_empty?
|
4
|
+
!self.empty?
|
5
|
+
end
|
6
|
+
|
7
|
+
#This method iterates over the Array as normal #each method. For each iteration
|
8
|
+
#set two variables in the block, |item, flag|. item will be set tot he current item
|
9
|
+
#in the iteration; flag will be set to "false" on all iterations except the last iteration
|
10
|
+
def each_with_end_flag
|
11
|
+
my_size = self.size
|
12
|
+
self.each_with_index do |item, index|
|
13
|
+
index + 1 == my_size ? yield(item, true) : yield(item, false)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
17
|
end
|