Sha256: 7769bef7035eb866b1b73ddaa9f3f318b58b02aeb595b155e81debd8d96d1f60
Contents?: true
Size: 1.47 KB
Versions: 1
Compression:
Stored size: 1.47 KB
Contents
# frozen_string_literal: true require 'rast/rules/rule_evaluator' # CaseFixture.java, containing an actual and specific combination of variables. class RastSpec # token_converter is the mapping of a variable token to a converter # converters is a list of converters used via positional tokens. attr_reader :variables, :pair, :pair_reversed, :rule, :description, :exclude_clause, :token_converter, :converters attr_accessor :exclude def initialize(description: '', variables: [][], rule: nil) @description = description @variables = variables @pair = {} @pair_reversed = {} @rule = rule @exclude_clause = nil end def init_pair(pair_config: {}) @pair[pair_config.keys.first.to_s] = pair_config.values.first.to_s array = [@pair.to_a.first.reverse].first @pair_reversed = { array.first.to_s => array.last } self end def init_converters(converters: []) @converters = converters @token_converter = {} @variables.keys.each_with_index do |key, index| @variables[key].each do |element| converter = RuleEvaluator::DEFAULT_CONVERT_HASH[element.class] || converters[index] @token_converter[element.to_s] = converter end end self end def init_exclusion(exclude_clause) @exclude_clause = exclude_clause self end def to_s "Class: #{self.class} Description: #{@description} Variables: #{@variables} Rules: #{@rules} Pair: #{@pair} Converters: #{@converters} " end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rast-0.15.1 | lib/rast/rast_spec.rb |