Class SieveCtl
In: sievectl
Parent: Object

The SieveCtl class is a simple set of wrapper methods around the ones available on the ManageSieve class.

Methods

activate   add   capabilities   deactivate   delete   list   new   show  

Public Class methods

[Source]

     # File sievectl, line 176
176:   def initialize(conf)
177:     @manage_sieve = ManageSieve.new(conf)
178:   end

Public Instance methods

Activates script.

[Source]

     # 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.

[Source]

     # 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.

[Source]

     # 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.

[Source]

     # 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

[Source]

     # 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.

[Source]

     # File sievectl, line 186
186:   def list
187:     @manage_sieve.print_scripts
188:   end

Shows the contents of script.

[Source]

     # File sievectl, line 191
191:   def show(script)
192:     raise ArgumentError, "`show' requires a script name" unless script
193:     puts @manage_sieve.get_script(script)
194:   end

[Validate]