Sha256: d4bbe9ca9fce9e477dc17e770fa92d91a51fa41507e51497e17a7ac6dc86f4b6
Contents?: true
Size: 966 Bytes
Versions: 41
Compression:
Stored size: 966 Bytes
Contents
# frozen_string_literal: true require "refinements/structs" module Rubysmith module Builders # Builds Bundler Gemfile configuration for project skeleton. class Bundler using Refinements::Structs def self.call(...) = new(...).call def initialize configuration, builder: Builder @configuration = configuration @builder = builder end def call builder.call(configuration.merge(template_path: "%project_name%/Gemfile.erb")) .render .replace(/\n\s+group/, "\n\ngroup") .replace(/\n\s+gem/, "\n gem") .replace(/ (?=.+(refinements|zeitwerk))/, "") .replace(/(\n+|\s+)end/, "\nend") .replace(/\n\ngroup :(code_quality|development|test|tools) do\nend/, "") .replace(/org"\n+/, "org\"\n\n") configuration end private attr_reader :configuration, :builder end end end
Version data entries
41 entries across 41 versions & 1 rubygems