y4ashida/rbplotly

View on GitHub
lib/plotly/marker.rb

Summary

Maintainability
A
0 mins
Test Coverage
require 'plotly/castable'
require 'plotly/line'

module Plotly
  class Marker
    include Castable

    ATTRS = %i(size color opacity line).freeze
    attr_accessor(*ATTRS)

    # @option opts [Fixnum] size
    # @option opts [String] color e.g.'rgba(0, 0, 200, .5)'
    # @option opts [Hash or Plotly::Line] line
    def initialize(opts)
      return unless opts.is_a?(Hash)

      opts.each do |k, v|
        v.convert_to(Plotly::Line) if k.to_sym == :line
        instance_variable_set("@#{k}", v)
      end
    end
  end
end