Sha256: c931d0d77cbe7d6d7125b5669aa6a69b73512c54ca5777639e8d42cab10a0ad2

Contents?: true

Size: 682 Bytes

Versions: 1

Compression:

Stored size: 682 Bytes

Contents

class Setting < RailsSettings::CachedSettings
  attr_accessible :var, :value
  
  def expire_cache
    Rails.cache.delete("settings:#{var}") 
  end
  
  def cast_value
    if !value.is_a?(String)
      value
    elsif Setting.defaults[var].is_a?(Array) || Setting.defaults[var].is_a?(Hash)
      JSON.parse(value)
    elsif Setting.defaults[var].is_a?(TrueClass) || Setting.defaults[var].is_a?(FalseClass)
      value == 'true'
    elsif Setting.defaults[var].is_a?(Fixnum)
      value.to_i
    elsif Setting.defaults[var].is_a?(Float)
      value.to_f
    elsif Setting.defaults[var].is_a?(Symbol)
      value.to_sym
    else
      # e.g. class String
      value
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
home_page-0.0.6 app/models/setting.rb