Sha256: 71714c33fc49fdf8b38bbe72191d61f6184a020fb746a21c8917ba9cbc7de33c

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

module Savage
  module Directions
    Point = Struct.new :x, :y
  end

  class Direction

    include Utils
    include Transformable

    def initialize(absolute)
      @absolute = absolute
    end

    def absolute?
      @absolute
    end

    def relative?
      !absolute?
    end

    def to_command
      arr = to_a
      arr.map! do |x|
        x.to_i == x ? x.to_i : x
      end
      arr[0] + arr[1..-1].join(' ').gsub(/ -/,'-')
    end
  end
end

require File.dirname(__FILE__) + "/directions/close_path"
require File.dirname(__FILE__) + "/directions/coordinate_target"
require File.dirname(__FILE__) + "/directions/horizontal_to"
require File.dirname(__FILE__) + "/directions/vertical_to"
require File.dirname(__FILE__) + "/directions/point_target"
require File.dirname(__FILE__) + "/directions/move_to"
require File.dirname(__FILE__) + "/directions/line_to"
require File.dirname(__FILE__) + "/directions/quadratic_curve_to"
require File.dirname(__FILE__) + "/directions/cubic_curve_to"
require File.dirname(__FILE__) + "/directions/arc_to"

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
text2path-0.0.2 lib/ext/savage/lib/savage/direction.rb
text2path-0.0.1 lib/ext/savage/lib/savage/direction.rb