class Line::Message::Builder::Validators::Size
Validate size values for LINE messages.
Constants
- IMAGE_KEYWORDS
- KEYWORDS
- PERCENTAGE_REGEX
- PIXEL_REGEX
- VARIANTS
Public Class Methods
Source
# File lib/line/message/builder/validators/size.rb, line 15 def initialize(*variants) @variants = variants & VARIANTS end
Public Instance Methods
Source
# File lib/line/message/builder/validators/size.rb, line 33 def image?(value) IMAGE_KEYWORDS.include?(value.to_sym) end
Source
# File lib/line/message/builder/validators/size.rb, line 29 def keyword?(value) KEYWORDS.include?(value.to_sym) end
Source
# File lib/line/message/builder/validators/size.rb, line 37 def percentage?(value) value.to_s.match?(PERCENTAGE_REGEX) end
Source
# File lib/line/message/builder/validators/size.rb, line 25 def pixel?(value) value.to_s.match?(PIXEL_REGEX) end
Source
# File lib/line/message/builder/validators/size.rb, line 41 def valid!(value) return if valid?(value) raise ValidationError, "Invalid value: #{value}. " \ "Expected one of: #{VARIANTS.join(", ")}" end
Source
# File lib/line/message/builder/validators/size.rb, line 19 def valid?(value) @variants.any? do |variant| send("#{variant}?", value) end end