class Squib::Gap

Attributes

horizontal[R]
vertical[R]

Public Class Methods

new(definition) click to toggle source
# File lib/squib/commands/data/template_option.rb, line 55
def initialize(definition)
  if definition.instance_of? String
    @horizontal, @vertical = expand_shorthand(
      definition.split(/\s+/).map!(&:to_f))
  elsif definition.instance_of? Array
    @horizontal, @vertical = expand_shorthand definition
  elsif definition.is_a? Numeric
    @horizontal, @vertical = definition, definition
  else
    raise ArgumentError, 'Invalid value, must be either string or array'
  end
end

Private Instance Methods

expand_shorthand(gap_arr) click to toggle source
# File lib/squib/commands/data/template_option.rb, line 68
        def expand_shorthand(gap_arr)
  if gap_arr.size >= 2
    gap_arr[0..1]
  elsif gap_arr.size == 1
    gap_arr + gap_arr
  else
    raise ArgumentError, 'Invalid array'
  end
end