Gem Version Build Status Code Climate Coverage Status Dependency Status

SimpleProcessor

Rails data batch migrations made easy.

Installation

Add this line to your application's Gemfile:

gem 'simple_processor'

And then execute:

bundle

Or install it yourself as:

gem install simple_processor

Usage

Example of use:

# lib/my_package/processors/concept_processor.rb
module MyPackage
  module Processors
    class ConceptProcessor < SimpleProcessor::BatchProcessor
      processor_handlers :process1_handler, :process2_handler
      processor_model Concept
    end
  end
end

# lib/my_package/handlers/concept_handler.rb
module MyPackage
  module Handlers
    class Process1Handler
      def apply(model)
        # Your business logic!
      end
    end

    class Process2Handler
      def apply(model)
        # Your business logic!
      end
    end
  end
end
# lib/tasks/update_concepts.rake (Option 1: rake task)
task :update_concepts => :environment do
  MyPackage::Processors::ConceptProcessor.new.run
end

# db/data/XXXXXXX_update_concepts.rb (Option 2: data_migration)
class DestroyDuplicateCrops < ActiveRecord::Migration
  def self.up
    ::MyPackage::Processors::ConceptProcessor.new(ar_migration: self).run
  end
  def self.down
    raise IrreversibleMigration
  end
end

Contributing

  1. Fork it ( https://github.com/dsaenztagarro/simple_processor/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Thanks

Thanks to Hola Internet for let me right this kind of tools.