Sha256: 50e0e735988038a355a71ed79689025d5c41d834095c5aacec66fb0b065e5b67

Contents?: true

Size: 733 Bytes

Versions: 8

Compression:

Stored size: 733 Bytes

Contents

class Releaf::Settings < RailsSettings::Base

  scope :registered, -> { where(var: registered_keys).order(:var) }

  cattr_accessor :registry
  @@registry = {}.with_indifferent_access

  def releaf_title
    var
  end

  def input_type
    metadata[:type] || :text
  end

  def description
    metadata[:description]
  end

  def metadata
    self.class.registry.fetch(var, {})
  end

  def self.register_scoped
    where(var: registered_keys)
  end

  def self.registered_keys
    @@registry.keys
  end

  def self.register(*args)
    Releaf::Settings::Register.call(settings: args)
  end

  def self.supported_types
    [:boolean, :date, :time, :datetime, :integer, :float, :decimal, :email, :text, :textarea, :richtext]
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
releaf-core-1.1.22 app/models/releaf/settings.rb
releaf-core-1.1.21 app/models/releaf/settings.rb
releaf-core-1.1.20 app/models/releaf/settings.rb
releaf-core-1.1.19 app/models/releaf/settings.rb
releaf-core-1.1.18 app/models/releaf/settings.rb
releaf-core-1.1.17 app/models/releaf/settings.rb
releaf-core-1.1.16 app/models/releaf/settings.rb
releaf-core-1.1.15 app/models/releaf/settings.rb