Sha256: c45304727c60ae466e0ebcaaa7f736be66f344e57e8be0f3ba17c1051ecdeb65
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
module Roles::Base def valid_roles_are(*role_list) strategy_class.valid_roles = role_list.to_symbols end end module Roles module Mongoid def self.included(base) base.extend Roles::Base base.extend ClassMethods base.orm_name = :mongoid end module ClassMethods MAP = { :admin_flag => "field :admin_flag, :type => Boolean", :many_roles => "references_many :many_roles, :stored_as => :array, :class_name => 'Role'", :one_role => "referenced_in :one_role, :class_name => 'Role'", :roles_mask => "field :roles_mask, :type => Integer, :default => 0", :role_string => "field :role_string, :type => String", :role_strings => "field :role_strings, :type => Array", :roles_string => "field :roles_string, :type => String" } def strategy name, options=nil if options == :default && MAP[name] instance_eval MAP[name] end set_role_strategy name, options end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
roles_mongoid-0.3.1 | lib/roles_mongoid/base.rb |