Sha256: 1e2536e8049f3409d9db122a6ee767fb0914b956ea30852ceced59cebd5bd958

Contents?: true

Size: 471 Bytes

Versions: 6

Compression:

Stored size: 471 Bytes

Contents

module SimpleRoles
  module One
    module Persistence
      def role
        (r = super) ? r.to_sym : nil
      end

      def role= r
        check_role r
        r ? super(r.to_s) : super(nil)
      end

      private

      def check_role role
        return unless role

        valid_roles = SimpleRoles.config.valid_roles

        raise "Not a valid role! Try on of: #{valid_roles.join(', ')}" if ([role.to_sym] - valid_roles).size > 0
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
simple_roles-0.0.12 lib/simple_roles/one/persistence.rb
simple_roles-0.0.11 lib/simple_roles/one/persistence.rb
simple_roles-0.0.10 lib/simple_roles/one/persistence.rb
simple_roles-0.0.9 lib/simple_roles/one/persistence.rb
simple_roles-0.0.8 lib/simple_roles/one/persistence.rb
simple_roles-0.0.7 lib/simple_roles/one/persistence.rb