Sha256: 2148c635c0025a8ed043c914bc20f778eb3dd5578a3c29ff0a96c6df2c026cba
Contents?: true
Size: 871 Bytes
Versions: 3
Compression:
Stored size: 871 Bytes
Contents
# frozen_string_literal: true module Phlexi module Form module FieldOptions module Pattern def pattern(pattern = nil) if pattern.nil? options[:pattern] = options.fetch(:pattern) { calculate_pattern } else options[:pattern] = pattern self end end private def calculate_pattern if (pattern_validator = find_pattern_validator) && (with = pattern_validator.options[:with]) evaluate_format_validator_option(with).source end end def find_pattern_validator find_validator(:format) end def evaluate_format_validator_option(option) if option.respond_to?(:call) option.call(object) else option end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
phlexi-form-0.3.0 | lib/phlexi/form/field_options/pattern.rb |
phlexi-form-0.3.0.rc1 | lib/phlexi/form/field_options/pattern.rb |
phlexi-form-0.2.0 | lib/phlexi/form/field_options/pattern.rb |