Skip to content

Commit 7982e6a

Browse files
committed
Optimize for readability
1 parent d00d049 commit 7982e6a

1 file changed

Lines changed: 6 additions & 12 deletions

File tree

lib/ice_cube/builders/string_builder.rb

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,14 @@ def piece(type, prefix = nil, suffix = nil)
1313
end
1414

1515
def to_s
16-
str = @base || ''
17-
res = @types.map do |type, segments|
16+
@types.each_with_object(@base || '') do |(type, segments), str|
1817
if f = self.class.formatter(type)
19-
str << ' ' + f.call(segments)
18+
str << ' ' << f.call(segments)
2019
else
2120
next if segments.empty?
22-
str << ' ' + self.class.sentence(segments)
21+
str << ' ' << self.class.sentence(segments)
2322
end
2423
end
25-
str
2624
end
2725

2826
def self.formatter(type)
@@ -50,15 +48,11 @@ def sentence(array)
5048
end
5149

5250
def nice_number(number)
53-
if number == -1
54-
'last'
55-
elsif number < -1
56-
suffix = SPECIAL_SUFFIX.include?(number) ?
57-
SPECIAL_SUFFIX[number] : NUMBER_SUFFIX[number.abs % 10]
51+
return 'last' if number == -1
52+
suffix = SPECIAL_SUFFIX[number] || NUMBER_SUFFIX[number.abs % 10]
53+
if number < -1
5854
number.abs.to_s << suffix << ' to last'
5955
else
60-
suffix = SPECIAL_SUFFIX.include?(number) ?
61-
SPECIAL_SUFFIX[number] : NUMBER_SUFFIX[number.abs % 10]
6256
number.to_s << suffix
6357
end
6458
end

0 commit comments

Comments
 (0)