class TwitterCldr::Transforms::Transforms::CasingTransform

Constants

VALID_FORMS

Attributes

backward_transform[R]
forward_transform[R]

Public Class Methods

accepts?(forward_form, backward_form) click to toggle source
# File lib/twitter_cldr/transforms/transforms/casing_transform.rb, line 14
def accepts?(forward_form, backward_form)
  valid_form?(forward_form) && valid_form?(backward_form)
end

Private Class Methods

valid_form?(form) click to toggle source
# File lib/twitter_cldr/transforms/transforms/casing_transform.rb, line 20
def valid_form?(form)
  !form || form.null? || form.blank? || (
    VALID_FORMS.include?(form.transform.downcase)
  )
end

Public Instance Methods

apply_to(cursor) click to toggle source
# File lib/twitter_cldr/transforms/transforms/casing_transform.rb, line 29
def apply_to(cursor)
  if forward_transform
    case forward_transform
      when 'lower'
        apply_lower(cursor)
      when 'upper'
        apply_upper(cursor)
      when 'title'
        apply_title(cursor)
    end

    cursor.reset_position
  end
end

Private Instance Methods

after_initialize() click to toggle source
# File lib/twitter_cldr/transforms/transforms/casing_transform.rb, line 46
def after_initialize
  @forward_transform = normalize_transform(forward_form)
  @backward_transform = normalize_transform(backward_form)
end
apply_lower(cursor) click to toggle source
# File lib/twitter_cldr/transforms/transforms/casing_transform.rb, line 57
def apply_lower(cursor)
  cursor.set_text(caser.downcase(cursor.text))
end
apply_title(cursor) click to toggle source
# File lib/twitter_cldr/transforms/transforms/casing_transform.rb, line 65
def apply_title(cursor)
  cursor.set_text(caser.titlecase(cursor.text))
end
apply_upper(cursor) click to toggle source
# File lib/twitter_cldr/transforms/transforms/casing_transform.rb, line 61
def apply_upper(cursor)
  cursor.set_text(caser.upcase(cursor.text))
end
caser() click to toggle source
# File lib/twitter_cldr/transforms/transforms/casing_transform.rb, line 69
def caser
  TwitterCldr::Shared::Caser
end
normalize_transform(form) click to toggle source
# File lib/twitter_cldr/transforms/transforms/casing_transform.rb, line 51
def normalize_transform(form)
  if form && form.has_transform?
    form.transform.downcase
  end
end