class DynamicsCRM::XML::FilterExpression
Represents FilterExpression
XML
fragment.
Attributes
conditions[RW]
filter_operator[RW]
filters[RW]
Public Class Methods
new(operator = 'And')
click to toggle source
# File lib/dynamics_crm/xml/filter_expression.rb, line 7 def initialize(operator = 'And') @filter_operator = operator @conditions = [] @filters = [] end
Public Instance Methods
add_condition(field, operator, value=nil)
click to toggle source
# File lib/dynamics_crm/xml/filter_expression.rb, line 13 def add_condition(field, operator, value=nil) conditions << ConditionExpression.new(field, operator, value) end
add_filter(filter)
click to toggle source
# File lib/dynamics_crm/xml/filter_expression.rb, line 17 def add_filter(filter) filters << filter end
to_xml(options = {})
click to toggle source
# File lib/dynamics_crm/xml/filter_expression.rb, line 21 def to_xml(options = {}) ns = options[:namespace] ? options[:namespace] : 'b' query_xml = %( <#{ns}:FilterExpression> #{conditions_xml(options)} <#{ns}:FilterOperator>#{@filter_operator}</#{ns}:FilterOperator> #{filters_xml(options)} </#{ns}:FilterExpression> ) query_xml end
Protected Instance Methods
conditions_xml(options)
click to toggle source
# File lib/dynamics_crm/xml/filter_expression.rb, line 37 def conditions_xml(options) ns = options[:namespace] ? options[:namespace] : 'b' if conditions.empty? "<#{ns}:Conditions />" else xml = conditions.map { |c| c.to_xml(options) }.join('') %(<#{ns}:Conditions> #{xml} </#{ns}:Conditions>) end end
filters_xml(options)
click to toggle source
# File lib/dynamics_crm/xml/filter_expression.rb, line 50 def filters_xml(options) ns = options[:namespace] ? options[:namespace] : 'b' if filters.empty? "<#{ns}:Filters />" else sub_filters = filters.map { |f| f.to_xml(options) }.join('') %(<#{ns}:Filters> #{sub_filters} </#{ns}:Filters>) end end