 
   To query the value of a flag, please use the `enabled?2` function instead.
   """
-  @spec all_flags() :: {:ok, [FunWithFlags.Flag.t]}
+  @spec all_flag_names() :: {:ok, [FunWithFlags.Flag.t]} | {:error, any}
   def all_flag_names do
     Config.persistence_adapter().all_flag_names()
   end

      false

  """
  @spec enable(atom, options) :: {:ok, true}
  def enable(flag_name, options \\ [])

  def enable(flag_name, []) when is_atom(flag_name) do
    {:ok, flag} = @store.put(flag_name, Gate.new(:boolean, true))
    verify(flag)
  end

  def enable(flag_name, [for_actor: nil]) do


  def disable(flag_name, [for_group: group_name]) when is_atom(flag_name) do
    gate = Gate.new(:group, group_name, false)
    case @store.put(flag_name, gate) do
      {:ok, _flag} -> {:ok, false}
      error -> error
    end
  end


  def disable(flag_name, [for_percentage_of: {type, ratio}])
  when is_atom(flag_name) and is_float(ratio) do
    inverted_ratio = 1.0 - ratio
    case enable(flag_name, [for_percentage_of: {type, inverted_ratio}]) do
      {:ok, true} -> {:ok, false}
      error -> error
    end
  end


