Sha256: 8c8c9abea4d14d733e06972b26664a9edbf875f6c6b10060edaf46bea22d16ec

Contents?: true

Size: 701 Bytes

Versions: 6

Compression:

Stored size: 701 Bytes

Contents

module Roles::Base
  def valid_roles_are(*role_list)
    strategy_class.valid_roles = role_list.to_symbols
    if role_class_name
      role_list.each do |name|
        role = role_class_name.create(:name => name.to_s)
        role.save
      end
    end
  end
end

class Role
  include DataMapper::Resource
  
  property :id, Serial  
  property :name, String

  class << self
    def find_roles(*role_names)
      all(:name => role_names.flatten)
    end

    def find_role role_name
      raise ArgumentError, "#find_role takes a single role name as argument, not: #{role_name.inspect}" if !role_name.kind_of_label?
      res = find_roles(role_name)
      res ? res.first : res
    end
  end
end  

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
roles_data_mapper-0.2.1 lib/roles_data_mapper/role.rb
roles_data_mapper-0.2.0 lib/roles_data_mapper/role.rb
roles_data_mapper-0.1.3 lib/roles_data_mapper/role.rb
roles_data_mapper-0.1.2 lib/roles_data_mapper/role.rb
roles_data_mapper-0.1.1 lib/roles_data_mapper/role.rb
roles_data_mapper-0.1.0 lib/roles_data_mapper/role.rb