Class: NewsCrawler::Storage::RawData::RawDataEngine
- Inherits:
-
Object
- Object
- NewsCrawler::Storage::RawData::RawDataEngine
- Defined in:
- lib/news_crawler/storage/raw_data/raw_data_engine.rb
Overview
Basic class for RawData engine. Subclass and implement all its method to create new RawData engine, you should keep methods’ singature unchanged
Direct Known Subclasses
Class Method Summary collapse
-
.get_engines ⇒ Array
Get engine list.
- .inherited(klass) ⇒ Object
Instance Method Summary collapse
-
#add(url, body) ⇒ Object
Add entry to raw data collection.
- #clear ⇒ Object
- #count ⇒ Object
-
#find_by_url(url) ⇒ String?
Find document with correspond url.
Class Method Details
.get_engines ⇒ Array
Get engine list
36 37 38 39 40 41 42 |
# File 'lib/news_crawler/storage/raw_data/raw_data_engine.rb', line 36 def self.get_engines @engine_list = @engine_list || [] @engine_list.inject({}) do | memo, klass | memo[klass::NAME.intern] = klass memo end end |
.inherited(klass) ⇒ Object
30 31 32 |
# File 'lib/news_crawler/storage/raw_data/raw_data_engine.rb', line 30 def self.inherited(klass) @engine_list = (@engine_list || []) + [klass] end |
Instance Method Details
#add(url, body) ⇒ Object
Add entry to raw data collection
47 48 49 |
# File 'lib/news_crawler/storage/raw_data/raw_data_engine.rb', line 47 def add(url, body) raise NotImplementedError end |
#clear ⇒ Object
62 63 64 |
# File 'lib/news_crawler/storage/raw_data/raw_data_engine.rb', line 62 def clear raise NotImplementedError end |
#count ⇒ Object
58 59 60 |
# File 'lib/news_crawler/storage/raw_data/raw_data_engine.rb', line 58 def count raise NotImplementedError end |
#find_by_url(url) ⇒ String?
Find document with correspond url
54 55 56 |
# File 'lib/news_crawler/storage/raw_data/raw_data_engine.rb', line 54 def find_by_url(url) raise NotImplementedError end |