Skip to content

Commit 5fb9e63

Browse files
authored
Merge pull request #683 from fatkodima/add-inspect-to-fallbacks
Implement `Fallbacks#inspect` and `Fallbacks#empty?`
2 parents 284ae1b + 9e86475 commit 5fb9e63

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

lib/i18n/locale/fallbacks.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,14 @@ def map(*args, &block)
7979
end
8080
end
8181

82+
def empty?
83+
@map.empty? && @defaults.empty?
84+
end
85+
86+
def inspect
87+
"#<#{self.class.name} @map=#{@map.inspect} @defaults=#{@defaults.inspect}>"
88+
end
89+
8290
protected
8391

8492
def compute(tags, include_defaults = true, exclude = [])

test/locale/fallbacks_test.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,15 @@ def setup
170170
result = @fallbacks.map { |key, value| [key, value] }
171171
assert_equal([[:"de-AT", [:"de-DE"]]], result)
172172
end
173+
174+
test "empty? is compatible with Hash#empty?" do
175+
refute_predicate(@fallbacks, :empty?)
176+
refute_predicate(Fallbacks.new(:'en-US'), :empty?)
177+
refute_predicate(Fallbacks.new(:"de-AT" => :"de-DE"), :empty?)
178+
assert_predicate(Fallbacks.new, :empty?)
179+
end
180+
181+
test "#inspect" do
182+
assert_equal('#<I18n::Locale::Fallbacks @map={:"de-AT"=>[:"de-DE"]} @defaults=[:"en-US", :en]>', @fallbacks.inspect)
183+
end
173184
end

0 commit comments

Comments
 (0)