Sha256: c5d1ade5222c3ad8f893c6ee5b17a87a4677b083bb0a44d4f2aac5dd6ac9cb26
Contents?: true
Size: 865 Bytes
Versions: 34
Compression:
Stored size: 865 Bytes
Contents
class Marty::Config < Marty::Base class ConfigValidator < ActiveModel::Validator def validate(entry) v = entry.get_value entry.errors[:base] << 'bad JSON value' if v.nil? v end end validates_presence_of :key, :value validates_uniqueness_of :key validates_with ConfigValidator delorean_fn :lookup, sig: 1 do |key| self[key] end def get_value value[0] end def set_value(v) self.value = [v] end def self.[]=(key, value) entry = find_by_key(key) if !entry entry = new entry.key = key end entry.set_value(value) entry.save! value end def self.[](key) entry = find_by_key(key) entry and entry.get_value end def self.del(key) entry = find_by_key(key) if entry result = entry.get_value entry.destroy result end end end
Version data entries
34 entries across 34 versions & 1 rubygems