<commit_before># v0.0.9 (not yet released)

* [feature] Make the dispatched name available in Request#name
* [feature] Support definining failure chains

        env = Substation::Environment.build do
          register :evaluate, Substation::Processor::Evaluator
          register :wrap,     Substation::Processor::Wrapper
        end

        class Error
          attr_reader :data
          def initialize(data)
            @data = data
          end

          class ValidationError < self
          end
        end

        chain = env.chain do
          evaluate Vanguard::Validator do
            wrap Errors::ValidationError
          end
          call Some::Action
          wrap Some::Presenter
        end

        env             = Object.new
        invalid_request = Substation::Requet.new(env, :invalid)
        response        = chain.call(invalid_request)

        response.data.instance_of?(Errors::ValidationError)
        # => true

        response.data.data # => the actual vanguard violation set

[Compare v0.0.8..master](https://github.com/snusnu/substation/compare/v0.0.8...master)

# v0.0.8 2013-06-19
<commit_msg>[ci skip] Update the changelog<commit_after># v0.0.9 (not yet released)

* [BREAKING CHANGE] Refactor `Substation::Processor` classes.

  * Renamed `Substation::Processor::Evaluator` to `Substation::Processor::Evaluator::Data`.
  * Renamed `Substation::Processor::Pivot` to `Substation::Processor::Evaluator::Pivot`.
  * Added `Substation::Processor::Evaluator::Request` which passes the complete `Request` instance on to the handler.
  * Added `Substation::Processor::Transformer` to transform response output into any other object.

* [feature] Make the dispatched name available in Request#name

* [feature] Support definining failure chains for incoming processors

        env = Substation::Environment.build do
          register :validate, Substation::Processor::Evaluator::Data
          register :call,     Substation::Processor::Evaluator::Pivot
        end

        class Error
          attr_reader :data
          def initialize(data)
            @data = data
          end

          ValidationError = Class.new(self)
          InternalError   = Class.new(self)
        end

        chain = env.chain do
          validate(Vanguard::Validator) { wrap Error::ValidationError }
          call(Some::Action) { wrap Error::InternalError }
        end

        env             = Object.new
        name            = :some_name
        invalid_request = Substation::Request.new(name, env, :invalid)
        response        = chain.call(invalid_request)

        response.data.instance_of?(Errors::ValidationError)
        # => true

        response.data.data # => the actual vanguard violation set

[Compare v0.0.8..master](https://github.com/snusnu/substation/compare/v0.0.8...master)

# v0.0.8 2013-06-19

{'fraction_non_alphanumeric': 0.10073452256033578, 'fraction_numerical': 0.013990905911157748, 'mean_word_length': 2.4624697336561745, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5642785', 'n_tokens_mistral': 804, 'n_tokens_neox': 765, 'n_words': 191}