Class: CatalogRuleService
- Inherits:
-
Object
- Object
- CatalogRuleService
- Defined in:
- lib/api/catalogrule/CatalogRuleService.rb
Overview
CatalogRuleService
This class provides a facade for SOAP method calls to the ZXTM Virtual Server web service.
Instance Attribute Summary collapse
-
#driver ⇒ Object
Returns the value of attribute driver.
Instance Method Summary collapse
-
#copy(name, new_name) ⇒ Object
Copies a rule.
-
#create(name, text) ⇒ Object
Creates a new rule.
-
#delete(name) ⇒ Object
Deletes a rule.
-
#details(name) ⇒ Object
Fetches details about a rule.
-
#errors(text) ⇒ Object
Returns a list of errors for the rule.
-
#initialize(endpoint = nil, username = nil, password = nil) ⇒ CatalogRuleService
constructor
A new instance of CatalogRuleService.
-
#list ⇒ Object
List rules by name.
-
#note(name, note = nil) ⇒ Object
Sets or returns the note for a rule.
-
#rename(name, new_name) ⇒ Object
Renames a rule.
-
#text(name, text = nil) ⇒ Object
Sets or returns the text for a rule.
-
#valid?(text) ⇒ Boolean
Checks whether the text of a rule is valid TrafficScript.
-
#warnings(text) ⇒ Object
Returns a list of warnings for the rule.
Constructor Details
#initialize(endpoint = nil, username = nil, password = nil) ⇒ CatalogRuleService
Returns a new instance of CatalogRuleService.
12 13 14 15 16 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 12 def initialize(endpoint=nil, username=nil, password=nil) @driver = CatalogRulePort.new(endpoint) @driver.["protocol.http.ssl_config.verify_mode"] = OpenSSL::SSL::VERIFY_NONE @driver.["protocol.http.basic_auth"] << [endpoint, username, password] end |
Instance Attribute Details
#driver ⇒ Object
Returns the value of attribute driver.
10 11 12 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 10 def driver @driver end |
Instance Method Details
#copy(name, new_name) ⇒ Object
Copies a rule
Args
name (String) - Name of current rule
new_name (String) - Name of new rule
Examples
copy(name, new_name) - Copies rule called "name" to a new rule, called "new_name"
100 101 102 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 100 def copy(name, new_name) @driver.copyRule([name], [new_name]) end |
#create(name, text) ⇒ Object
Creates a new rule
Args
name (String) - Rule name
text (String) - Rule text
Examples
create("route-traffic", ["text_of_rule"]) - Creates new rule called "route-traffic" with text of rule as supplied.
27 28 29 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 27 def create(name, text) @driver.addRule([name], [text]) end |
#delete(name) ⇒ Object
Deletes a rule
Args
name (String) - Name of rule
Examples
delete(name) - Deletes rule called "name"
112 113 114 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 112 def delete(name) @driver.deleteRule([name]) end |
#details(name) ⇒ Object
Fetches details about a rule
Args
name (String) - Name of rule
Returns
Examples
details(name) - returns CatalogRuleRuleInfo object for rule
126 127 128 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 126 def details(name) @driver.getRuleDetails([name]).first end |
#errors(text) ⇒ Object
Returns a list of errors for the rule
Args
text (String) - Rule text
Returns
errors (Array) - Array of errors
Examples
errors("text_of_rule")
70 71 72 73 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 70 def errors(text) res = @driver.checkSyntax([text]) return res.first.errors end |
#list ⇒ Object
List rules by name
Args
None
Examples
list - Returns a list of rule names
39 40 41 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 39 def list @driver.getRuleNames end |
#note(name, note = nil) ⇒ Object
Sets or returns the note for a rule
name (String) - Name of rule
note (String) - Text of note
Examples
note(name, note) - Sets the note for a rule called "name"
note(name) - Returns the note for the rule "name"
149 150 151 152 153 154 155 156 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 149 def note(name, note=nil) if note.nil? details(name).rule_notes else @driver.setRuleNotes([name], [note]) end end |
#rename(name, new_name) ⇒ Object
Renames a rule
name (String) - Name of current rule
new_name (String) - Name of new rule
Examples
rename(name, new_name) - Copies rule called "name" to a new rule, called "new_name"
137 138 139 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 137 def rename(name, new_name) @driver.renameRule([name], [new_name]) end |
#text(name, text = nil) ⇒ Object
Sets or returns the text for a rule
name (String) - Name of rule
text (String) - Text of rule
Examples
text(name, text) - Sets the text for a rule called "name"
text(name) - Returns the text for the rule "name"
166 167 168 169 170 171 172 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 166 def text(name, text=nil) if text.nil? details(name).rule_text else @driver.setRuleText([name], [text]) end end |
#valid?(text) ⇒ Boolean
Checks whether the text of a rule is valid TrafficScript
Args
text (String) - Rule text
Returns
valid (boolean) - True if valid
Examples
valid?("text_of_rule") - Calls a check on the rule, returns boolean
54 55 56 57 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 54 def valid?(text) res = @driver.checkSyntax([text]) return res.first.valid end |
#warnings(text) ⇒ Object
Returns a list of warnings for the rule
Args
text (String) - Rule text
Returns
warnings (Array) - Array of errors
Examples
warnings("text_of_rule")
86 87 88 89 |
# File 'lib/api/catalogrule/CatalogRuleService.rb', line 86 def warnings(text) res = @driver.checkSyntax([text]) return res.first.warnings end |