class Skelegem::CLI
Public Instance Methods
edit()
click to toggle source
method_option :name, :type => :boolean, :aliases => ā-nā
# File lib/skelegem/cli.rb, line 35 def edit() summary = ask("Summary: <#{my_spec.summary}>") my_spec.summary = summary unless summary.empty? description = ask("Description: <#{my_spec.description}>") my_spec.description = description unless description.empty? puts "Current dependencies" my_spec.runtime_dependencies.each do |rdep| puts rdep.name end dependencies = ask("Any additional dependencies you'd like added? [empty for none]") unless dependencies.empty? dependencies = dependencies.split(" ").each do |dep| puts "adding #{dep}" invoke Skelegem::Templates::ThorCLI if dep == "thor" tmp_spec = Gem::Specification::from_yaml( exec "gem spec #{dep} -r" ) my_spec.add_dependency tmp_spec.name, tmp_spec.version.to_s end end end
exec(cmd)
click to toggle source
# File lib/skelegem/cli.rb, line 65 def exec(cmd) `#{cmd}` end
execute(cmd)
click to toggle source
# File lib/skelegem/cli.rb, line 61 def execute(cmd) system(cmd) end
my_spec()
click to toggle source
# File lib/skelegem/cli.rb, line 73 def my_spec @my_spec ||= Gem::Specification::load my_spec_file end
my_spec_file()
click to toggle source
# File lib/skelegem/cli.rb, line 69 def my_spec_file @my_spec_file ||= Dir.glob("*.gemspec").first end
new(name=nil)
click to toggle source
# File lib/skelegem/cli.rb, line 16 def new(name=nil) if name == nil name = ask("What would you like your gem called? ") end puts "Generating #{name}" execute "bundle gem #{name} -bt" Dir.chdir name Skelegem::Store.gemspec my_spec invoke Skelegem::Templates::SemverInit edit if options[:edit] invoke Skelegem::Templates::Gemspec Kernel.exec "bundle install" end
version()
click to toggle source
# File lib/skelegem/cli.rb, line 10 def version() puts "#{self.class.name.split("::")[0]} #{Skelegem::VERSION}" end