65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
# File 'lib/raspar.rb', line 65
def add(url, selector_map = nil, helper_module = nil, &block)
if self.exist?(url)
raise RasparException.new("Parser already exist for '#{url}'")
end
if selector_map
return DynamicParser.register(url, selector_map, helper_module)
end
klass_name = URI(url).host
.split('.')
.reject{|w| w == 'www'}
.collect{|w| w[0].upcase + w[1..-1] }
.join
.gsub(/\W/, '')
klass = Class.new
klass.send :include, Raspar
klass.domain(url)
klass.class_exec(&block) if block_given?
Raspar.const_set(klass_name, klass)
end
|