123456789_123456789_123456789_123456789_123456789_

Class: ActiveSupport::Inflector::Inflections::Uncountables

Do not use. This class is for internal use only.
Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Instance Chain:
Inherits: Object
Defined in: activesupport/lib/active_support/inflector/inflections.rb

Class Method Summary

Instance Attribute Summary

::Enumerable - Included

#many?

Returns true if the enumerable has more than 1 element.

Instance Method Summary

::Enumerable - Included

#compact_blank

Returns a new ::Array without the blank items.

#exclude?

The negative of the Enumerable#include?.

#excluding

Returns a copy of the enumerable excluding the specified elements.

#in_order_of

Returns a new ::Array where the order has been set to that provided in the series, based on the key of the objects in the original enumerable.

#including

Returns a new array that includes the passed elements.

#index_by

Convert an enumerable to a hash, using the block result as the key and the element as the value.

#index_with

Convert an enumerable to a hash, using the element as the key and the block result as the value.

#maximum

Calculates the maximum from the extracted elements.

#minimum

Calculates the minimum from the extracted elements.

#pick

Extract the given key from the first element in the enumerable.

#pluck

Extract the given key from each element in the enumerable.

#sole

Returns the sole item in the enumerable.

#without
#as_json

::ActiveSupport::EnumerableCoreExt::Constants - Included

Constructor Details

.newUncountables

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 40

def initialize
  @members = []
  @pattern = nil
end

Instance Attribute Details

#each (readonly)

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 38

delegate :each, :pop, :empty?, :to_s, :==, :to_a, :to_ary, to: :@members

#pop (readonly)

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 38

delegate :each, :pop, :empty?, :to_s, :==, :to_a, :to_ary, to: :@members

Instance Method Details

#<<(word)

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 50

def <<(word)
  word = word.downcase
  @members << word
  @pattern = nil
  self
end

#==

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 38

delegate :each, :pop, :empty?, :to_s, :==, :to_a, :to_ary, to: :@members

#add(words)

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 61

def add(words)
  words = words.flatten.map(&:downcase)
  @members.concat(words)
  @pattern = nil
  self
end

#delete(entry)

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 45

def delete(entry)
  @members.delete(entry)
  @pattern = nil
end

#empty?Boolean

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 38

delegate :each, :pop, :empty?, :to_s, :==, :to_a, :to_ary, to: :@members

#flatten

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 57

def flatten
  @members.dup
end

#to_a

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 38

delegate :each, :pop, :empty?, :to_s, :==, :to_a, :to_ary, to: :@members

#to_ary

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 38

delegate :each, :pop, :empty?, :to_s, :==, :to_a, :to_ary, to: :@members

#to_s

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 38

delegate :each, :pop, :empty?, :to_s, :==, :to_a, :to_ary, to: :@members

#uncountable?(str) ⇒ Boolean

[ GitHub ]

  
# File 'activesupport/lib/active_support/inflector/inflections.rb', line 68

def uncountable?(str)
  if @pattern.nil?
    members_pattern = Regexp.union(@members.map { |w| /#{Regexp.escape(w)}/i })
    @pattern = /\b#{members_pattern}\Z/i
  end
  @pattern.match?(str)
end