class RSGem::Gem

Attributes

options[R]

Public Class Methods

new(options) click to toggle source
# File lib/rsgem/gem.rb, line 7
def initialize(options)
  @options = options
end

Public Instance Methods

create() click to toggle source
# File lib/rsgem/gem.rb, line 11
def create
  puts 'Creating gem...'
  create_gem
  ensure_author
  add_code_analysis
  add_dependencies
  clean_gemfile
  ignore_gemfile_lock
  add_ci_provider
  clean_gemspec
  set_bundled_files
  set_license_file
  set_required_ruby_version
  bundle_dependencies
  run_rubocop
  puts "#{context.gem_name} created"
end

Private Instance Methods

add_ci_provider() click to toggle source
# File lib/rsgem/gem.rb, line 31
def add_ci_provider
  Tasks::AddCIProvider.new(context: context).call
end
add_code_analysis() click to toggle source
# File lib/rsgem/gem.rb, line 35
def add_code_analysis
  Tasks::AddCodeAnalysis.new(context: context).call
end
add_dependencies() click to toggle source
# File lib/rsgem/gem.rb, line 39
def add_dependencies
  [
    Dependencies::Rake,
    Dependencies::Reek,
    Dependencies::RSpec,
    Dependencies::Rubocop,
    Dependencies::Simplecov
  ].each do |dependency|
    Tasks::AddDependency.new(context: context, dependency: dependency).call
  end
end
bundle_dependencies() click to toggle source
# File lib/rsgem/gem.rb, line 79
def bundle_dependencies
  Tasks::BundleDependencies.new(context: context).call
end
clean_gemfile() click to toggle source
# File lib/rsgem/gem.rb, line 51
def clean_gemfile
  Tasks::CleanGemfile.new(context: context).call
end
clean_gemspec() click to toggle source
# File lib/rsgem/gem.rb, line 55
def clean_gemspec
  Tasks::CleanGemspec.new(context: context).call
end
context() click to toggle source
# File lib/rsgem/gem.rb, line 59
def context
  @context ||= Context.new(options: options)
end
create_gem() click to toggle source
# File lib/rsgem/gem.rb, line 63
def create_gem
  Tasks::CreateGem.new(context: context).call
end
ensure_author() click to toggle source
# File lib/rsgem/gem.rb, line 67
def ensure_author
  Tasks::EnsureAuthor.new(context: context).call
end
ignore_gemfile_lock() click to toggle source
# File lib/rsgem/gem.rb, line 71
def ignore_gemfile_lock
  Tasks::IgnoreGemfileLock.new(context: context).call
end
run_rubocop() click to toggle source
# File lib/rsgem/gem.rb, line 75
def run_rubocop
  Tasks::RunRubocop.new(context: context).call
end
set_bundled_files() click to toggle source
# File lib/rsgem/gem.rb, line 83
def set_bundled_files
  Tasks::SetBundledFiles.new(context: context).call
end
set_license_file() click to toggle source
# File lib/rsgem/gem.rb, line 87
def set_license_file
  Tasks::SetLicenseFile.new(context: context).call
end
set_required_ruby_version() click to toggle source
# File lib/rsgem/gem.rb, line 91
def set_required_ruby_version
  Tasks::SetRequiredRubyVersion.new(context: context).call
end