Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/everyday-cli-utils/format.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



113
114
115
116
117
118
119
120
121
# File 'lib/everyday-cli-utils/format.rb', line 113

def method_missing(method, *args)
  name   = method.to_s
  colors = 'black|red|green|yellow|blue|purple|cyan|white|none'
  if (name =~ /format(_bold)?(_underline)?(?:_fg_(#{colors}))?(?:_bg_(#{colors}))?/).nil?
    old_method_missing(method, *args)
  else
    EverydayCliUtils::Format::format(self, EverydayCliUtils::Format::build_string(!$1.nil?, !$2.nil?, $3.nil? ? nil : $3.to_sym, $4.nil? ? nil : $4.to_sym))
  end
end

Instance Method Details

#old_method_missingObject



110
# File 'lib/everyday-cli-utils/format.rb', line 110

alias :old_method_missing :method_missing

#old_respond_to?Object



111
# File 'lib/everyday-cli-utils/format.rb', line 111

alias :old_respond_to? :respond_to?

#respond_to?(method) ⇒ Boolean

Returns:

  • (Boolean)


123
124
125
126
127
# File 'lib/everyday-cli-utils/format.rb', line 123

def respond_to?(method)
  name   = method.to_s
  colors = 'black|red|green|yellow|blue|purple|cyan|white|none'
  (!(name =~ /format(_bold)?(_underline)?(?:_fg_(#{colors}))?(?:_bg_(#{colors}))?/).nil?) || old_respond_to?(method)
end