Class: Hanamismith::Builders::CI::GitHub

Inherits:
Object
  • Object
show all
Defined in:
lib/hanamismith/builders/ci/git_hub.rb

Overview

Builds project skeleton GitHub CI configuration.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration, builder: Rubysmith::Builder) ⇒ GitHub

Returns a new instance of GitHub.



14
15
16
17
# File 'lib/hanamismith/builders/ci/git_hub.rb', line 14

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

Class Method Details

.callObject



12
# File 'lib/hanamismith/builders/ci/git_hub.rb', line 12

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

Instance Method Details

#callObject



19
20
21
22
23
24
25
# File 'lib/hanamismith/builders/ci/git_hub.rb', line 19

def call
  return configuration unless configuration.build_git_hub_ci

  path = "%project_name%/.github/workflows/ci.yml.erb"
  builder.call(configuration.merge(template_path: path)).render.replace(/\n\n\Z/, "\n")
  configuration
end