Module: Flipper::UI::Util
- Defined in:
- lib/flipper/ui/util.rb
Constant Summary collapse
- NON_WHITESPACE_REGEXP =
Private: 0x3000: fullwidth whitespace
/[^\s#{[0x3000].pack("U")}]/
Class Method Summary collapse
- .blank?(str) ⇒ Boolean
- .escape(str) ⇒ Object
- .pluralize(count, singular, plural) ⇒ Object
- .present?(str) ⇒ Boolean
- .titleize(str) ⇒ Object
- .to_sentence(array, options = {}) ⇒ Object
- .truncate(str, length: 30) ⇒ Object
- .unescape(str) ⇒ Object
Class Method Details
.blank?(str) ⇒ Boolean
17 18 19 |
# File 'lib/flipper/ui/util.rb', line 17 def self.blank?(str) str.to_s !~ NON_WHITESPACE_REGEXP end |
.escape(str) ⇒ Object
9 10 11 |
# File 'lib/flipper/ui/util.rb', line 9 def self.escape(str) Rack::Utils.escape(str) end |
.pluralize(count, singular, plural) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/flipper/ui/util.rb', line 37 def self.pluralize(count, singular, plural) if count == 1 "#{count} #{singular}" else "#{count} #{plural}" end end |
.present?(str) ⇒ Boolean
21 22 23 |
# File 'lib/flipper/ui/util.rb', line 21 def self.present?(str) !blank?(str) end |
.titleize(str) ⇒ Object
25 26 27 |
# File 'lib/flipper/ui/util.rb', line 25 def self.titleize(str) str.to_s.split('_').map(&:capitalize).join(' ') end |
.to_sentence(array, options = {}) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/flipper/ui/util.rb', line 45 def self.to_sentence(array, = {}) default_connectors = { words_connector: ", ", two_words_connector: " and ", last_word_connector: ", and " } = default_connectors.merge!() case array.length when 0 "" when 1 "#{array[0]}" when 2 "#{array[0]}#{[:two_words_connector]}#{array[1]}" else "#{array[0...-1].join([:words_connector])}#{[:last_word_connector]}#{array[-1]}" end end |
.truncate(str, length: 30) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/flipper/ui/util.rb', line 29 def self.truncate(str, length: 30) if str.length > length str[0..length] else str end end |
.unescape(str) ⇒ Object
13 14 15 |
# File 'lib/flipper/ui/util.rb', line 13 def self.unescape(str) Rack::Utils.unescape(str) end |