Class: String
- Includes:
- Doing::ChronifyString, Doing::Color, Doing::Completion::StringUtils, Doing::StringHighlight, Doing::StringNormalize, Doing::StringQuery, Doing::StringTags, Doing::StringTransform, Doing::StringTruncate, Doing::StringURL
- Defined in:
- lib/doing/good.rb,
lib/doing/colors.rb,
lib/doing/normalize.rb,
lib/doing/string/string.rb,
lib/doing/chronify/chronify.rb,
lib/doing/completion/fig_completion.rb,
lib/doing/completion/zsh_completion.rb,
lib/doing/completion/completion_string.rb
Overview
Template coloring
Direct Known Subclasses
Constant Summary
Constants included from Doing::Color
Doing::Color::ATTRIBUTES, Doing::Color::ATTRIBUTE_NAMES, Doing::Color::COLORED_REGEXP
Instance Method Summary collapse
-
#good? ⇒ Boolean
Tests if object is nil or empty.
-
#normalize_color ⇒ String
Normalize a color name, removing underscores, replacing "bright" with "bold", and converting bgbold to boldbg.
- #sanitize ⇒ Object
-
#utf8 ⇒ String
Force UTF-8 encoding if available.
-
#valid_id? ⇒ Boolean
Test if string is a valid 32-character MD5 id.
-
#validate_color ⇒ String
Extract the longest valid %color name from a string.
Methods included from Doing::Completion::StringUtils
#ltrunc, #ltrunc!, #short_desc
Methods included from Doing::ChronifyString
#chronify, #chronify_qty, #expand_date_tags, #is_range?, #split_date_range, #time_string, #to_seconds
Methods included from Doing::StringURL
#clean_unlinked_urls, #link_urls, #link_urls!, #remove_self_links, #replace_qualified_urls
Methods included from Doing::StringTruncate
#trunc, #trunc!, #truncend, #truncend!, #truncmiddle, #truncmiddle!
Methods included from Doing::StringTransform
#cap_first, #compress, #compress!, #set_type, #simple_wrap, #titlecase, #to_p, #wrap
Methods included from Doing::StringTags
#add_at, #add_tags, #add_tags!, #dedup_tags, #dedup_tags!, #remove_at, #split_tags, #tag, #tag!, #to_tags
Methods included from Doing::StringQuery
#ignore?, #ignore_case, #rx?, #to_bool, #to_phrase_query, #to_query, #to_rx, #truthy?, #wildcard_to_rx
Methods included from Doing::StringHighlight
#highlight_search, #highlight_search!, #highlight_tags, #highlight_tags!, #last_color, #uncolor, #uncolor!
Methods included from Doing::Color
#attributes, coloring?, #support?, template, #uncolor
Methods included from Doing::StringNormalize
#normalize_age, #normalize_age!, #normalize_bool, #normalize_bool!, #normalize_case, #normalize_case!, #normalize_change_type, #normalize_matching, #normalize_matching!, #normalize_order, #normalize_order!, #normalize_tag_sort, #normalize_tag_sort!, #normalize_trigger, #normalize_trigger!
Instance Method Details
#good? ⇒ Boolean
Tests if object is nil or empty
46 47 48 |
# File 'lib/doing/good.rb', line 46 def good? !strip.empty? end |
#normalize_color ⇒ String
Normalize a color name, removing underscores, replacing "bright" with "bold", and converting bgbold to boldbg
125 126 127 |
# File 'lib/doing/colors.rb', line 125 def normalize_color gsub(/_/, '').sub(/bright/i, 'bold').sub(/bgbold/, 'boldbg') end |
#sanitize ⇒ Object
6 7 8 |
# File 'lib/doing/completion/fig_completion.rb', line 6 def sanitize gsub(/"/, '\"') end |
#utf8 ⇒ String
Force UTF-8 encoding if available
33 34 35 36 37 38 39 |
# File 'lib/doing/string/string.rb', line 33 def utf8 if String.method_defined? :force_encoding dup.force_encoding('utf-8') else self end end |
#valid_id? ⇒ Boolean
Test if string is a valid 32-character MD5 id
24 25 26 |
# File 'lib/doing/string/string.rb', line 24 def valid_id? strip =~ /^[a-z0-9]{32}$/ ? true : false end |
#validate_color ⇒ String
Extract the longest valid %color name from a string.
Allows %colors to bleed into other text and still be recognized, e.g. %greensomething still finds %green.
107 108 109 110 111 112 113 114 115 116 |
# File 'lib/doing/colors.rb', line 107 def validate_color valid_color = nil compiled = '' normalize_color.split('').each do |char| compiled += char valid_color = compiled if Color.attributes.include?(compiled.to_sym) end valid_color end |