Class: Orly::Tester

Inherits:
Object
  • Object
show all
Defined in:
lib/orly/tester.rb

Instance Method Summary collapse

Constructor Details

#initializeTester

Returns a new instance of Tester.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/orly/tester.rb', line 8

def initialize
  @need_bundle = false
  @need_migrate = false
  @need_bower = false
  @need_npm = false
  @uses_yarn = false
  @need_dotenv = false
  @need_mix = false
  @need_ecto_migrate = false
  @need_ecto_seed = false
  run_tests
rescue ArgumentError
  raise NoRepo.new
end

Instance Method Details

#get_diffObject



42
43
44
45
# File 'lib/orly/tester.rb', line 42

def get_diff
  git = Git.open('.')
  git.diff('HEAD@{1}','HEAD')
end

#need_bower?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/orly/tester.rb', line 59

def need_bower?
  @need_bower
end

#need_bundle_install?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/orly/tester.rb', line 51

def need_bundle_install?
  @need_bundle
end

#need_dotenv?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/orly/tester.rb', line 73

def need_dotenv?
  @need_dotenv
end

#need_ecto_migrate?Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/orly/tester.rb', line 85

def need_ecto_migrate?
  @need_ecto_migrate
end

#need_ecto_seed?Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/orly/tester.rb', line 89

def need_ecto_seed?
  @need_ecto_seed
end

#need_migrate?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/orly/tester.rb', line 47

def need_migrate?
  @need_migrate
end

#need_mix?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/orly/tester.rb', line 81

def need_mix?
  @need_mix
end

#need_npm?Boolean

Returns:

  • (Boolean)


63
64
65
66
# File 'lib/orly/tester.rb', line 63

def need_npm?
  return false if uses_yarn?
  @need_npm
end

#need_pod?Boolean

Returns:

  • (Boolean)


55
56
57
# File 'lib/orly/tester.rb', line 55

def need_pod?
  @need_pod
end

#need_yarn?Boolean

Returns:

  • (Boolean)


68
69
70
71
# File 'lib/orly/tester.rb', line 68

def need_yarn?
  return false unless uses_yarn?
  @need_npm
end

#run_testsObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/orly/tester.rb', line 23

def run_tests
  get_diff.each do |file|
    case(file.path)
      when /^Gemfile/ then @need_bundle = true
      when /^db\/migrate/ then @need_migrate = true
      when /^Podfile/ then @need_pod = true
      when /^bower\.json/ then @need_bower = true
      when /package\.json/ then @need_npm = true
      when /^yarn\.lock/ then @uses_yarn = true
      when /^.dotenv-encrypted/ then @need_dotenv = true
      when /^mix\.lock/ then @need_mix = true
      when /priv\/[-_.A-Za-z0-9]*\/migrations/ then @need_ecto_migrate = true
      when /priv\/[-_.A-Za-z0-9]*\/(?:seeds\.exs|fixtures\/[-_.A-Za-z0-9]*\.exs)/ then @need_ecto_seed = true
    end
  end
rescue Git::GitExecuteError
  false
end

#uses_yarn?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/orly/tester.rb', line 77

def uses_yarn?
  @uses_yarn
end