Sha256: 926c7a6bddd34c0b55dabbe2725668612b8c5de6f86e15060c504c3f28526d09

Contents?: true

Size: 698 Bytes

Versions: 3

Compression:

Stored size: 698 Bytes

Contents

# frozen_string_literal: true

require 'tilt'

module Lipstick
  module Images
    class Processor < ::Tilt::Template
      class DSL
        def initialize(context)
          @context = context
        end

        def run(data)
          binding.eval(data)
        end

        def email_banner(image: 'logo.png', title:, environment:)
          @context.depend_on_asset(image)
          asset = @context.environment.find_asset(image)
          EmailBanner.new(image: asset, title: title, environment: environment)
                     .to_png
        end
      end

      def prepare
      end

      def evaluate(context, _locals)
        DSL.new(context).run(data)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aaf-lipstick-3.0.0 lib/lipstick/images/processor.rb
aaf-lipstick-2.1.0 lib/lipstick/images/processor.rb
aaf-lipstick-2.0.0 lib/lipstick/images/processor.rb