Sha256: ff847421b0fcd20afabfb7590ed85a990d8854b4cc35815a304ebca73664e23b
Contents?: true
Size: 700 Bytes
Versions: 6
Compression:
Stored size: 700 Bytes
Contents
# Database backed system-wide module Flip class DatabaseStrategy < AbstractStrategy def initialize(model_klass = Feature) @klass = model_klass end def description "Database backed, applies to all users." end def knows? definition !!feature(definition) end def on? definition feature(definition).enabled? end def switchable? true end def switch! key, enable @klass.find_or_initialize_by_key(key).update_attributes! enabled: enable end def delete! key @klass.find_by_key(key).try(:destroy) end private def feature(definition) @klass.find_by_key definition.key end end end
Version data entries
6 entries across 6 versions & 1 rubygems