Sha256: e4264c8b1beca3f4cbfe63e5974b21a9dc071e65c6d3934cca8ef09de21ab747

Contents?: true

Size: 770 Bytes

Versions: 14

Compression:

Stored size: 770 Bytes

Contents

module Patriot
  module JobStore
    # a moulde for a factory method of JobStores
    module Factory
      # create JobStore for given store_id based on the configuration
      # @param store_id [String] JobStore ID to identify configuration parameters
      # @param config [Patriot::Util::Config::Base] configuration to create a JobStore
      # @return [Patriot::JobStore::Base]
      def create_jobstore(store_id, config)
        cls = config.get([Patriot::JobStore::CONFIG_PREFIX, store_id, "class"].join("."))
        # TODO set default store
        raise "class for job store #{store_id} is not specified" if cls.nil?
        job_store = eval(cls).new(store_id, config)
        return job_store
      end
      module_function :create_jobstore
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
patriot-workflow-scheduler-0.8.8 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.8.7 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.8.6 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.8.5 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.8.4 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.8.3 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.8.2 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.8.1 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.8.0 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.7.2 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.7.1 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.7.0 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.6.2 lib/patriot/job_store/factory.rb
patriot-workflow-scheduler-0.6.1 lib/patriot/job_store/factory.rb