Sha256: 4f0bb1e0851ef9ba2d7f5f2ef41ab309afec662e38fa2be143de25bbd6374a84

Contents?: true

Size: 1.51 KB

Versions: 22

Compression:

Stored size: 1.51 KB

Contents

module Epuber
  class CheckerTransformerBase

    # Type of source value for this checker, valid values are:
    #    :result_text_xhtml_string     just before writing result xhtml to build folder
    #
    # @return [Symbol]
    #
    attr_reader :source_type

    # List of options/flags passed in from plugin instance
    #
    # @return [Array<Symbol>]
    #
    attr_reader :options

    # @return [Proc]
    #
    attr_reader :block


    # @param [Symbol] type type of checker, see #type
    # @param [Array<Symbol>] options list of other arguments, usually flags
    #
    def initialize(type, *options, &block)
      @source_type = type
      @block = block

      valid_options_inst = valid_options
      options.each do |opt|
        raise "Unknown option #{opt.inspect}" unless valid_options_inst.include?(opt)
      end
      @options = options
    end

    # @return [Array<Symbol>]
    #
    def valid_options
      [:run_only_before_release]
    end



    def call(*args)
      raise NotImplementedError, 'You should override this method'
    end



    # ------------------------------------------------------------------ #
    # @group Registration

    # @return [Hash<Symbol, Class>]
    #
    def self.map_source_type__class
      {}
    end


    # @param type [Symbol]
    #
    # @return [Class]
    #
    def self.class_for_source_type(type)
      checker_class = self.map_source_type__class[type]
      raise "#{self} class not found for type: #{type.inspect}" if checker_class.nil?
      checker_class
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
epuber-0.6.0 lib/epuber/checker_transformer_base.rb
epuber-0.5.7 lib/epuber/checker_transformer_base.rb
epuber-0.5.6 lib/epuber/checker_transformer_base.rb
epuber-0.5.5 lib/epuber/checker_transformer_base.rb
epuber-0.5.4 lib/epuber/checker_transformer_base.rb
epuber-0.5.3 lib/epuber/checker_transformer_base.rb
epuber-0.5.2 lib/epuber/checker_transformer_base.rb
epuber-0.5.1 lib/epuber/checker_transformer_base.rb
epuber-0.5.0 lib/epuber/checker_transformer_base.rb
epuber-0.5.0.beta.5 lib/epuber/checker_transformer_base.rb
epuber-0.5.0.beta.4 lib/epuber/checker_transformer_base.rb
epuber-0.5.0.beta.3 lib/epuber/checker_transformer_base.rb
epuber-0.5.0.beta.2 lib/epuber/checker_transformer_base.rb
epuber-0.5.0.beta lib/epuber/checker_transformer_base.rb
epuber-0.4.0 lib/epuber/checker_transformer_base.rb
epuber-0.3.12 lib/epuber/checker_transformer_base.rb
epuber-0.3.11 lib/epuber/checker_transformer_base.rb
epuber-0.3.10 lib/epuber/checker_transformer_base.rb
epuber-0.3.9 lib/epuber/checker_transformer_base.rb
epuber-0.3.7 lib/epuber/checker_transformer_base.rb