lib/squib/commands/data/template_option.rb in squib-0.15.0 vs lib/squib/commands/data/template_option.rb in squib-0.15.1
- old
+ new
@@ -1,109 +1,109 @@
-module Squib
- class Margin
- attr_reader :top
- attr_reader :right
- attr_reader :bottom
- attr_reader :left
-
- ##
- # Create a new margin definition.
- #
- # Takes +definition+ which can either be a space-separated +String+ or an
- # +Array+ of +Float+ and will translate it to the top, right, bottom and
- # left members.
- #
- # The syntax follows how CSS parses margin shorthand strings.
- def initialize(definition)
- if definition.instance_of? String
- @top, @right, @bottom, @left = expand_shorthand(
- definition.split(/\s+/).map!(&:to_f))
- elsif definition.is_a? Numeric
- @top, @right, @bottom, @left = expand_shorthand [definition]
- elsif definition.instance_of? Array
- @top, @right, @bottom, @left = expand_shorthand definition
- else
- raise ArgumentError, 'Invalid value, must be either string or array'
- end
- end
-
- ##
- # Map out the margin array.
- #
- # Takes +margin_arr+ and attempt to expand it to a strict [top, right,
- # bottom, left] array.
- private def expand_shorthand(margin_arr)
- if margin_arr.size == 1
- all = margin_arr[0]
- [all, all, all, all]
- elsif margin_arr.size == 2
- margin_arr + margin_arr
- elsif margin_arr.size == 3
- margin_arr + [margin_arr[1]]
- elsif margin_arr.size >= 4
- margin_arr[0..3]
- else
- raise ArgumentError, 'Invalid array'
- end
- end
- end
-
-
- class Gap
- attr_reader :horizontal
- attr_reader :vertical
-
- 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 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
- end
-
-
- class TemplateOption
- attr_accessor :unit
- attr_accessor :sheet_width
- attr_accessor :sheet_height
- attr_writer :sheet_margin
- attr_accessor :sheet_align
- attr_accessor :card_width
- attr_accessor :card_height
- attr_writer :card_gap
- attr_accessor :card_ordering
- attr_accessor :output_file
- attr_accessor :crop_lines
-
- def sheet_margin
- if not @sheet_margin.instance_of? Margin
- @sheet_margin = Margin.new @sheet_margin
- else
- @sheet_margin
- end
- end
-
- def card_gap
- if not @card_gap.instance_of? Gap
- @card_gap = Gap.new @card_gap
- else
- @card_gap
- end
- end
- end
-end
+module Squib
+ class Margin
+ attr_reader :top
+ attr_reader :right
+ attr_reader :bottom
+ attr_reader :left
+
+ ##
+ # Create a new margin definition.
+ #
+ # Takes +definition+ which can either be a space-separated +String+ or an
+ # +Array+ of +Float+ and will translate it to the top, right, bottom and
+ # left members.
+ #
+ # The syntax follows how CSS parses margin shorthand strings.
+ def initialize(definition)
+ if definition.instance_of? String
+ @top, @right, @bottom, @left = expand_shorthand(
+ definition.split(/\s+/).map!(&:to_f))
+ elsif definition.is_a? Numeric
+ @top, @right, @bottom, @left = expand_shorthand [definition]
+ elsif definition.instance_of? Array
+ @top, @right, @bottom, @left = expand_shorthand definition
+ else
+ raise ArgumentError, 'Invalid value, must be either string or array'
+ end
+ end
+
+ ##
+ # Map out the margin array.
+ #
+ # Takes +margin_arr+ and attempt to expand it to a strict [top, right,
+ # bottom, left] array.
+ private def expand_shorthand(margin_arr)
+ if margin_arr.size == 1
+ all = margin_arr[0]
+ [all, all, all, all]
+ elsif margin_arr.size == 2
+ margin_arr + margin_arr
+ elsif margin_arr.size == 3
+ margin_arr + [margin_arr[1]]
+ elsif margin_arr.size >= 4
+ margin_arr[0..3]
+ else
+ raise ArgumentError, 'Invalid array'
+ end
+ end
+ end
+
+
+ class Gap
+ attr_reader :horizontal
+ attr_reader :vertical
+
+ 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 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
+ end
+
+
+ class TemplateOption
+ attr_accessor :unit
+ attr_accessor :sheet_width
+ attr_accessor :sheet_height
+ attr_writer :sheet_margin
+ attr_accessor :sheet_align
+ attr_accessor :card_width
+ attr_accessor :card_height
+ attr_writer :card_gap
+ attr_accessor :card_ordering
+ attr_accessor :output_file
+ attr_accessor :crop_lines
+
+ def sheet_margin
+ if not @sheet_margin.instance_of? Margin
+ @sheet_margin = Margin.new @sheet_margin
+ else
+ @sheet_margin
+ end
+ end
+
+ def card_gap
+ if not @card_gap.instance_of? Gap
+ @card_gap = Gap.new @card_gap
+ else
+ @card_gap
+ end
+ end
+ end
+end