class Gemsmith::Generators::Rake

Generates Rake support.

Public Instance Methods

generate_code_quality_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 17
def generate_code_quality_task
  return "" if code_quality_tasks.empty?

  %(\ndesc "Run code quality checks"\ntask code_quality: %i[#{code_quality_tasks}]\n)
end
generate_default_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 23
def generate_default_task
  return "" if default_task.empty?

  %(\ntask default: %i[#{default_task}]\n)
end
run() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 11
def run
  template "%gem_name%/Rakefile.tt"
  append_code_quality_task
  append_default_task
end

Private Instance Methods

append_code_quality_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 63
def append_code_quality_task
  return if code_quality_task.empty?

  cli.append_to_file "%gem_name%/Rakefile", generate_code_quality_task
end
append_default_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 69
def append_default_task
  return if default_task.empty?

  cli.append_to_file "%gem_name%/Rakefile", generate_default_task
end
bundler_audit_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 35
def bundler_audit_task
  configuration.dig(:generate, :bundler_audit) ? "bundle:audit" : ""
end
code_quality_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 55
def code_quality_task
  code_quality_tasks.empty? ? "" : "code_quality"
end
code_quality_tasks() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 51
def code_quality_tasks
  [bundler_audit_task, git_lint_task, reek_task, rubocop_task].compress.join " "
end
default_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 59
def default_task
  [code_quality_task, rspec_task].compress.join " "
end
git_lint_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 39
def git_lint_task
  configuration.dig(:generate, :git_lint) ? "git_lint" : ""
end
reek_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 43
def reek_task
  configuration.dig(:generate, :reek) ? "reek" : ""
end
rspec_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 31
def rspec_task
  configuration.dig(:generate, :rspec) ? "spec" : ""
end
rubocop_task() click to toggle source
# File lib/gemsmith/generators/rake.rb, line 47
def rubocop_task
  configuration.dig(:generate, :rubocop) ? "rubocop" : ""
end