desc 'performs publish commands' task :publish do Tasks.execute_task :publish; end class Publish < Array def update if(Internet.available?) if(File.exists?('.git')) if(`git branch`.include?('* master')) Dir.glob('*.gemspec').each{|gemspec_file| add "gem push #{Gemspec.gemfile(gemspec_file)}" if !Gemspec.published? gemspec_file } end end if(File.exists?('.svn')) if(`svn info`.include?('/trunk')) Dir.glob('*.gemspec').each{|gemspec_file| add "gem push #{Gemspec.gemfile(gemspec_file)}" if !Gemspec.published? gemspec_file } end end end end end