Class: Sem4r::TargetingIdeaSelector
Instance Method Summary
collapse
#_from_element, #_to_s, #_to_xml, included
Constructor Details
Returns a new instance of TargetingIdeaSelector.
155
156
157
158
159
160
|
# File 'lib/sem4r/targeting_idea/targeting_idea_selector.rb', line 155
def initialize(&block)
@search_parameters = []
if block_given?
block.arity < 1 ? instance_eval(&block) : block.call(self)
end
end
|
Instance Method Details
#country_target_search_parameter(&block) ⇒ Object
175
176
177
|
# File 'lib/sem4r/targeting_idea/targeting_idea_selector.rb', line 175
def country_target_search_parameter(&block)
@search_parameters << CountryTargetSearchParameter.new(&block)
end
|
#excluded_keyword_search_parameter(&block) ⇒ Object
167
168
169
|
# File 'lib/sem4r/targeting_idea/targeting_idea_selector.rb', line 167
def excluded_keyword_search_parameter(&block)
@search_parameters << ExcludedKeywordSearchParameter.new(&block)
end
|
#keyword_match_type_search_parameter(&block) ⇒ Object
171
172
173
|
# File 'lib/sem4r/targeting_idea/targeting_idea_selector.rb', line 171
def keyword_match_type_search_parameter(&block)
@search_parameters << KeywordMatchTypeSearchParameter.new(&block)
end
|
#ngram_group_search_parameter(&block) ⇒ Object
179
180
181
|
# File 'lib/sem4r/targeting_idea/targeting_idea_selector.rb', line 179
def ngram_group_search_parameter(&block)
@search_parameters << NgramGroupsSearchParameter.new(&block)
end
|
TODO: synthetize following methods with metaprogramming
163
164
165
|
# File 'lib/sem4r/targeting_idea/targeting_idea_selector.rb', line 163
def related_to_keyword_search_parameter(&block)
@search_parameters << RelatedToKeywordSearchParameter.new(&block)
end
|
#to_xml ⇒ Object
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
|
# File 'lib/sem4r/targeting_idea/targeting_idea_selector.rb', line 183
def to_xml
xml=" <s:selector>\n <s:ideaType>\#{@idea_type}</s:ideaType>\n <s:requestType>\#{@request_type}</s:requestType>\n EOFS\n xml += @search_parameters.collect{ |sp| sp.to_xml }.join()\n if requested_attributes\n requested_attributes.each do |requested_attribute|\n xml += <<-EOS\n <s:requestedAttributeTypes>\#{requested_attribute.to_s.upcase}</s:requestedAttributeTypes>\n EOS\n end\n end\n xml+=<<-EOFS\n <s:paging>\n <startIndex>\#{start_index || 0}</startIndex>\n <numberResults>\#{number_results || 100}</numberResults>\n </s:paging>\n </s:selector>\n EOFS\n xml\n\nend\n"
|