class RSGem::Dependencies::Base

Attributes

config_file_destination[R]
config_file_source[R]
mode[R]
name[R]
post_install_task[R]
version[R]

Public Class Methods

new(name:, **args) click to toggle source
# File lib/rsgem/dependencies/base.rb, line 9
def initialize(name:, **args)
  @config_file_source = args[:config_file_source]
  @config_file_destination = args[:config_file_destination]
  @mode = args[:mode] || 'development' # Either `development' or `runtime'
  @name = name
  @post_install_task = args[:post_install_task]
  version = args[:version]
  @version = version ? "'#{version}'" : nil
end

Public Instance Methods

install(context) click to toggle source
# File lib/rsgem/dependencies/base.rb, line 19
def install(context)
  if config_file_source
    File.open("#{context.folder_path}/#{config_file_destination}", 'w') do |file|
      file.puts config_file_source_content
    end
  end

  post_install_task&.new(context: context)&.perform
end

Private Instance Methods

config_file_source_content() click to toggle source
# File lib/rsgem/dependencies/base.rb, line 31
def config_file_source_content
  File.read(config_file_source)
end