Class: Drudgery::Job
- Inherits:
-
Object
- Object
- Drudgery::Job
- Defined in:
- lib/drudgery/job.rb
Instance Method Summary collapse
- #batch_size(size) ⇒ Object
- #extract(*args) {|extractor| ... } ⇒ Object
-
#initialize(options = {}) ⇒ Job
constructor
A new instance of Job.
- #load(*args) {|loader| ... } ⇒ Object
- #perform ⇒ Object
- #transform(transformer = Drudgery::Transformer.new, &processor) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Job
Returns a new instance of Job.
3 4 5 6 7 8 9 10 |
# File 'lib/drudgery/job.rb', line 3 def initialize(={}) @extractor = [:extractor] @loader = [:loader] @transformer = [:transformer] @batch_size = [:batch_size] || 1000 @records = [] end |
Instance Method Details
#batch_size(size) ⇒ Object
12 13 14 |
# File 'lib/drudgery/job.rb', line 12 def batch_size(size) @batch_size = size end |
#extract(*args) {|extractor| ... } ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/drudgery/job.rb', line 16 def extract(*args) if args.first.kind_of?(Symbol) extractor = Drudgery::Extractors.instantiate(*args) else extractor = args.first end yield extractor if block_given? @extractor = extractor end |
#load(*args) {|loader| ... } ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/drudgery/job.rb', line 34 def load(*args) if args.first.kind_of?(Symbol) loader = Drudgery::Loaders.instantiate(*args) else loader = args.first end yield loader if block_given? @loader = loader end |
#perform ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/drudgery/job.rb', line 46 def perform extract_records do |record| @records << record if @records.size == @batch_size load_records end end load_records end |
#transform(transformer = Drudgery::Transformer.new, &processor) ⇒ Object
28 29 30 31 32 |
# File 'lib/drudgery/job.rb', line 28 def transform(transformer=Drudgery::Transformer.new, &processor) transformer.register(processor) @transformer = transformer end |