{"action":"opened","issue":{"url":"https://api.github.com/repos/hassox/guardian/issues/21","labels_url":"https://api.github.com/repos/hassox/guardian/issues/21/labels{/name}","comments_url":"https://api.github.com/repos/hassox/guardian/issues/21/comments","events_url":"https://api.github.com/repos/hassox/guardian/issues/21/events","html_url":"https://github.com/hassox/guardian/issues/21","id":103007917,"number":21,"title":"Guardian.Permissions.all?","user":{"login":"jschoch","id":20271,"avatar_url":"https://avatars.githubusercontent.com/u/20271?v=3","gravatar_id":"","url":"https://api.github.com/users/jschoch","html_url":"https://github.com/jschoch","followers_url":"https://api.github.com/users/jschoch/followers","following_url":"https://api.github.com/users/jschoch/following{/other_user}","gists_url":"https://api.github.com/users/jschoch/gists{/gist_id}","starred_url":"https://api.github.com/users/jschoch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jschoch/subscriptions","organizations_url":"https://api.github.com/users/jschoch/orgs","repos_url":"https://api.github.com/users/jschoch/repos","events_url":"https://api.github.com/users/jschoch/events{/privacy}","received_events_url":"https://api.github.com/users/jschoch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-08-25T12:08:51Z","updated_at":"2015-08-25T12:08:51Z","closed_at":null,"body":"I'm a bit confused by all?  I'm assuming it means all permissions are verified, but in the below example a non existent value checks true.\r\n\r\nassuming the below config from your example in the README\r\n\r\n```elixir\r\nconfig :guardian, Guardian,\r\n  issuer: \"Aclpho\",\r\n  ttl: { 30, :days },\r\n  verify_issuer: true,\r\n  secret_key: \"xxxxxxxxxxxxxxxxxx123411\",\r\n  serializer: Aclpho\r\n\r\nconfig :guardian, Guardian,\r\n       permissions: %{\r\n         default: [:read, :write],\r\n         admin: [:dashboard, :reconcile]\r\n       }\r\n\r\n```\r\n\r\nthe test channel\r\n```elixir\r\ndefmodule Aclpho.RC do\r\n  require Logger\r\n  use Phoenix.Channel\r\n  use Guardian.Channel\r\n\r\n  def join(_room, %{ claims: claims, resource: resource }, socket) do\r\n    Logger.warn \"claims: \" <> inspect claims\r\n    case Guardian.verify(resource) do\r\n      { :ok, claims } ->\r\n        Logger.warn \"verified claims: \" <> inspect claims\r\n        can_read? = Guardian.Permissions.from_claims(claims, :default)\r\n          |> Guardian.Permissions.any?([:read], :default)\r\n        can_write? = Guardian.Permissions.from_claims(claims, :default)\r\n          |> Guardian.Permissions.any?([:write], :default)\r\n        can_foo? = Guardian.Permissions.from_claims(claims, :default)\r\n          |> Guardian.Permissions.all?([:foo], :default)\r\n          #|> Guardian.Permissions.any?([:foo], :default)\r\n        Logger.warn \"permissions were: \" <> inspect {can_read?,can_write?,can_foo?}\r\n        socket = assign(socket, :resource,resource)\r\n        { :ok, %{ message: \"Joined #{inspect resource}\" }, socket }\r\n      { :error, reason } ->\r\n        Logger.warn \"sad face :(\"\r\n        { :error,  :authentication_failed}\r\n    end\r\n  end\r\n```\r\n\r\nuncommenting the any? line prints the expected {true, true,false} tuple.  Why does aall? return true for a permission that does not exist?"}}