Sha256: a9d947a22677230807326118d300bbc5ac9887163d5a552419b31beeff71549f

Contents?: true

Size: 539 Bytes

Versions: 25

Compression:

Stored size: 539 Bytes

Contents

# frozen_string_literal: true

module DecoLite
  # Defines methods validate field (attribute) names.
  module FieldValidatable
    FIELD_NAME_REGEX = %r{\A(?:[a-z_]\w*[?!=]?|\[\]=?|<<|>>|\*\*|[!~+*/%&^|-]|[<>]=?|<=>|={2,3}|![=~]|=~)\z}i

    module_function

    # rubocop:disable Lint/UnusedMethodArgument
    def validate_field_name!(field_name:, options: nil)
      raise "field_name '#{field_name}' is not a valid field name." unless FIELD_NAME_REGEX.match?(field_name)
    end
    # rubocop:enable Lint/UnusedMethodArgument
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
deco_lite-1.5.14 lib/deco_lite/field_validatable.rb
deco_lite-1.5.13 lib/deco_lite/field_validatable.rb
deco_lite-1.5.12 lib/deco_lite/field_validatable.rb
deco_lite-1.5.11 lib/deco_lite/field_validatable.rb
deco_lite-1.5.10 lib/deco_lite/field_validatable.rb
deco_lite-1.5.9 lib/deco_lite/field_validatable.rb
deco_lite-1.5.8 lib/deco_lite/field_validatable.rb
deco_lite-1.5.7 lib/deco_lite/field_validatable.rb
deco_lite-1.5.5 lib/deco_lite/field_validatable.rb
deco_lite-1.5.4 lib/deco_lite/field_validatable.rb
deco_lite-1.5.3 lib/deco_lite/field_validatable.rb
deco_lite-1.5.2 lib/deco_lite/field_validatable.rb
deco_lite-1.5.1 lib/deco_lite/field_validatable.rb
deco_lite-1.5.0 lib/deco_lite/field_validatable.rb
deco_lite-1.4.0 lib/deco_lite/field_validatable.rb
deco_lite-1.3.0 lib/deco_lite/field_validatable.rb
deco_lite-1.2.1 lib/deco_lite/field_validatable.rb
deco_lite-1.2.0 lib/deco_lite/field_validatable.rb
deco_lite-1.1.0 lib/deco_lite/field_validatable.rb
deco_lite-1.0.0 lib/deco_lite/field_validatable.rb