Sha256: 2b002ee2adfd32bc29a8c659becf48024a20b5102907ba209c6cd90d3bbb353f

Contents?: true

Size: 626 Bytes

Versions: 11

Compression:

Stored size: 626 Bytes

Contents

# frozen_string_literal: true

require "refinements/struct"

module Hanamismith
  module Builders
    # Builds project skeleton SVG icon.
    class Icon
      using Refinements::Struct

      def self.call(...) = new(...).call

      def initialize configuration, builder: Rubysmith::Builder
        @configuration = configuration
        @builder = builder
      end

      def call
        path = "%project_name%/app/assets/images/icon.svg.erb"
        builder.call(configuration.merge(template_path: path)).render
        configuration
      end

      private

      attr_reader :configuration, :builder
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
hanamismith-0.34.0 lib/hanamismith/builders/icon.rb
hanamismith-0.33.0 lib/hanamismith/builders/icon.rb
hanamismith-0.32.0 lib/hanamismith/builders/icon.rb
hanamismith-0.31.0 lib/hanamismith/builders/icon.rb
hanamismith-0.30.0 lib/hanamismith/builders/icon.rb
hanamismith-0.29.0 lib/hanamismith/builders/icon.rb
hanamismith-0.28.1 lib/hanamismith/builders/icon.rb
hanamismith-0.28.0 lib/hanamismith/builders/icon.rb
hanamismith-0.27.0 lib/hanamismith/builders/icon.rb
hanamismith-0.26.0 lib/hanamismith/builders/icon.rb
hanamismith-0.25.0 lib/hanamismith/builders/icon.rb