Module: IndefiniteArticle::Articulated

Included in:
String, Symbol
Defined in:
lib/indefinite_article/articulated.rb

Instance Method Summary collapse

Instance Method Details

#_first_term_for_indefinite_articleObject



21
22
23
# File 'lib/indefinite_article/articulated.rb', line 21

def _first_term_for_indefinite_article
  split('-').first
end

#_first_word_for_indefinite_articleObject



17
18
19
# File 'lib/indefinite_article/articulated.rb', line 17

def _first_word_for_indefinite_article
  split(' ').first
end

#indefinite_articleObject



3
4
5
6
7
8
9
10
11
# File 'lib/indefinite_article/articulated.rb', line 3

def indefinite_article
  if ::IndefiniteArticle::WORDS_WITH_INITIAL_VOWELS_THAT_ACT_LIKE_WORDS_WITH_INITIAL_CONSONANTS.include? to_s._first_word_for_indefinite_article._first_term_for_indefinite_article.downcase
    ::IndefiniteArticle::INDEFINITE_ARTICLES[:consonant]
  elsif VOWELS.include? self.to_s.first.downcase
    ::IndefiniteArticle::INDEFINITE_ARTICLES[:vowel]
  else
    ::IndefiniteArticle::INDEFINITE_ARTICLES[:consonant]
  end
end

#with_indefinite_article(upcase = false) ⇒ Object



13
14
15
# File 'lib/indefinite_article/articulated.rb', line 13

def with_indefinite_article(upcase = false)
  "#{upcase ? indefinite_article.humanize : indefinite_article}#{ ' ' unless self.blank? }#{self}"
end