Class: Setting::Section
- Inherits:
-
Object
- Object
- Setting::Section
- Defined in:
- app/models/setting.rb
Constant Summary collapse
- @@all =
[]
- @@by_tab_and_label =
{}
- @@default =
:general
Instance Attribute Summary collapse
-
#label ⇒ Object
readonly
Returns the value of attribute label.
-
#order ⇒ Object
readonly
Returns the value of attribute order.
-
#tab ⇒ Object
readonly
Returns the value of attribute tab.
Class Method Summary collapse
Instance Method Summary collapse
- #<=>(other) ⇒ Object
-
#initialize(label, options = {}) ⇒ Section
constructor
A new instance of Section.
- #localized ⇒ Object
- #settings ⇒ Object
Constructor Details
Instance Attribute Details
#label ⇒ Object (readonly)
Returns the value of attribute label.
261 262 263 |
# File 'app/models/setting.rb', line 261 def label @label end |
#order ⇒ Object (readonly)
Returns the value of attribute order.
261 262 263 |
# File 'app/models/setting.rb', line 261 def order @order end |
#tab ⇒ Object (readonly)
Returns the value of attribute tab.
261 262 263 |
# File 'app/models/setting.rb', line 261 def tab @tab end |
Class Method Details
.all ⇒ Object
290 291 292 |
# File 'app/models/setting.rb', line 290 def all @@all end |
.by_tab_and_label ⇒ Object
314 315 316 |
# File 'app/models/setting.rb', line 314 def by_tab_and_label @@by_tab_and_label end |
.default ⇒ Object
294 295 296 |
# File 'app/models/setting.rb', line 294 def default @@default end |
.define(label, options = {}) ⇒ Object
298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 |
# File 'app/models/setting.rb', line 298 def define(label, = {}) section = Setting::Section.new label, @@all << section @@by_tab_and_label[section.tab] ||= {} @@by_tab_and_label[section.tab][label.to_sym] = section begin @@default = label.to_sym Setting::Tab.with_default_tab section.tab do yield if block_given? end ensure @@default = :general end end |
Instance Method Details
#<=>(other) ⇒ Object
283 284 285 286 287 |
# File 'app/models/setting.rb', line 283 def <=>(other) result = order <=> other.order result = label <=> other.label if result == 0 result end |
#localized ⇒ Object
273 274 275 276 277 |
# File 'app/models/setting.rb', line 273 def localized return @label_override.call if @label_override.respond_to? :call return @label_override if @label_override I18n.t @label, :scope => "settings.show.sections.#{Setting::Tab[@tab].label}" end |
#settings ⇒ Object
279 280 281 |
# File 'app/models/setting.rb', line 279 def settings Setting::Meta.by_tab_section_and_label[tab][label].values.sort.map &:label end |