Sha256: 70a3c80ce7fdbdd364ef077e6564524afa5f8e15641b1969f0864424869b8ce3

Contents?: true

Size: 538 Bytes

Versions: 1

Compression:

Stored size: 538 Bytes

Contents

module Aegis
  class Normalization

    VERB_NORMALIZATIONS = {
      "edit"   => "update",
      "show"   => "read",
      "list"   => "read",
      "view"   => "read",
      "delete" => "destroy",
      "remove" => "destroy"
    }

    def self.normalize_verb(verb)
      VERB_NORMALIZATIONS[verb] || verb
    end

    def self.normalize_permission(permission)
      if permission =~ /^([^_]+?)_(.+?)$/
        verb, target = $1, $2
        permission = normalize_verb(verb) + "_" + target
      end
      permission
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
Chrononaut-aegis-1.2.0 lib/aegis/normalization.rb