class RSGem::Tasks::AddDependency
Constants
- OUTPUT
Public Instance Methods
perform()
click to toggle source
# File lib/rsgem/tasks/add_dependency.rb, line 8 def perform return if already_installed? add_dependency write_to_gemspec dependency.install(context) end
Private Instance Methods
add_dependency()
click to toggle source
# File lib/rsgem/tasks/add_dependency.rb, line 18 def add_dependency gemspec_file.gsub!(/end\n\z/, code) gemspec_file << "\nend" end
already_installed?()
click to toggle source
# File lib/rsgem/tasks/add_dependency.rb, line 23 def already_installed? gemspec_file.match? Regexp.new("('|\")#{dependency.name}('|\")") end
code()
click to toggle source
# File lib/rsgem/tasks/add_dependency.rb, line 27 def code text = [" spec.add_#{dependency.mode}_dependency '#{dependency.name}'", dependency.version] text.compact.join(', ') end
dependency()
click to toggle source
# File lib/rsgem/tasks/add_dependency.rb, line 32 def dependency args[:dependency] end
gemspec_file()
click to toggle source
# File lib/rsgem/tasks/add_dependency.rb, line 36 def gemspec_file @gemspec_file ||= File.read(context.gemspec_path) end
output_name()
click to toggle source
# File lib/rsgem/tasks/add_dependency.rb, line 40 def output_name "Install #{dependency.name.capitalize}" end
write_to_gemspec()
click to toggle source
# File lib/rsgem/tasks/add_dependency.rb, line 44 def write_to_gemspec File.open(context.gemspec_path, 'w') do |file| file.puts gemspec_file end end