Sha256: ab74c8661fd66c896eb11f610478be1c0cdb32cf0017ab522445346fea5220a4

Contents?: true

Size: 808 Bytes

Versions: 1

Compression:

Stored size: 808 Bytes

Contents

class ActiveadminSettings::Setting
  include Mongoid::Document
  include Mongoid::Timestamps
  include Mongoid::Reorder

  # Fields
  field           :name
  field           :string, :default => ""
  mount_uploader  :file, SettingsFileUploader

  # Validators
  validates_presence_of   :name
  validates_uniqueness_of :name
  validates_length_of     :name, minimum: 1

  # Indexes
  index :name

  # Instance
  def type
    ActiveadminSettings.settings[name]["type"] ||= "string"
  end

  def description
    ActiveadminSettings.settings[name]["description"] ||= ""
  end

  def default_value
    ActiveadminSettings.settings[name]["default_value"] ||= ""
  end

  def value
    val = respond_to?(type) ? send(type).to_s : send(:string).to_s
    val = default_value if val.empty?
    val.html_safe
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activeadmin-settings-0.1.0 lib/generators/activeadmin_settings/templates/models/setting.rb