Sha256: 5feb263cc35fc80dec0e0a898d3d3feb6f0115e64a1519ba07edd2cfa6e5dfc2

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

class Rubyvis::Mark
  ##
  # :section: Ruby API
  ##
  
  # Create 
  def self.mark_method(name,mark) #:nodoc:
    define_method(name) do |*args,&block|
      opts=args[0]
      opts||=Hash.new
      if opts[:anchor]
        base=anchor(opts[:anchor])
      else
        base=self
      end
      a=base.add(mark)
      if block
        block.arity<1 ? a.instance_eval(&block) : block.call(a)
      end
    end
  end
  ##
  # :method: area(opts,&block)
  #
  mark_method :area, Rubyvis::Area
  ##
  # :method: bar(opts,&block)
  #
  mark_method :bar, Rubyvis::Bar
  ##
  # :method: dot(opts,&block)
  #
  mark_method :dot, Rubyvis::Dot
  ##
  # :method: _image(opts,&block)
  #
  mark_method :_image, Rubyvis::Image
  ##
  # :method: label(opts,&block)
  #
  mark_method :label, Rubyvis::Label
  ##
  # :method: line(opts,&block)
  #
  mark_method :line, Rubyvis::Line
  ##
  # :method: panel(opts,&block)
  #
  mark_method :panel, Rubyvis::Panel
  ##
  # :method: rule(opts,&block)
  #    
  mark_method :rule, Rubyvis::Rule
  ##
  # :method: wedge(opts,&block)
  #    
  mark_method :wedge, Rubyvis::Rule
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rubyvis-0.2.0 lib/rubyvis/mark/shorcut_methods.rb