Module: Enable
- Included in:
- Parser
- Defined in:
- lib/fly_parser/enable_source.rb
Overview
add new parser source here
Instance Method Summary
collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(meth, *args) ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/fly_parser/enable_source.rb', line 30
def method_missing(meth, *args)
prefix = "enable_"
meth = meth.to_s
if meth.start_with?(prefix)
meth_name = meth.split(prefix).last
proc = send(meth_name, *args)
iterate_sources(*args, proc)
else
raise "Unknown method #{meth} in Enable class, ssory !"
end
end
|
Instance Method Details
#fitness(source) ⇒ Object
3
4
5
6
7
8
|
# File 'lib/fly_parser/enable_source.rb', line 3
def fitness(source)
lambda do |item|
item["parser"] = Parser::Exercise.new(item["url"], source: source) and next if item["type"] == "exercises"
item["parser"] = Parser::Fitness.new(item["url"], source: source)
end
end
|
#iterate_sources(source, block) ⇒ Object
42
43
44
|
# File 'lib/fly_parser/enable_source.rb', line 42
def iterate_sources(source, block)
source["items"].each(&block)
end
|
#local(source) ⇒ Object
14
15
16
|
# File 'lib/fly_parser/enable_source.rb', line 14
def local(source)
lambda { |item| item["parser"] = Parser::News.new(item["file"], {type: :file, source: source}) }
end
|
#news(source) ⇒ Object
10
11
12
|
# File 'lib/fly_parser/enable_source.rb', line 10
def news(source)
lambda { |item| item["parser"] = Parser::News.new(item["url"], source: source) }
end
|
#news_az(source) ⇒ Object
26
27
28
|
# File 'lib/fly_parser/enable_source.rb', line 26
def news_az(source)
lambda {|item| item["parser"] = Parser::NewsAZ.new(item["url"], source: source)}
end
|
#news_fr(source) ⇒ Object
22
23
24
|
# File 'lib/fly_parser/enable_source.rb', line 22
def news_fr(source)
lambda {|item| item["parser"] = Parser::NewsFr.new(item["url"], source: source)}
end
|
#news_nl(source) ⇒ Object
18
19
20
|
# File 'lib/fly_parser/enable_source.rb', line 18
def news_nl(source)
lambda { |item| item["parser"] = Parser::NewsNl.new(item["url"], source: source) }
end
|