Sha256: f1d345cc76ac016e05447c6b73ff117c02bbb3f49d1407ee0bb54710d942bc58
Contents?: true
Size: 924 Bytes
Versions: 34
Compression:
Stored size: 924 Bytes
Contents
# frozen_string_literal: true require 'eac_ruby_utils/core_ext' EacRubyUtils.require_sub __FILE__ module Avm module Scms module AutoCommit module Rules RULES_CLASSES = %w[last manual new nth unique] .map { |key| ::Avm::Scms::AutoCommit::Rules.const_get(key.camelcase) } class << self # @return [Array<Avm::Scms::AutoCommit::Rules>] def all RULES_CLASSES end def parse(string) parts = string.split(':') klass = rule_class_by_key(parts.shift) klass.new(*parts) end def rule_class_by_key(key) RULES_CLASSES.find { |klass| klass.keys.include?(key) } || raise("Rule not find with key \"#{key}\" (Available: " \ "#{RULES_CLASSES.flat_map(&:keys).join(', ')})") end end end end end end
Version data entries
34 entries across 34 versions & 2 rubygems