Class: ActiveSupport::StringInquirer

Inherits:
String show all
Defined in:
activesupport/lib/active_support/string_inquirer.rb

Overview

Wrapping a string in this class gives you a prettier way to test for equality. The value returned by Rails.env is wrapped in a StringInquirer object, so instead of calling this:

Rails.env == 'production'

you can call this:

Rails.env.production?

Instantiating a new StringInquirer

vehicle = ActiveSupport::StringInquirer.new('car')
vehicle.car?   # => true
vehicle.bike?  # => false

Direct Known Subclasses

EnvironmentInquirer

Constant Summary

Constants inherited from String

String::BLANK_RE, String::ENCODED_BLANKS

Method Summary

Methods inherited from String

#acts_like_string?, #as_json, #at, #blank?, #camelize, #classify, #constantize, #dasherize, #deconstantize, #demodulize, #downcase_first, #exclude?, #first, #foreign_key, #from, #html_safe, #humanize, #in_time_zone, #indent, #indent!, #inquiry, #is_utf8?, #last, #mb_chars, #parameterize, #pluralize, #remove, #remove!, #safe_constantize, #singularize, #squish, #squish!, #strip_heredoc, #tableize, #titleize, #to, #to_date, #to_datetime, #to_time, #truncate, #truncate_bytes, #truncate_words, #underscore, #upcase_first

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name, *arguments) ⇒ Object (private)



25
26
27
28
29
30
31
# File 'activesupport/lib/active_support/string_inquirer.rb', line 25

def method_missing(method_name, *arguments)
  if method_name.end_with?("?")
    self == method_name[0..-2]
  else
    super
  end
end