Method: Setting.define_setting

Defined in:
app/models/setting.rb

.define_setting(name, options = {}) ⇒ Object

Defines getter and setter for each setting Then setting values can be read using: Setting.some_setting_name or set using Setting.some_setting_name = “some value”



304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
# File 'app/models/setting.rb', line 304

def self.define_setting(name, options={})
  available_settings[name.to_s] = options

  src = <<~END_SRC
    def self.#{name}
      self[:#{name}]
    end

    def self.#{name}?
      self[:#{name}].to_i > 0
    end

    def self.#{name}=(value)
      self[:#{name}] = value
    end
  END_SRC
  class_eval src, __FILE__, __LINE__
end