Sha256: eb49c97bdc8f401a0d3b57998e7b669cd948d054dacfe0e801d36d39ab300569
Contents?: true
Size: 810 Bytes
Versions: 7
Compression:
Stored size: 810 Bytes
Contents
module TrkDatatables class Preferences def initialize(holder, field) @holder = holder @field = field end # Get the key from holder # Use check_value proc to ignore wrong format. This is usefull when you # change format and you do not want to clear all existing values def get(key, check_value = nil) return unless @holder result = @holder.send(@field).dig :dt_preferences, self.class.name, key return result if check_value.nil? return result if check_value.call result end def set(key, value) return unless @holder h = { dt_preferences: { self.class.name => { key => value } } } @holder.send("#{@field}=", {}) if @holder.send(@field).nil? @holder.send(@field).deep_merge! h @holder.save! end end end
Version data entries
7 entries across 7 versions & 1 rubygems