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.
251 252 253 |
# File 'app/models/setting.rb', line 251 def label @label end |
#order ⇒ Object (readonly)
Returns the value of attribute order.
251 252 253 |
# File 'app/models/setting.rb', line 251 def order @order end |
#tab ⇒ Object (readonly)
Returns the value of attribute tab.
251 252 253 |
# File 'app/models/setting.rb', line 251 def tab @tab end |
Class Method Details
.all ⇒ Object
280 281 282 |
# File 'app/models/setting.rb', line 280 def all @@all end |
.by_tab_and_label ⇒ Object
304 305 306 |
# File 'app/models/setting.rb', line 304 def by_tab_and_label @@by_tab_and_label end |
.default ⇒ Object
284 285 286 |
# File 'app/models/setting.rb', line 284 def default @@default end |
.define(label, options = {}) ⇒ Object
288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 |
# File 'app/models/setting.rb', line 288 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
273 274 275 276 277 |
# File 'app/models/setting.rb', line 273 def <=>(other) result = order <=> other.order result = label <=> other.label if result == 0 result end |
#localized ⇒ Object
263 264 265 266 267 |
# File 'app/models/setting.rb', line 263 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
269 270 271 |
# File 'app/models/setting.rb', line 269 def settings Setting::Meta.by_tab_section_and_label[tab][label].values.sort.map &:label end |