File: custom.rb

package info (click to toggle)
ruby-morpher 0.2.6-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 520 kB
  • sloc: ruby: 2,366; makefile: 4
file content (34 lines) | stat: -rw-r--r-- 732 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
module Morpher
  class Evaluator
    class Transformer < self
      # Custom transformer with external injected behavior
      class Custom < self
        include Nullary::Parameterized, Transitive
        register :custom

        # Call transformer with input
        #
        # @param [Object]
        #
        # @return [undefinedo]
        #
        # @api private
        #
        def call(input)
          param.first.call(input)
        end

        # Return inverse transformer
        #
        # @return [Evaluator::Transformer]
        #
        # @api private
        #
        def inverse
          self.class.new(param.reverse)
        end

      end # Custom
    end # Transformer
  end # Evaluator
end # Morpher