class Boppers::Generator::Plugin

Attributes

plugin_type[RW]

Public Class Methods

source_root() click to toggle source
# File lib/boppers/generator/plugin.rb, line 12
def self.source_root
  File.join(__dir__, "plugin")
end

Public Instance Methods

copy_files() click to toggle source
# File lib/boppers/generator/plugin.rb, line 16
def copy_files
  template "#{plugin_type}/gemspec.erb", "#{plugin_name}.gemspec"
  copy_file "gems.rb"
  copy_file ".gitignore"
  copy_file ".rubocop.yml"
  copy_file ".travis.yml"
  copy_file "CODE_OF_CONDUCT.md"
  copy_file "LICENSE.txt"
  copy_file "Rakefile"
  template "#{plugin_type}/README.erb", "README.md"
end
copy_lib_files() click to toggle source
# File lib/boppers/generator/plugin.rb, line 28
def copy_lib_files
  template "#{plugin_type}/entry.erb",
           "lib/#{plugin_name}.rb"

  template "#{plugin_type}/main.erb",
           "lib/boppers/#{plugin_dir}#{name}.rb"

  template "#{plugin_type}/version.erb",
           "lib/boppers/#{plugin_dir}#{name}/version.rb"
end
copy_test_files() click to toggle source
# File lib/boppers/generator/plugin.rb, line 39
def copy_test_files
  template "test/test_helper.erb", "test/test_helper.rb"

  test_file_name = name.tr("-", "_")
  template "#{plugin_type}/test_file.erb",
           "test/boppers/#{plugin_dir}#{test_file_name}_test.rb"
end
run_commands() click to toggle source
# File lib/boppers/generator/plugin.rb, line 47
def run_commands
  inside destination_root do
    run "git init"
    run "bundle install"
  end
end

Private Instance Methods

bopper?() click to toggle source
# File lib/boppers/generator/plugin.rb, line 56
def bopper?
  plugin_type == "bopper"
end
name() click to toggle source
# File lib/boppers/generator/plugin.rb, line 64
def name
  plugin_name
    .gsub(/^boppers-/, "")
    .gsub(/-notifier$/, "")
end
plugin_dir() click to toggle source
# File lib/boppers/generator/plugin.rb, line 77
def plugin_dir
  "notifier/" unless bopper?
end
plugin_name() click to toggle source
# File lib/boppers/generator/plugin.rb, line 60
def plugin_name
  File.basename(destination_root)
end
plugin_namespace() click to toggle source
# File lib/boppers/generator/plugin.rb, line 70
def plugin_namespace
  name
    .tr("-", "_")
    .gsub(/_(.)/) { $1.upcase }
    .gsub(/^(.)/) { $1.upcase }
end