Sha256: 8e7969ea931d0df6a03819b1e598fc0fe3f08677d6a9c27db89b1ab988b2ca95
Contents?: true
Size: 970 Bytes
Versions: 2
Compression:
Stored size: 970 Bytes
Contents
module Cucumber module CucumberExpressions class Parameter attr_reader :type_name, :type, :capture_group_regexps # Create a new Parameter # # @param type_name [Array] array of class or type name to use in {arg:type_name} # @param capture_group_regexps [Array] list of regexps for capture groups. # @param transformer lambda that transforms a String to (possibly) another type # def initialize(type_name, type, capture_group_regexps, transformer) @type_name, @type, @transformer = type_name, type, transformer @capture_group_regexps = string_array(capture_group_regexps) end def transform(value) @transformer.call(value) end private def string_array(capture_group_regexps) array = capture_group_regexps.is_a?(Array) ? capture_group_regexps : [capture_group_regexps] array.map { |r| r.is_a?(String) ? r : r.source } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cucumber-expressions-2.0.1 | lib/cucumber/cucumber_expressions/parameter.rb |
cucumber-expressions-2.0.0 | lib/cucumber/cucumber_expressions/parameter.rb |