Sha256: 1d1ecb58384314f010f7b216ea5039a6861421fd91460f63191be372d8a3ca9d

Contents?: true

Size: 812 Bytes

Versions: 20

Compression:

Stored size: 812 Bytes

Contents

module Roger
  class Release
    # The Processors namespace
    module Processors
      # Abstract Processor class
      class Base
        def initialize(options = {})
          @options = {}
          @options.update(options) if options
        end

        def call(_release, _options = {})
          fail ArgumentError, "Implement in subclass"
        end
      end

      def self.register(name, processor)
        fail ArgumentError, "Processor name '#{name.inspect}' already in use" if map.key?(name)
        fail ArgumentError, "Name must be a symbol" unless name.is_a?(Symbol)
        map[name] = processor
      end

      def self.map
        @_map ||= {}
      end
    end
  end
end
require File.dirname(__FILE__) + "/processors/mockup"
require File.dirname(__FILE__) + "/processors/url_relativizer"

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
roger-1.6.4 lib/roger/release/processors.rb
roger-1.6.3 lib/roger/release/processors.rb
roger-1.6.2 lib/roger/release/processors.rb
roger-1.6.1 lib/roger/release/processors.rb
roger-1.6.0 lib/roger/release/processors.rb
roger-1.5.0 lib/roger/release/processors.rb
roger-1.4.6 lib/roger/release/processors.rb
roger-1.4.5 lib/roger/release/processors.rb
roger-1.4.4 lib/roger/release/processors.rb
roger-1.4.3 lib/roger/release/processors.rb
roger-1.4.2 lib/roger/release/processors.rb
roger-1.3.5 lib/roger/release/processors.rb
roger-1.4.1 lib/roger/release/processors.rb
roger-1.4.0 lib/roger/release/processors.rb
roger-1.3.4 lib/roger/release/processors.rb
roger-1.3.3 lib/roger/release/processors.rb
roger-1.3.2 lib/roger/release/processors.rb
roger-1.3.0 lib/roger/release/processors.rb
roger-1.2.2 lib/roger/release/processors.rb
roger-1.2.1 lib/roger/release/processors.rb