Sha256: badb8290e270c965dedf8e9dbb9618368ec60e83f190ec34230e078814135c09

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

require 'whirled_peas/utils/title_font'

require_relative 'bg_color'
require_relative 'border'
require_relative 'text_color'

module WhirledPeas
  module Settings
    class Theme
      attr_reader :bg_color, :border_style, :color, :title_font

      def axis_color=(value)
        @axis_color = TextColor.validate!(value)
      end

      def axis_color
        @axis_color || border_color
      end

      def bg_color=(value)
        @bg_color = BgColor.validate!(value)
      end

      def border_color=(value)
        @border_color = TextColor.validate!(value)
      end

      def border_color
        @border_color || color
      end

      def border_style=(value)
        @border_style = Border::Styles.validate!(value)
      end

      def color=(value)
        @color = TextColor.validate!(value)
      end

      def highlight_bg_color=(value)
        @highlight_bg_color = BgColor.validate!(value)
      end

      def highlight_bg_color
        @highlight_bg_color || color.as_bg_color
      end

      def highlight_color=(value)
        @highlight_color = TextColor.validate!(value)
      end

      def highlight_color
        @highlight_color || bg_color.as_text_color
      end

      def title_font=(value)
        @title_font = Utils::TitleFont.validate!(value)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
whirled_peas-0.13.0 lib/whirled_peas/settings/theme.rb
whirled_peas-0.12.0 lib/whirled_peas/settings/theme.rb
whirled_peas-0.11.1 lib/whirled_peas/settings/theme.rb