Sha256: 54e9e550c32eaa98df1f38477e7b866f8179ec1446a8d67f944c46bc504f74d0

Contents?: true

Size: 1.08 KB

Versions: 3

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

module Dato
  module Local
    module FieldType
      class Theme
        attr_reader :primary_color, :dark_color, :light_color, :accent_color

        def self.parse(value, repo)
          value && new(
            value[:logo],
            value[:primary_color],
            value[:dark_color],
            value[:light_color],
            value[:accent_color],
            repo,
          )
        end

        def initialize(logo, primary_color, dark_color, light_color, accent_color, repo)
          @logo = logo
          @primary_color = primary_color
          @dark_color = dark_color
          @light_color = light_color
          @accent_color = accent_color
          @repo = repo
        end

        def logo
          @logo && UploadId.parse(@logo, @repo)
        end

        def to_hash(*args)
          {
            primary_color: primary_color,
            dark_color: dark_color,
            light_color: light_color,
            accent_color: accent_color,
            logo: logo && logo.to_hash(*args),
          }
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dato-0.8.3 lib/dato/local/field_type/theme.rb
dato-0.8.2 lib/dato/local/field_type/theme.rb
dato-0.8.1 lib/dato/local/field_type/theme.rb