You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: moneta.rb
    path of file: ./repos/flipper/lib/flipper/adapters
    
    the code of the file until where you have to start completion: require 'moneta'

module Flipper
  module Adapters
    class Moneta
      include ::Flipper::Adapter

      FEATURES_KEY = :flipper_features

      # Public
      def initialize(moneta)
        @moneta = moneta
      end

      # Public:  The set of known fea
    
      def disable(feature, gate, thing)
        case gate.data_type
        when :boolean
          clear(feature)
        when :integer
          result = get(feature)
          result[gate.key] = thing.value.to_s
          moneta[key(feature.key)] = result
        when :set
          result = get(feature)
          result[gate.key] = result[gate.key].delete(thing.value.to_s)
          moneta[key(feature.key)] = result
        when :json
          result = get(feature)
          result[gate.key] = nil
          moneta[key(feature.key)] = result
        end