Sha256: 3b89a394772c4f60406ff656bc051ba6a27972257c2f2db717ce2e93056450e4

Contents?: true

Size: 630 Bytes

Versions: 4

Compression:

Stored size: 630 Bytes

Contents

module Text2svg
  class Option < Struct.new(
    :font,
    :text_align,
    :encoding,
    :bold,
    :italic,
    :attribute,
    :char_size,
  )
    DEFAULTS = [
      nil,             # font
      :left,           # text_align
      Encoding::UTF_8, # encoding
      false,           # bold
      false,           # italic
      nil,             # attribute
      "0,0,3000,3000", # char_size
    ]

    class << self
      def from_hash(h)
        o = new(*DEFAULTS)
        h.to_h.each do |k, v|
          o[k.to_sym] = v
        end
        o
      end

      def default
        new(*DEFAULTS)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
text2svg-0.4.3 lib/text2svg/option.rb
text2svg-0.4.2 lib/text2svg/option.rb
text2svg-0.4.1 lib/text2svg/option.rb
text2svg-0.4.0 lib/text2svg/option.rb