Skip to content

holadev/simple_processor

Repository files navigation

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.

About

Rails data batch migrations made easy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages