Class: Profiler::Collectors::I18nCollector
Instance Attribute Summary
#profile
Instance Method Summary
collapse
descendants, #has_data?, inherited, #name, #panel_content, #render_html, #render_mode
Constructor Details
Returns a new instance of I18nCollector.
25
26
27
28
|
# File 'lib/profiler/collectors/i18n_collector.rb', line 25
def initialize(profile)
super
@lookups = []
end
|
Instance Method Details
#collect ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/profiler/collectors/i18n_collector.rb', line 59
def collect
Thread.current[:profiler_i18n_collector] = nil
missing_count = @lookups.count { |l| l[:missing] }
store_data(
locale: I18n.locale.to_s,
total: @lookups.size,
missing_count: missing_count,
lookups: @lookups
)
end
|
#icon ⇒ Object
30
31
32
|
# File 'lib/profiler/collectors/i18n_collector.rb', line 30
def icon
"๐"
end
|
#priority ⇒ Object
34
35
36
|
# File 'lib/profiler/collectors/i18n_collector.rb', line 34
def priority
45
end
|
#record_lookup(key, locale, result, missing = false) ⇒ Object
72
73
74
75
76
77
78
79
80
81
|
# File 'lib/profiler/collectors/i18n_collector.rb', line 72
def record_lookup(key, locale, result, missing = false)
value = missing ? "[missing]" : truncate(result.to_s)
@lookups << {
key: key.to_s,
locale: locale.to_s,
value: value,
missing: missing
}
end
|
#subscribe ⇒ Object
49
50
51
52
53
54
55
56
57
|
# File 'lib/profiler/collectors/i18n_collector.rb', line 49
def subscribe
return unless defined?(I18n)
unless I18n.singleton_class.ancestors.include?(Profiler::I18nLookupTracker)
I18n.singleton_class.prepend(Profiler::I18nLookupTracker)
end
Thread.current[:profiler_i18n_collector] = self
end
|
#tab_config ⇒ Object
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/profiler/collectors/i18n_collector.rb', line 38
def tab_config
{
key: "i18n",
label: "I18n",
icon: icon,
priority: priority,
enabled: true,
default_active: false
}
end
|
83
84
85
86
87
88
89
90
91
|
# File 'lib/profiler/collectors/i18n_collector.rb', line 83
def toolbar_summary
missing = @lookups.count { |l| l[:missing] }
locale = I18n.locale.to_s
total = @lookups.size
color = missing > 0 ? "red" : "green"
{ text: "#{locale} ยท #{total} keys", color: color }
end
|