Sha256: d20f4e7a4c34c2ac7f701f1110fa86aa1812d89056515fc6d4e987e7af375174

Contents?: true

Size: 722 Bytes

Versions: 5

Compression:

Stored size: 722 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]
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
releaf-core-1.1.14 app/models/releaf/settings.rb
releaf-core-1.1.13 app/models/releaf/settings.rb
releaf-core-1.1.12 app/models/releaf/settings.rb
releaf-core-1.1.11 app/models/releaf/settings.rb
releaf-core-1.1.10 app/models/releaf/settings.rb