Sha256: a87a6d5823b49161c8231126732f6a917a1ce5720c12f8d68e6ed6244fa5fb66

Contents?: true

Size: 1.01 KB

Versions: 4

Compression:

Stored size: 1.01 KB

Contents

module TroleGroups
  module Storage
    autoload :BaseMany,   'trole_groups/storage/base_many'
    # autoload :BitMany,    'trole_groups/storage/bit_many'
    autoload :EmbedMany,  'trole_groups/storage/embed_many'
    autoload :RefMany,    'trole_groups/storage/ref_many'
    # autoload :StringMany, 'trole_groups/storage/string_many'        
    
    class BaseMany < Troles::Common::Storage
      protected
      
      # get matching list of Role instances
      # @param  [Array<Symbol>] list of role names to find Roles for
      # @return [Array<Role>] references to Role instances
      def find_rolegroups *rolegroups
        rolegroup_model.where(:name => rolegroups.flatten).all
      end

      # get list of embedded Role instances
      # @param  [Array<Symbol>] list of role names
      # @return [Array<Role>] Role instances generated      
      def rolegroups_to_embed *rolegroups
        raise "Must be implemented by embed storage to generate a set of rolegroups to embed"
      end           
    end        
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
troles-0.6.1 lib/trole_groups/storage.rb
troles-0.6.0 lib/trole_groups/storage.rb
troles-0.5.2 lib/trole_groups/storage.rb
troles-0.5.1 lib/trole_groups/storage.rb