Sha256: 58fa1bcd2003e27e65fca0fec2435712bf3445f5a32bf462f11a06ead4c4b235
Contents?: true
Size: 1.64 KB
Versions: 4
Compression:
Stored size: 1.64 KB
Contents
module Squall # OnApp Role class Role < Base # Return a list of roles def list response = request(:get, '/roles.json') response.collect { |role| role['role']} end # Returns a Hash of the given roles # # ==== Params # # * +id*+ - ID of the role def show(id) response = request(:get, "/roles/#{id}.json") response["role"] end # Edit a Role # # ==== Params # # * +id*+ - ID of the role # * +options+ - Params for editing the roles # # ==== Options # # See #create # # ==== Example # # edit 1, :label => 'myrole', :permission_ids => [1,3] def edit(id, options = {}) params.accepts(:label, :permission_ids).validate!(options) response = request(:put, "/roles/#{id}.json", default_params(options)) end # Delete a Role # # ==== Params # # * +id*+ - ID of the role def delete(id) request(:delete, "/roles/#{id}.json") end # Returns a list of permissions available def permissions response = request(:get, '/permissions.json') response.collect { |perm| perm['permission'] } end # Create a new Role # # ==== Params # # * +options+ - Params for creating the roles # # ==== Options # # * +label*+ - Label for the role # * +permission_ids+ - An array of permission ids granted to the role. # # ==== Example # # create :label => 'Admin' def create(options = {}) params.required(:label).accepts(:permission_ids).validate!(options) response = request(:post, '/roles.json', default_params(options)) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
squall-1.3.0 | lib/squall/role.rb |
squall-1.2.1beta1 | lib/squall/role.rb |
squall-1.2.0beta1 | lib/squall/role.rb |
squall-1.1.0 | lib/squall/role.rb |