Sha256: 5a21fe71ed0fa171129b9cec12473c52c2edf78f19d6e984d92ccceb6a41ac59

Contents?: true

Size: 844 Bytes

Versions: 1

Compression:

Stored size: 844 Bytes

Contents

# frozen_string_literal: true

module DirtySeed
  module Assigners
    # Draws a String matching validators
    class String < Assigner
      include MinMaxHelper

      # Returns a value matching all validators
      # @return [String]
      def value
        regex_value || default
      end

      private

      # Returns a standard string
      # @return [String]
      def default
        faker_value(
          category: :Lorem,
          method: :paragraph_by_chars,
          options: { number: rand(min..max), supplemental: false }
        )
      end

      # Returns a value matching the pattern
      # @note Rescue from unreadable regex
      # @return [String]
      def regex_value
        return unless regex

        regex.random_example
      rescue RegexpExamples::IllegalSyntaxError
        nil
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dirty_seed-0.1.8 lib/dirty_seed/assigners/string.rb