class NewsCrawler::Storage::YAMLStor::YAMLStorEngine

Basic class for YAMLStor engine. Subclass and implement all its method to create new YAMLStor engine, you should keep methods’ singature unchanged

Public Class Methods

get_engines() click to toggle source

Get engine list @return [ Array ] list of url queue engines

# File lib/news_crawler/storage/yaml_stor/yaml_stor_engine.rb, line 35
def self.get_engines
  @engine_list = @engine_list || []
  @engine_list.inject({}) do | memo, klass |
    memo[klass::NAME.intern] = klass
    memo
  end
end
inherited(klass) click to toggle source
# File lib/news_crawler/storage/yaml_stor/yaml_stor_engine.rb, line 29
def self.inherited(klass)
  @engine_list = (@engine_list || []) + [klass]
end

Public Instance Methods

add(module_name, key, value) click to toggle source

Add entry to raw data collection @param [ String ] module_name @param [ String ] key @param [ Object ] value

# File lib/news_crawler/storage/yaml_stor/yaml_stor_engine.rb, line 47
def add(module_name, key, value)
  raise NotImplementedError
end
clear() click to toggle source
# File lib/news_crawler/storage/yaml_stor/yaml_stor_engine.rb, line 63
def clear
  raise NotImplementedError
end
count() click to toggle source
# File lib/news_crawler/storage/yaml_stor/yaml_stor_engine.rb, line 59
def count
  raise NotImplementedError
end
get(module_name, key) click to toggle source

Get entry to raw data collection @param [ String ] module_name @param [ String ] key @return [ Object, nil ] Value or nil if key isn’t found

# File lib/news_crawler/storage/yaml_stor/yaml_stor_engine.rb, line 55
def get(module_name, key)
  raise NotImplementedError
end