Class Yapra::Plugin::MechanizeBase
In: lib/yapra/plugin/mechanize_base.rb
Parent: Yapra::Plugin::Base

Methods

Public Instance methods

[Source]

   # File lib/yapra/plugin/mechanize_base.rb, line 6
6:   def agent
7:     pipeline.context['mechanize_agent'] ||= WWW::Mechanize.new
8:     pipeline.context['mechanize_agent']
9:   end

[Source]

    # File lib/yapra/plugin/mechanize_base.rb, line 11
11:   def extract_attribute_from element, item, binding=nil
12:     if plugin_config['extract_xpath']
13:       plugin_config['extract_xpath'].each do |k, v|
14:         value = nil
15:         case v.class.to_s
16:         when 'String'
17:           value = element.search(v).to_html.toutf8
18:         when 'Hash'
19:           ele = element.at( v['first_node'] )
20:           value = ( ele.nil? ) ? nil : ele.get_attribute( v['attr'] )
21:         end
22:         set_attribute_to item, k, value
23:       end
24:     end
25: 
26:     if plugin_config['apply_template_after_extracted']
27:       plugin_config['apply_template_after_extracted'].each do |k, template|
28:         value = apply_template template, binding
29:         set_attribute_to item, k, value
30:       end
31:     end
32:   end

[Validate]