Sha256: dd49fa0a539f5ab634db37bf95db9be845dc712ec95503c8b49143ea03e810df

Contents?: true

Size: 548 Bytes

Versions: 12

Compression:

Stored size: 548 Bytes

Contents

require "delegate"

module Ddr
  module Auth
    class Permission < SimpleDelegator

      VALUES = [:read, :download, :add_children, :edit, :replace, :arrange, :grant]

      VALUES.each do |value|
        const_set(value.to_s.camelize, new(value))
      end

      def inspect
        "#<#{self.class.name}(#{self})>"
      end

      class << self
        def all
          @all ||= VALUES.map { |value| get(value) }
        end

        def get(permission)
          const_get(permission.to_s.camelize)
        end
      end

    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
ddr-models-1.17.1 lib/ddr/auth/permission.rb
ddr-models-1.17.0 lib/ddr/auth/permission.rb
ddr-models-1.16.2 lib/ddr/auth/permission.rb
ddr-models-1.16.1 lib/ddr/auth/permission.rb
ddr-models-1.16.0 lib/ddr/auth/permission.rb
ddr-models-1.15.0 lib/ddr/auth/permission.rb
ddr-models-1.14.2 lib/ddr/auth/permission.rb
ddr-models-1.14.1 lib/ddr/auth/permission.rb
ddr-models-1.14.0 lib/ddr/auth/permission.rb
ddr-models-1.13.2 lib/ddr/auth/permission.rb
ddr-models-1.13.1 lib/ddr/auth/permission.rb
ddr-models-1.13.0 lib/ddr/auth/permission.rb