Sha256: 962bfe9dfdad06022e3de4c82376cc3ad4e75f9e14a8a71164e9df2855ec8bc3
Contents?: true
Size: 696 Bytes
Versions: 8
Compression:
Stored size: 696 Bytes
Contents
# frozen_string_literal: true require_relative 'mixins/multivaluable' require_relative '../value_equality' module Shivers module Parts class AlphanumericOrHyphen include ValueEquality include Mixins::Multivaluable def initialize(data = {}) @traits = data[:traits] || [] end def matcher /[a-zA-Z0-9-]+/ end def convert(value) value end def capturable? true end def ==(other) other.class == self.class && other.state == state end alias eql? == def hash [self.class, state].hash end def state [@traits] end end end end
Version data entries
8 entries across 8 versions & 1 rubygems