class Scruber::Core::Extensions::Loop
Helper for reading dictionaries. @example Adding dictionary and reading it
Scruber.run :sample do add_dictionary :zip_codes_usa, Scruber.root.join('dict', 'zip_codes_usa.csv'), :csv seed do loop :zip_codes_usa, state: 'NY' do |row| get 'https://example.com/by_zip/'+row['zip'].to_s end end end
@author Ivan Goncharov
Public Class Methods
_registered_dictionaries()
click to toggle source
# File lib/scruber/core/extensions/loop.rb, line 65 def _registered_dictionaries @registered_dictionaries ||= {} end
add_dictionary(name, file_path, file_type)
click to toggle source
# File lib/scruber/core/extensions/loop.rb, line 58 def add_dictionary(name, file_path, file_type) _registered_dictionaries[name.to_sym] = { file_path: file_path, file_type: file_type } end
loop(dictionary, options={}) { |obj| ... }
click to toggle source
# File lib/scruber/core/extensions/loop.rb, line 48 def loop(dictionary, options={}) if _registered_dictionaries.keys.include?(dictionary.to_sym) Scruber::Helpers::DictionaryReader.read(_registered_dictionaries[dictionary.to_sym][:file_path], _registered_dictionaries[dictionary.to_sym][:file_type], options) do |obj| yield obj end else raise ArgumentError, "dictionary not registered, available dictionaries #{_registered_dictionaries.keys.inspect}" end end