Class | SieveCtl |
In: |
sievectl
|
Parent: | Object |
The SieveCtl class is a simple set of wrapper methods around the ones available on the ManageSieve class.
# File sievectl, line 176 176: def initialize(conf) 177: @manage_sieve = ManageSieve.new(conf) 178: end
Activates script.
# File sievectl, line 197 197: def activate(script) 198: raise ArgumentError, "`activate' requires a script name" unless script 199: @manage_sieve.set_active(script) 200: end
Adds a script named script, from file file. If file is nil, read the script from STDIN. Activates the script is active is true.
# File sievectl, line 213 213: def add(script, file=nil, active=false) 214: action = "add#{active ? 'active' : ''}" 215: raise ArgumentError, "`#{action}' requires a script name" unless script 216: data = file ? File.open(file).readlines.to_s : STDIN.readlines.to_s 217: unless @manage_sieve.have_space?(script, data.length) 218: raise SieveCommandError, "not enough space for script `#{script}' " + 219: "(#{data.length} bytes)" 220: end 221: @manage_sieve.put_script(script, data) 222: activate script if active 223: end
Prints the server capabilities.
# File sievectl, line 181 181: def capabilities 182: @manage_sieve.print_capabilities 183: end
Deactivates script. There is no DEACTIVATE command in the MANAGESIEVE draft, so we fetch the script, remove it and upload it again.
# File sievectl, line 204 204: def deactivate(script) 205: raise ArgumentError, "`deactivate' requires a script name" unless script 206: data = @manage_sieve.get_script(script) 207: @manage_sieve.delete_script(script) 208: @manage_sieve.put_script(script, data) 209: end
Deletes script
# File sievectl, line 226 226: def delete(script) 227: raise ArgumentError, "`activate' requires a script name" unless script 228: @manage_sieve.delete_script(script) 229: end
Lists the available scripts, specifying which one is active.
# File sievectl, line 186 186: def list 187: @manage_sieve.print_scripts 188: end