Skip to content

Latest commit

 

History

History
46 lines (32 loc) · 1.03 KB

2016-02-27-rails_inquiry.md

File metadata and controls

46 lines (32 loc) · 1.03 KB
title tip-number tip-username tip-username-profile tip-description
Inquiry in rails
16
Logesh
The inquiry method provides friendlier way to check both string and array using the StringInquirer and ArrayInquirer

The inquiry method converts a string into a StringInquirer object making equality checks prettier.

"production".inquiry.production? # => true
"active".inquiry.inactive?       # => false

Array#inquiry is a shortcut for wrapping the receiving array in an ArrayInquirer

  users = [:mark, :max, :david]

  array_inquirer1 = ActiveSupport::ArrayInquirer.new(users)

  # creates ArrayInquirer object which is same as array_inquirer1 above
  array_inquirer2 = users.inquiry

  array_inquirer2.class
  => ActiveSupport::ArrayInquirer

  # provides methods like:

  array_inquirer2.mark?
  => true

  array_inquirer2.john?
  => false

  array_inquirer2.any?(:john, :mark)
  => true

  array_inquirer2.any?(:mark, :david)
  => true

  array_inquirer2.any?(:john, :louis)
  => false