Class: SpecViews::ViewsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/spec_views/views_controller.rb

Instance Method Summary collapse

Instance Method Details

#acceptObject



56
57
58
59
# File 'app/controllers/spec_views/views_controller.rb', line 56

def accept
  accept_directory(directory)
  redirect_to action: :index, challenger: :next
end

#accept_allObject



61
62
63
64
65
66
# File 'app/controllers/spec_views/views_controller.rb', line 61

def accept_all
  directories.each do |dir|
    accept_directory(dir) if dir.challenger?
  end
  redirect_to action: :index
end

#compareObject



35
36
37
# File 'app/controllers/spec_views/views_controller.rb', line 35

def compare
  @directory = directory
end

#destroy_outdatedObject



73
74
75
76
77
78
79
80
# File 'app/controllers/spec_views/views_controller.rb', line 73

def destroy_outdated
  @directories = directories
  @latest_run = directories.map(&:last_run).max
  @directories.each do |dir|
    dir.delete! if dir.last_run < @latest_run
  end
  redirect_to action: :index
end

#diffObject



39
40
41
42
43
44
45
46
47
# File 'app/controllers/spec_views/views_controller.rb', line 39

def diff
  if directory.content_type.pdf?
    redirect_to action: :compare
    return
  end
  @champion = get_view(directory.champion_path, html_safe: false)
  @challenger = get_view(directory.challenger_path, html_safe: false)
  @directory = directory
end

#indexObject



8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/controllers/spec_views/views_controller.rb', line 8

def index
  @directories = directories
  @latest_run = directories.map(&:last_run).max
  return unless params[:challenger] == 'next'

  first = @directories.detect(&:challenger?)
  if first
    redirect_to(action: :compare, id: first)
  else
    redirect_to(action: :index, challenger: nil)
  end
end

#previewObject



49
50
51
52
53
54
# File 'app/controllers/spec_views/views_controller.rb', line 49

def preview
  @directory = directory
  @next = directories[directories.index(@directory) + 1]
  index = directories.index(@directory)
  @previous = directories[index - 1] if index.positive?
end

#rejectObject



68
69
70
71
# File 'app/controllers/spec_views/views_controller.rb', line 68

def reject
  FileUtils.remove_file(directory.challenger_path)
  redirect_to action: :index, challenger: :next
end

#showObject



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/controllers/spec_views/views_controller.rb', line 21

def show
  path = directory.champion_path
  path = directory.challenger_path if params[:view] == 'challenger'
  if directory.content_type.pdf?
    send_data(
      get_view(path),
      filename: 'a.pdf',
      type: 'application/pdf', disposition: 'inline'
    )
  else
    render html: get_view(path)
  end
end