Sha256: d3cbf3c033a71d90c6cf37353a4b617902d583e3959fc9b3418dc9a3c6054a94
Contents?: true
Size: 1020 Bytes
Versions: 3
Compression:
Stored size: 1020 Bytes
Contents
module TrkDatatables module Preferences # Override this to set model where you can store order, index, page length # @example # def preferences_holder # @view.current_user # end def preferences_holder nil end # Override if you use different than :preferences # You can generate with this command: # @code # rails g migration add_preferences_to_users preferences:jsonb def preferences_field :preferences end def get_preference(key) return unless preferences_holder preferences_holder.send(preferences_field).dig :dt_preferences, self.class.name, key end def set_preference(key, value) return unless preferences_holder h = { dt_preferences: { self.class.name => { key => value } } } preferences_holder.send("#{preferences_field}=", {}) if preferences_holder.send(preferences_field).nil? preferences_holder.send(preferences_field).deep_merge! h preferences_holder.save! end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
trk_datatables-0.1.2 | lib/trk_datatables/preferences.rb |
trk_datatables-0.1.1 | lib/trk_datatables/preferences.rb |
trk_datatables-0.1.0 | lib/trk_datatables/preferences.rb |