ruby-rails-extensions 1.1.1.pre.rc.1 → 2.0.0.pre.rc.1

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