Sha256: 7373fe50f85739d67cca35f538237665bfb015561922f71d0483e5ee85db834c

Contents?: true

Size: 777 Bytes

Versions: 3

Compression:

Stored size: 777 Bytes

Contents

class RectException < RuntimeError
end

class GraphViz
  class Types
    class Rect < Common
      FLOAT_MASK = /[-+]?(?:[0-9]*\.[0-9]+|[0-9]+)/
      RECT_FINAL_MASK = /#{FLOAT_MASK}\s*,\s*#{FLOAT_MASK}\s*,\s*#{FLOAT_MASK}\s*,\s*#{FLOAT_MASK}/

      def check(data)
        if data.is_a?(String) and RECT_FINAL_MASK.match(data)
           @to_ruby = data.split(",").map{ |e| e.to_f }
           return data
        end
        if data.is_a?(Array)
           return check(data.join(","))
        end

        raise RectException, "Invalid rect value"
      end
      
      def output
        return @data.to_s.inspect.gsub( "\\\\", "\\" )
      end
      
      alias :to_gv :output
      alias :to_s :output

      def to_ruby
         @to_ruby
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ruby-graphviz-1.0.3 lib/graphviz/types/rect.rb
ruby-graphviz-1.0.2 lib/graphviz/types/rect.rb
ruby-graphviz-1.0.1 lib/graphviz/types/rect.rb