class Wdmc::Acl
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/wdmc/acl.rb, line 7 def initialize(*args) @wdmc = Wdmc::Client.new super end
Public Instance Methods
delete( name )
click to toggle source
# File lib/wdmc/acl.rb, line 74 def delete( name ) share_exists = @wdmc.share_exists?( name ) abort "\nShare does not exist: ".color(:yellow) + "#{name}".color(:cyan) unless share_exists.include?( name ) begin data = { :share_name => name, :username => options['user'] } unless options['force'] puts "\nYou are going to delete #{options['access']} access for user #{options['user']} to #{name}".color(:orange) return unless yes?("DELETE? (yes/no): ") end puts "Remove ACL:\s".color(:whitesmoke) + "OK".color(:green) if @wdmc.delete_acl( data ) share = @wdmc.get_acl( name ) share[:share_access].map do |access| puts "\s- Username\t:\s".color(:whitesmoke) + access[:username] puts "\s- User ID\t:\s".color(:whitesmoke) + access[:user_id] puts "\s- Access\t:\s".color(:whitesmoke) + access[:access].color(:green) if access[:access] == 'RW' puts "\s- Access\t:\s".color(:whitesmoke) + access[:access].color(:yellow) if access[:access] == 'RO' puts end rescue RestClient::ExceptionWithResponse => e puts e.response end end
edit( name )
click to toggle source
# File lib/wdmc/acl.rb, line 48 def edit( name ) share_exists = @wdmc.share_exists?( name ) abort "\nShare does not exist: ".color(:yellow) + "#{name}".color(:cyan) unless share_exists.include?( name ) begin data = { :share_name => name, :username => options['user'], :access => options['access'] } puts "Modify ACL:\s".color(:whitesmoke) + "OK".color(:green) if @wdmc.modify_acl( data ) share = @wdmc.get_acl( name ) share[:share_access].map do |access| puts "\s- Username\t:\s".color(:whitesmoke) + access[:username] puts "\s- User ID\t:\s".color(:whitesmoke) + access[:user_id] puts "\s- Access\t:\s".color(:whitesmoke) + access[:access].color(:green) if access[:access] == 'RW' puts "\s- Access\t:\s".color(:whitesmoke) + access[:access].color(:yellow) if access[:access] == 'RO' puts end rescue RestClient::ExceptionWithResponse => e puts e.response end end
get( name )
click to toggle source
# File lib/wdmc/acl.rb, line 13 def get( name ) share_exists = @wdmc.share_exists?( name ) abort "\nShare does not exist: ".color(:yellow) + "#{name}".color(:cyan) unless share_exists.include?( name ) Wdmc::Share.new.show( name ) end
set( name )
click to toggle source
# File lib/wdmc/acl.rb, line 22 def set( name ) share_exists = @wdmc.share_exists?( name ) abort "\nShare does not exist: ".color(:yellow) + "#{name}".color(:cyan) unless share_exists.include?( name ) begin data = { :share_name => name, :username => options['user'], :access => options['access'] } puts "Set ACL:\s".color(:whitesmoke) + "OK".color(:green) if @wdmc.set_acl( data ) share = @wdmc.get_acl( name ) share[:share_access].map do |access| puts "\s- Username\t:\s".color(:whitesmoke) + access[:username] puts "\s- User ID\t:\s".color(:whitesmoke) + access[:user_id] puts "\s- Access\t:\s".color(:whitesmoke) + access[:access].color(:green) if access[:access] == 'RW' puts "\s- Access\t:\s".color(:whitesmoke) + access[:access].color(:yellow) if access[:access] == 'RO' puts end rescue RestClient::ExceptionWithResponse => e puts e.response end end