lib/drawio_dsl/configuration.rb in drawio_dsl-0.10.0 vs lib/drawio_dsl/configuration.rb in drawio_dsl-0.10.1

- old
+ new

@@ -206,22 +206,23 @@ end class Theme attr_reader :source_config - BackgroundThemeConfig = Struct.new(:type, :bg_color, :font_color, keyword_init: true) + BackgroundThemeConfig = Struct.new(:type, :bg_color, :font_color, :favourite, keyword_init: true) ElementThemeConfig = Struct.new(:type, :fill_color, :stroke_color, :font_color, :gradient, keyword_init: true) def initialize(source_config) @source_config = source_config end def background(type) backgrounds[type] || BackgroundThemeConfig.new( type: type, bg_color: '#000000', - font_color: '#ffffff' + font_color: '#FFFFFF', + favourite: false ) end def backgrounds return @backgrounds if defined? @backgrounds @@ -229,18 +230,23 @@ @backgrounds = {} source_config['backgrounds'].each do |background| @backgrounds[background['type'].to_sym] = BackgroundThemeConfig.new( type: background['type'].to_sym, bg_color: background['bg_color'], - font_color: background['font_color'] + font_color: background['font_color'], + favourite: background['favourite'] == 1 ) end @backgrounds end def background_types backgrounds.keys + end + + def favourite_background_types + backgrounds.values.select(&:favourite).map(&:type) end def random_background_type backgrounds.values.sample.type end