module Garfield
Constants
- VERSION
Public Class Methods
get_file_count(extension)
click to toggle source
# File lib/garfield.rb, line 7 def self.get_file_count(extension) files = [] Find.find('.') do |path| files << path if path =~ /.*\.#{extension}$/ end return files.length end
get_python_test_string()
click to toggle source
# File lib/garfield.rb, line 31 def self.get_python_test_string requirements = 'requirements.txt' if File.file?(requirements) dependencies = File.read(requirements).downcase.split(/\n+/) case when dependencies.index {|s| s.include?('django')} return 'python manage.py test' when dependencies.index {|s| s.include?('pytest')} return 'py.test --color=yes -s test' else return 'python setup.py test' end end return 'python setup.py test' end
get_ruby_test_string()
click to toggle source
# File lib/garfield.rb, line 17 def self.get_ruby_test_string case when defined? 'minitest' return 'ruby test/*.rb' when defined? 'rspec' return 'rspec spec' when defined? 'rails' return 'bundle exec rspec spec' else installed_gems = Gem::Specification.sort_by{ |gem| [gem.name.downcase] }.group_by{ |gem| gem.name } raise "Couldn't find test runner in #{installed_gems.keys}" end end
get_test_string(extension)
click to toggle source
# File lib/garfield.rb, line 14 def self.get_test_string(extension) return extension == 'rb' ? get_ruby_test_string : get_python_test_string end
write_guardfile(extension, test_string)
click to toggle source
# File lib/garfield.rb, line 46 def self.write_guardfile(extension, test_string) content = %{ guard :shell do watch /.*.#{extension}/ do `#{test_string}` end end } File.write('Guardfile', content) end