class Arsenic::Newgem
Constants
- COPY_DIRS
- COPY_FILES
Public Class Methods
exit_on_failure?()
click to toggle source
# File lib/arsenic.rb, line 42 def self.exit_on_failure? true end
source_root()
click to toggle source
# File lib/arsenic.rb, line 38 def self.source_root ENV.fetch("TEMPLATE", File.join(__dir__, "arsenic", "templates", "newgem")) end
Public Instance Methods
copy_dirs()
click to toggle source
# File lib/arsenic.rb, line 50 def copy_dirs COPY_DIRS.each { |dir| directory(dir) } end
copy_files()
click to toggle source
# File lib/arsenic.rb, line 46 def copy_files COPY_FILES.each { |file| template file } end
copy_gemfiles()
click to toggle source
# File lib/arsenic.rb, line 54 def copy_gemfiles template "gemfiles/rubocop.gemfile" return unless rails? template "gemfiles/jruby.gemfile" template "gemfiles/rails5.gemfile" template "gemfiles/rails6.gemfile" template "gemfiles/railsmaster.gemfile" end
copy_gemspec()
click to toggle source
# File lib/arsenic.rb, line 70 def copy_gemspec template "newgem.gemspec", "#{name}.gemspec" end
copy_lib()
click to toggle source
# File lib/arsenic.rb, line 64 def copy_lib template "lib/name.rb", "lib/#{name}.rb" directory "lib/dir", "lib/#{name_path}" remove_file "lib/#{name_path}/railtie.rb" unless rails? end
Private Instance Methods
human_name()
click to toggle source
# File lib/arsenic.rb, line 86 def human_name @human_name ||= name.split(/[-_]/).map(&:capitalize).join(" ") end
module_name()
click to toggle source
# File lib/arsenic.rb, line 80 def module_name @module_name ||= name.split("-").map { |mod| mod.split("_").map(&:capitalize).join }.join("::") end
name_path()
click to toggle source
# File lib/arsenic.rb, line 90 def name_path @name_path ||= name.tr("-", "/") end
rails?()
click to toggle source
# File lib/arsenic.rb, line 76 def rails? @rails ||= yes?("Need Rails stuff?") end