Sha256: e6561024cb75d11f9547fb1f7cee2d5d3a25d05b32164695ab460e735431753c

Contents?: true

Size: 813 Bytes

Versions: 19

Compression:

Stored size: 813 Bytes

Contents

# frozen_string_literal: true

# Attach configuration to the DrawIO DSL module
module DrawioDsl
  # Configuration container for the DrawIO DSL
  class Configuration
    include DrawioDsl::ConfigurationShapes
    include DrawioDsl::ConfigurationThemes

    include KLog::Logging

    BaseStyle = Struct.new(:white_space, :html, :rounded, :shadow, :sketch, :glass, keyword_init: true)

    attr_accessor :base_style

    attr_accessor :shapes

    def initialize
      @base_style = BaseStyle.new(white_space: :wrap, html: 1, rounded: nil, shadow: nil, sketch: nil, glass: nil)

      add_shapes
      add_themes
    end

    def palette(theme)
      themes[theme]
    end

    def random_theme
      themes.keys.sample
    end
  end
end

KConfig::Configuration.register(:drawio, DrawioDsl::ConfigurationExtension)

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
drawio_dsl-0.8.8 lib/drawio_dsl/configuration.rb
drawio_dsl-0.8.7 lib/drawio_dsl/configuration.rb
drawio_dsl-0.8.6 lib/drawio_dsl/configuration.rb
drawio_dsl-0.8.5 lib/drawio_dsl/configuration.rb
drawio_dsl-0.8.4 lib/drawio_dsl/configuration.rb
drawio_dsl-0.8.3 lib/drawio_dsl/configuration.rb
drawio_dsl-0.8.2 lib/drawio_dsl/configuration.rb
drawio_dsl-0.8.1 lib/drawio_dsl/configuration.rb
drawio_dsl-0.8.0 lib/drawio_dsl/configuration.rb
drawio_dsl-0.7.0 lib/drawio_dsl/configuration.rb
drawio_dsl-0.6.0 lib/drawio_dsl/configuration.rb
drawio_dsl-0.5.7 lib/drawio_dsl/configuration.rb
drawio_dsl-0.5.6 lib/drawio_dsl/configuration.rb
drawio_dsl-0.5.5 lib/drawio_dsl/configuration.rb
drawio_dsl-0.5.4 lib/drawio_dsl/configuration.rb
drawio_dsl-0.5.3 lib/drawio_dsl/configuration.rb
drawio_dsl-0.5.2 lib/drawio_dsl/configuration.rb
drawio_dsl-0.5.1 lib/drawio_dsl/configuration.rb
drawio_dsl-0.5.0 lib/drawio_dsl/configuration.rb