Sha256: 6b507dc98f6c884e1ba4a3c0bbcb5f87679d1b93d52d5dc8e7bb2849a75542ef

Contents?: true

Size: 1.28 KB

Versions: 8

Compression:

Stored size: 1.28 KB

Contents

module D3
  class SymbolGenerator
    include D3::Native

    def call(*args)
      @native.call(*args)
    end

    attribute_d3_block :size

    def type(new_value=`undefined`, &block)
      if block_given?
        @native.JS.type{|*args| yield(*args).to_n}
        self
      elsif `new_value === undefined`
        D3::SymbolType.new @native.JS.type
      else
        @native.JS.type(new_value.to_n)
        self
      end
    end

    def type=(new_value)
      @native.type(new_value.to_n)
      self
    end
  end

  class SymbolType
    include D3::Native
  end

  class << self
    def symbol
      D3::SymbolGenerator.new @d3.JS.symbol
    end

    def symbols
      `window.d3.symbols`.map{|st| D3::SymbolType.new(st)}
    end

    def symbol_circle
      D3::SymbolType.new `window.d3.symbolCircle`
    end

    def symbol_cross
      D3::SymbolType.new `window.d3.symbolCross`
    end

    def symbol_diamond
      D3::SymbolType.new `window.d3.symbolDiamond`
    end

    def symbol_square
      D3::SymbolType.new `window.d3.symbolSquare`
    end

    def symbol_star
      D3::SymbolType.new `window.d3.symbolStar`
    end

    def symbol_triangle
      D3::SymbolType.new `window.d3.symbolTriangle`
    end

    def symbol_wye
      D3::SymbolType.new `window.d3.symbolWye`
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
hyper-d3-1.0.0.lap28 lib/d3/symbol.rb
hyper-d3-1.0.0.lap27 lib/d3/symbol.rb
hyper-d3-1.0.0.lap26 lib/d3/symbol.rb
hyper-d3-1.0.0.lap25 lib/d3/symbol.rb
hyper-d3-1.0.0.lap24 lib/d3/symbol.rb
hyper-d3-1.0.0.lap23 lib/d3/symbol.rb
opal-d3-0.0.20170822 lib/opal/d3/symbol.rb
opal-d3-0.0.20170205 lib/opal/d3/symbol.rb