class Kirico::SpaceDividerValidator

Constants

BOTH_WIDTH_SPACE_RULE
CHECKS
FULL_WIDTH_SPACE_RULE
HALF_WIDTH_SPACE_RULE

Public Class Methods

regexp(space_divider_rule) click to toggle source
# File lib/kirico/validators/space_divider_validator.rb, line 30
def self.regexp(space_divider_rule)
  /\A[^\p{blank}]+(#{space_divider_rule}[^\p{blank}]+)+\z/
end

Public Instance Methods

check_validity!() click to toggle source
# File lib/kirico/validators/space_divider_validator.rb, line 40
def check_validity!
  raise ArgumentError, "Invalid space option #{space_option}. Specify the :full_width, half_width, or :both_width." unless CHECKS.keys.include?(space_option)
end
validate_each(record, attribute, value) click to toggle source
# File lib/kirico/validators/space_divider_validator.rb, line 44
def validate_each(record, attribute, value)
  record.errors.add(attribute, (options[:message] || :invalid_space_divider), space_type: space_type_i18n) if value.to_s !~ CHECKS[space_option]
end

Private Instance Methods

space_option() click to toggle source
# File lib/kirico/validators/space_divider_validator.rb, line 50
def space_option
  options[:space] || :both_width
end
space_type_i18n() click to toggle source
# File lib/kirico/validators/space_divider_validator.rb, line 54
def space_type_i18n
  I18n.t('space_type')[space_option]
end