Sha256: 757eb61559c9d3f0a159026ff13431f906e9da3f7409c3f036f3a63ff55f2a09

Contents?: true

Size: 473 Bytes

Versions: 3

Compression:

Stored size: 473 Bytes

Contents

module NsSettingsUi
  class Setting < ActiveRecord::Base
    TYPES = {
      string: 1,
      integer: 2
    }.freeze

    def self.get(*keys)
      where(key: keys.join('.')).first_or_create
    end

    def keys
      key.split('.').map(&:to_sym)
    end

    def formatted_value
      return nil if value.nil?
      case value_type
      when TYPES[:string] then value.to_s
      when TYPES[:integer] then value.to_i
      else
        value
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ns_settings_ui-1.2.0 app/models/ns_settings_ui/setting.rb
ns_settings_ui-1.1.0 app/models/ns_settings_ui/setting.rb
ns_settings_ui-1.0.0 app/models/ns_settings_ui/setting.rb