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 : STDIN.readlines 217: @manage_sieve.put_script(script, data.to_s) 218: activate script if active 219: 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 222 222: def delete(script) 223: raise ArgumentError, "`activate' requires a script name" unless script 224: @manage_sieve.delete_script(script) 225: end
Lists the available scripts, specifying which one is active.
# File sievectl, line 186 186: def list 187: @manage_sieve.print_scripts 188: end