Class: TwitterCldr::Localized::LocalizedString
Instance Attribute Summary
#base_obj, #locale
Instance Method Summary
collapse
#initialize, localize
Instance Method Details
#%(args) ⇒ Object
Uses wrapped string object as a format specification and returns the result of applying it to args
(see standard String#% method documentation for interpolation syntax).
If args
is a Hash than pluralization is performed before interpolation (see PluralFormatter
class for pluralization specification).
18
19
20
21
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 18
def %(args)
pluralized = args.is_a?(Hash) ? formatter.format(@base_obj, args) : @base_obj
escape_plural_interpolation(pluralized) % args
end
|
#bytesize ⇒ Object
115
116
117
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 115
def bytesize
@base_obj.bytesize
end
|
#casefold(options = {}) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 27
def casefold(options = {})
unless options.include?(:t)
options[:t] = [:tr, :az].include?(locale)
end
TwitterCldr::Shared::Casefolder.
casefold(@base_obj, options[:t]).
localize(locale)
end
|
#downcase ⇒ Object
39
40
41
42
43
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 39
def downcase
self.class.new(
TwitterCldr::Shared::Caser.downcase(@base_obj), locale
)
end
|
#each_char ⇒ Object
Also known as:
each
127
128
129
130
131
132
133
134
135
136
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 127
def each_char
if block_given?
code_points.each do |code_point|
yield TwitterCldr::Utils::CodePoints.to_char(code_point)
end
@base_obj
else
code_points.map { |code_point| TwitterCldr::Utils::CodePoints.to_char(code_point) }.to_enum
end
end
|
#each_sentence ⇒ Object
57
58
59
60
61
62
63
64
65
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 57
def each_sentence
if block_given?
break_iterator.each_sentence(@base_obj) do |sentence|
yield sentence.localize(locale)
end
else
to_enum(__method__)
end
end
|
#each_word ⇒ Object
67
68
69
70
71
72
73
74
75
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 67
def each_word
if block_given?
break_iterator.each_word(@base_obj) do |word|
yield word.localize(locale)
end
else
to_enum(__method__)
end
end
|
#hyphenate(delimiter = nil) ⇒ Object
77
78
79
80
81
82
83
84
85
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 77
def hyphenate(delimiter = nil)
hyphenated_str = @base_obj.dup
break_iterator.each_word(@base_obj).reverse_each do |word, start, stop|
hyphenated_str[start...stop] = hyphenator.hyphenate(word, delimiter)
end
hyphenated_str.localize(locale)
end
|
#normalize(options = {}) ⇒ Object
23
24
25
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 23
def normalize(options = {})
TwitterCldr::Normalization.normalize(@base_obj, options).localize(locale)
end
|
#size ⇒ Object
Also known as:
length
109
110
111
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 109
def size
code_points.size
end
|
#titlecase ⇒ Object
51
52
53
54
55
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 51
def titlecase
self.class.new(
TwitterCldr::Shared::Caser.titlecase(@base_obj), locale
)
end
|
#to_bidi(options = {}) ⇒ Object
144
145
146
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 144
def to_bidi(options = {})
TwitterCldr::Shared::Bidi.from_string(@base_obj, options)
end
|
#to_f(options = {}) ⇒ Object
99
100
101
102
103
104
105
106
107
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 99
def to_f(options = {})
if number_parser.class.is_numeric?(@base_obj)
number_parser.try_parse(@base_obj, options) do |result|
result || @base_obj.to_f
end
else
@base_obj.to_f
end
end
|
#to_i(options = {}) ⇒ Object
95
96
97
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 95
def to_i(options = {})
to_f(options).to_i
end
|
#to_reordered_s(options = {}) ⇒ Object
148
149
150
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 148
def to_reordered_s(options = {})
to_bidi(options).reorder_visually!.to_s
end
|
#to_s ⇒ Object
91
92
93
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 91
def to_s
@base_obj.dup
end
|
#to_yaml(options = {}) ⇒ Object
140
141
142
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 140
def to_yaml(options = {})
TwitterCldr::Utils::YAML.dump(@base_obj, options)
end
|
#transliterate_into(target_locale) ⇒ Object
#upcase ⇒ Object
45
46
47
48
49
|
# File 'lib/twitter_cldr/localized/localized_string.rb', line 45
def upcase
self.class.new(
TwitterCldr::Shared::Caser.upcase(@base_obj), locale
)
end
|