minerva 0.1.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +28 -0
  4. data/Rakefile +32 -0
  5. data/app/assets/config/minerva_manifest.js +2 -0
  6. data/app/assets/javascripts/minerva/application.js +15 -0
  7. data/app/assets/javascripts/minerva/assignments.js +2 -0
  8. data/app/assets/javascripts/minerva/interfaces.js +2 -0
  9. data/app/assets/javascripts/minerva/states.js +2 -0
  10. data/app/assets/javascripts/minerva/statuses.js +2 -0
  11. data/app/assets/javascripts/minerva/workflows.js +2 -0
  12. data/app/assets/stylesheets/minerva/application.css +15 -0
  13. data/app/assets/stylesheets/minerva/assignments.css +4 -0
  14. data/app/assets/stylesheets/minerva/interfaces.css +4 -0
  15. data/app/assets/stylesheets/minerva/states.css +4 -0
  16. data/app/assets/stylesheets/minerva/statuses.css +4 -0
  17. data/app/assets/stylesheets/minerva/workflows.css +4 -0
  18. data/app/assets/stylesheets/scaffold.css +80 -0
  19. data/app/controllers/minerva/application_controller.rb +5 -0
  20. data/app/controllers/minerva/assignments_controller.rb +62 -0
  21. data/app/controllers/minerva/interfaces_controller.rb +62 -0
  22. data/app/controllers/minerva/states_controller.rb +62 -0
  23. data/app/controllers/minerva/statuses_controller.rb +62 -0
  24. data/app/controllers/minerva/workflows_controller.rb +62 -0
  25. data/app/helpers/minerva/application_helper.rb +4 -0
  26. data/app/helpers/minerva/assignments_helper.rb +4 -0
  27. data/app/helpers/minerva/interfaces_helper.rb +4 -0
  28. data/app/helpers/minerva/states_helper.rb +4 -0
  29. data/app/helpers/minerva/statuses_helper.rb +4 -0
  30. data/app/helpers/minerva/workflows_helper.rb +4 -0
  31. data/app/jobs/minerva/application_job.rb +4 -0
  32. data/app/mailers/minerva/application_mailer.rb +6 -0
  33. data/app/models/minerva/application_record.rb +5 -0
  34. data/app/models/minerva/assignment.rb +5 -0
  35. data/app/models/minerva/interface.rb +4 -0
  36. data/app/models/minerva/project.rb +5 -0
  37. data/app/models/minerva/role.rb +5 -0
  38. data/app/models/minerva/state.rb +19 -0
  39. data/app/models/minerva/status.rb +4 -0
  40. data/app/models/minerva/user.rb +5 -0
  41. data/app/models/minerva/work.rb +5 -0
  42. data/app/models/minerva/workflow.rb +6 -0
  43. data/app/views/layouts/minerva/application.html.erb +16 -0
  44. data/app/views/minerva/assignments/_form.html.erb +32 -0
  45. data/app/views/minerva/assignments/edit.html.erb +6 -0
  46. data/app/views/minerva/assignments/index.html.erb +31 -0
  47. data/app/views/minerva/assignments/new.html.erb +5 -0
  48. data/app/views/minerva/assignments/show.html.erb +19 -0
  49. data/app/views/minerva/interfaces/_form.html.erb +27 -0
  50. data/app/views/minerva/interfaces/edit.html.erb +6 -0
  51. data/app/views/minerva/interfaces/index.html.erb +29 -0
  52. data/app/views/minerva/interfaces/new.html.erb +5 -0
  53. data/app/views/minerva/interfaces/show.html.erb +14 -0
  54. data/app/views/minerva/states/_form.html.erb +47 -0
  55. data/app/views/minerva/states/edit.html.erb +6 -0
  56. data/app/views/minerva/states/index.html.erb +35 -0
  57. data/app/views/minerva/states/new.html.erb +5 -0
  58. data/app/views/minerva/states/show.html.erb +33 -0
  59. data/app/views/minerva/statuses/_form.html.erb +22 -0
  60. data/app/views/minerva/statuses/edit.html.erb +6 -0
  61. data/app/views/minerva/statuses/index.html.erb +27 -0
  62. data/app/views/minerva/statuses/new.html.erb +5 -0
  63. data/app/views/minerva/statuses/show.html.erb +9 -0
  64. data/app/views/minerva/workflows/_form.html.erb +42 -0
  65. data/app/views/minerva/workflows/edit.html.erb +6 -0
  66. data/app/views/minerva/workflows/index.html.erb +35 -0
  67. data/app/views/minerva/workflows/new.html.erb +5 -0
  68. data/app/views/minerva/workflows/show.html.erb +29 -0
  69. data/config/initializers/minerva.rb +0 -0
  70. data/config/routes.rb +7 -0
  71. data/db/migrate/20181218183254_create_minerva_workflows.rb +15 -0
  72. data/db/migrate/20181218183524_create_minerva_statuses.rb +9 -0
  73. data/db/migrate/20181218183615_create_minerva_interfaces.rb +10 -0
  74. data/db/migrate/20181218183728_create_minerva_assignments.rb +11 -0
  75. data/db/migrate/20181218183815_create_minerva_states.rb +18 -0
  76. data/db/migrate/20190103213703_create_minerva_users.rb +8 -0
  77. data/db/migrate/20190103213722_create_minerva_projects.rb +8 -0
  78. data/db/migrate/20190103213731_create_minerva_works.rb +8 -0
  79. data/db/migrate/20190103213735_create_minerva_roles.rb +8 -0
  80. data/db/migrate/20190107164913_add_auid_to_project.rb +5 -0
  81. data/db/migrate/20190107164934_add_auid_to_role.rb +5 -0
  82. data/db/migrate/20190107164940_add_auid_to_user.rb +5 -0
  83. data/db/migrate/20190107164946_add_auid_to_work.rb +5 -0
  84. data/db/migrate/20190107171954_add_index_to_auid.rb +8 -0
  85. data/db/migrate/20190107173209_change_auid_to_not_null.rb +8 -0
  86. data/lib/minerva/engine.rb +5 -0
  87. data/lib/minerva/version.rb +3 -0
  88. data/lib/minerva.rb +4 -0
  89. data/lib/tasks/minerva_tasks.rake +4 -0
  90. metadata +232 -0
@@ -0,0 +1,19 @@
1
+ module Minerva
2
+ class State < ApplicationRecord
3
+
4
+ belongs_to :assignment
5
+ belongs_to :status
6
+ belongs_to :role
7
+ belongs_to :work
8
+ belongs_to :user
9
+
10
+ belongs_to :creator, class_name: "Minerva::User"
11
+
12
+ before_destroy { |record| raise ActiveRecord::ReadOnlyRecord }
13
+
14
+ def readonly?
15
+ # allow the creation, you can also use a more complex condition to allow updates under certain conditions
16
+ new_record? ? false : true
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,4 @@
1
+ module Minerva
2
+ class Status < ApplicationRecord
3
+ end
4
+ end
@@ -0,0 +1,5 @@
1
+ module Minerva
2
+ class User < ApplicationRecord
3
+ attr_accessor :auid
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Minerva
2
+ class Work < ApplicationRecord
3
+ attr_accessor :auid
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ module Minerva
2
+ class Workflow < ApplicationRecord
3
+ belongs_to :project
4
+ belongs_to :creator, class_name: "Minerva::User"
5
+ end
6
+ end
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Minerva</title>
5
+ <%= csrf_meta_tags %>
6
+ <%= csp_meta_tag %>
7
+
8
+ <%= stylesheet_link_tag "minerva/application", media: "all" %>
9
+ <%= javascript_include_tag "minerva/application" %>
10
+ </head>
11
+ <body>
12
+
13
+ <%= yield %>
14
+
15
+ </body>
16
+ </html>
@@ -0,0 +1,32 @@
1
+ <%= form_with(model: assignment, local: true) do |form| %>
2
+ <% if assignment.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(assignment.errors.count, "error") %> prohibited this assignment from being saved:</h2>
5
+
6
+ <ul>
7
+ <% assignment.errors.full_messages.each do |message| %>
8
+ <li><%= message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= form.label :title %>
16
+ <%= form.text_field :title %>
17
+ </div>
18
+
19
+ <div class="field">
20
+ <%= form.label :interface_id %>
21
+ <%= form.text_field :interface_id %>
22
+ </div>
23
+
24
+ <div class="field">
25
+ <%= form.label :automated %>
26
+ <%= form.check_box :automated %>
27
+ </div>
28
+
29
+ <div class="actions">
30
+ <%= form.submit %>
31
+ </div>
32
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing Assignment</h1>
2
+
3
+ <%= render 'form', assignment: @assignment %>
4
+
5
+ <%= link_to 'Show', @assignment %> |
6
+ <%= link_to 'Back', assignments_path %>
@@ -0,0 +1,31 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <h1>Assignments</h1>
4
+
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th>Title</th>
9
+ <th>Interface</th>
10
+ <th>Automated</th>
11
+ <th colspan="3"></th>
12
+ </tr>
13
+ </thead>
14
+
15
+ <tbody>
16
+ <% @assignments.each do |assignment| %>
17
+ <tr>
18
+ <td><%= assignment.title %></td>
19
+ <td><%= assignment.interface %></td>
20
+ <td><%= assignment.automated %></td>
21
+ <td><%= link_to 'Show', assignment %></td>
22
+ <td><%= link_to 'Edit', edit_assignment_path(assignment) %></td>
23
+ <td><%= link_to 'Destroy', assignment, method: :delete, data: { confirm: 'Are you sure?' } %></td>
24
+ </tr>
25
+ <% end %>
26
+ </tbody>
27
+ </table>
28
+
29
+ <br>
30
+
31
+ <%= link_to 'New Assignment', new_assignment_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New Assignment</h1>
2
+
3
+ <%= render 'form', assignment: @assignment %>
4
+
5
+ <%= link_to 'Back', assignments_path %>
@@ -0,0 +1,19 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>Title:</strong>
5
+ <%= @assignment.title %>
6
+ </p>
7
+
8
+ <p>
9
+ <strong>Interface:</strong>
10
+ <%= @assignment.interface %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>Automated:</strong>
15
+ <%= @assignment.automated %>
16
+ </p>
17
+
18
+ <%= link_to 'Edit', edit_assignment_path(@assignment) %> |
19
+ <%= link_to 'Back', assignments_path %>
@@ -0,0 +1,27 @@
1
+ <%= form_with(model: interface, local: true) do |form| %>
2
+ <% if interface.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(interface.errors.count, "error") %> prohibited this interface from being saved:</h2>
5
+
6
+ <ul>
7
+ <% interface.errors.full_messages.each do |message| %>
8
+ <li><%= message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= form.label :title %>
16
+ <%= form.text_field :title %>
17
+ </div>
18
+
19
+ <div class="field">
20
+ <%= form.label :code_point %>
21
+ <%= form.text_field :code_point %>
22
+ </div>
23
+
24
+ <div class="actions">
25
+ <%= form.submit %>
26
+ </div>
27
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing Interface</h1>
2
+
3
+ <%= render 'form', interface: @interface %>
4
+
5
+ <%= link_to 'Show', @interface %> |
6
+ <%= link_to 'Back', interfaces_path %>
@@ -0,0 +1,29 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <h1>Interfaces</h1>
4
+
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th>Title</th>
9
+ <th>Code point</th>
10
+ <th colspan="3"></th>
11
+ </tr>
12
+ </thead>
13
+
14
+ <tbody>
15
+ <% @interfaces.each do |interface| %>
16
+ <tr>
17
+ <td><%= interface.title %></td>
18
+ <td><%= interface.code_point %></td>
19
+ <td><%= link_to 'Show', interface %></td>
20
+ <td><%= link_to 'Edit', edit_interface_path(interface) %></td>
21
+ <td><%= link_to 'Destroy', interface, method: :delete, data: { confirm: 'Are you sure?' } %></td>
22
+ </tr>
23
+ <% end %>
24
+ </tbody>
25
+ </table>
26
+
27
+ <br>
28
+
29
+ <%= link_to 'New Interface', new_interface_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New Interface</h1>
2
+
3
+ <%= render 'form', interface: @interface %>
4
+
5
+ <%= link_to 'Back', interfaces_path %>
@@ -0,0 +1,14 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>Title:</strong>
5
+ <%= @interface.title %>
6
+ </p>
7
+
8
+ <p>
9
+ <strong>Code point:</strong>
10
+ <%= @interface.code_point %>
11
+ </p>
12
+
13
+ <%= link_to 'Edit', edit_interface_path(@interface) %> |
14
+ <%= link_to 'Back', interfaces_path %>
@@ -0,0 +1,47 @@
1
+ <%= form_with(model: state, local: true) do |form| %>
2
+ <% if state.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(state.errors.count, "error") %> prohibited this state from being saved:</h2>
5
+
6
+ <ul>
7
+ <% state.errors.full_messages.each do |message| %>
8
+ <li><%= message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= form.label :creator_id %>
16
+ <%= form.number_field :creator_id %>
17
+ </div>
18
+
19
+ <div class="field">
20
+ <%= form.label :user_id %>
21
+ <%= form.number_field :user_id %>
22
+ </div>
23
+
24
+ <div class="field">
25
+ <%= form.label :role_id %>
26
+ <%= form.number_field :role_id %>
27
+ </div>
28
+
29
+ <div class="field">
30
+ <%= form.label :work_id %>
31
+ <%= form.number_field :work_id %>
32
+ </div>
33
+
34
+ <div class="field">
35
+ <%= form.label :assignment_id %>
36
+ <%= form.text_field :assignment_id %>
37
+ </div>
38
+
39
+ <div class="field">
40
+ <%= form.label :status_id %>
41
+ <%= form.text_field :status_id %>
42
+ </div>
43
+
44
+ <div class="actions">
45
+ <%= form.submit %>
46
+ </div>
47
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing State</h1>
2
+
3
+ <%= render 'form', state: @state %>
4
+
5
+ <%= link_to 'Show', @state %> |
6
+ <%= link_to 'Back', states_path %>
@@ -0,0 +1,35 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <h1>States</h1>
4
+
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th>Creator</th>
9
+ <th>User</th>
10
+ <th>Role</th>
11
+ <th>Work</th>
12
+ <th>Assignment</th>
13
+ <th>Status</th>
14
+ <th colspan="3"></th>
15
+ </tr>
16
+ </thead>
17
+
18
+ <tbody>
19
+ <% @states.each do |state| %>
20
+ <tr>
21
+ <td><%= state.creator_id %></td>
22
+ <td><%= state.user_id %></td>
23
+ <td><%= state.role_id %></td>
24
+ <td><%= state.work_id %></td>
25
+ <td><%= state.assignment %></td>
26
+ <td><%= state.status %></td>
27
+ <td><%= link_to 'Show', state %></td>
28
+ </tr>
29
+ <% end %>
30
+ </tbody>
31
+ </table>
32
+
33
+ <br>
34
+
35
+ <%= link_to 'New State', new_state_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New State</h1>
2
+
3
+ <%= render 'form', state: @state %>
4
+
5
+ <%= link_to 'Back', states_path %>
@@ -0,0 +1,33 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>Creator:</strong>
5
+ <%= @state.creator_id %>
6
+ </p>
7
+
8
+ <p>
9
+ <strong>User:</strong>
10
+ <%= @state.user_id %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>Role:</strong>
15
+ <%= @state.role_id %>
16
+ </p>
17
+
18
+ <p>
19
+ <strong>Work:</strong>
20
+ <%= @state.work_id %>
21
+ </p>
22
+
23
+ <p>
24
+ <strong>Assignment:</strong>
25
+ <%= @state.assignment %>
26
+ </p>
27
+
28
+ <p>
29
+ <strong>Status:</strong>
30
+ <%= @state.status %>
31
+ </p>
32
+
33
+ <%= link_to 'Back', states_path %>
@@ -0,0 +1,22 @@
1
+ <%= form_with(model: status, local: true) do |form| %>
2
+ <% if status.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(status.errors.count, "error") %> prohibited this status from being saved:</h2>
5
+
6
+ <ul>
7
+ <% status.errors.full_messages.each do |message| %>
8
+ <li><%= message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= form.label :title %>
16
+ <%= form.text_field :title %>
17
+ </div>
18
+
19
+ <div class="actions">
20
+ <%= form.submit %>
21
+ </div>
22
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing Status</h1>
2
+
3
+ <%= render 'form', status: @status %>
4
+
5
+ <%= link_to 'Show', @status %> |
6
+ <%= link_to 'Back', statuses_path %>
@@ -0,0 +1,27 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <h1>Statuses</h1>
4
+
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th>Title</th>
9
+ <th colspan="3"></th>
10
+ </tr>
11
+ </thead>
12
+
13
+ <tbody>
14
+ <% @statuses.each do |status| %>
15
+ <tr>
16
+ <td><%= status.title %></td>
17
+ <td><%= link_to 'Show', status %></td>
18
+ <td><%= link_to 'Edit', edit_status_path(status) %></td>
19
+ <td><%= link_to 'Destroy', status, method: :delete, data: { confirm: 'Are you sure?' } %></td>
20
+ </tr>
21
+ <% end %>
22
+ </tbody>
23
+ </table>
24
+
25
+ <br>
26
+
27
+ <%= link_to 'New Status', new_status_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New Status</h1>
2
+
3
+ <%= render 'form', status: @status %>
4
+
5
+ <%= link_to 'Back', statuses_path %>
@@ -0,0 +1,9 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>Title:</strong>
5
+ <%= @status.title %>
6
+ </p>
7
+
8
+ <%= link_to 'Edit', edit_status_path(@status) %> |
9
+ <%= link_to 'Back', statuses_path %>
@@ -0,0 +1,42 @@
1
+ <%= form_with(model: workflow, local: true) do |form| %>
2
+ <% if workflow.errors.any? %>
3
+ <div id="error_explanation">
4
+ <h2><%= pluralize(workflow.errors.count, "error") %> prohibited this workflow from being saved:</h2>
5
+
6
+ <ul>
7
+ <% workflow.errors.full_messages.each do |message| %>
8
+ <li><%= message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div class="field">
15
+ <%= form.label :creator_id %>
16
+ <%= form.number_field :creator_id %>
17
+ </div>
18
+
19
+ <div class="field">
20
+ <%= form.label :project_id %>
21
+ <%= form.number_field :project_id %>
22
+ </div>
23
+
24
+ <div class="field">
25
+ <%= form.label :task_list %>
26
+ <%= form.text_area :task_list %>
27
+ </div>
28
+
29
+ <div class="field">
30
+ <%= form.label :title %>
31
+ <%= form.text_field :title %>
32
+ </div>
33
+
34
+ <div class="field">
35
+ <%= form.label :ordered %>
36
+ <%= form.check_box :ordered %>
37
+ </div>
38
+
39
+ <div class="actions">
40
+ <%= form.submit %>
41
+ </div>
42
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h1>Editing Workflow</h1>
2
+
3
+ <%= render 'form', workflow: @workflow %>
4
+
5
+ <%= link_to 'Show', @workflow %> |
6
+ <%= link_to 'Back', workflows_path %>
@@ -0,0 +1,35 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <h1>Workflows</h1>
4
+
5
+ <table>
6
+ <thead>
7
+ <tr>
8
+ <th>Creator</th>
9
+ <th>Project</th>
10
+ <th>Task list</th>
11
+ <th>Title</th>
12
+ <th>Ordered</th>
13
+ <th colspan="3"></th>
14
+ </tr>
15
+ </thead>
16
+
17
+ <tbody>
18
+ <% @workflows.each do |workflow| %>
19
+ <tr>
20
+ <td><%= workflow.creator_id %></td>
21
+ <td><%= workflow.project_id %></td>
22
+ <td><%= workflow.task_list %></td>
23
+ <td><%= workflow.title %></td>
24
+ <td><%= workflow.ordered %></td>
25
+ <td><%= link_to 'Show', workflow %></td>
26
+ <td><%= link_to 'Edit', edit_workflow_path(workflow) %></td>
27
+ <td><%= link_to 'Destroy', workflow, method: :delete, data: { confirm: 'Are you sure?' } %></td>
28
+ </tr>
29
+ <% end %>
30
+ </tbody>
31
+ </table>
32
+
33
+ <br>
34
+
35
+ <%= link_to 'New Workflow', new_workflow_path %>
@@ -0,0 +1,5 @@
1
+ <h1>New Workflow</h1>
2
+
3
+ <%= render 'form', workflow: @workflow %>
4
+
5
+ <%= link_to 'Back', workflows_path %>
@@ -0,0 +1,29 @@
1
+ <p id="notice"><%= notice %></p>
2
+
3
+ <p>
4
+ <strong>Creator:</strong>
5
+ <%= @workflow.creator_id %>
6
+ </p>
7
+
8
+ <p>
9
+ <strong>Project:</strong>
10
+ <%= @workflow.project_id %>
11
+ </p>
12
+
13
+ <p>
14
+ <strong>Task list:</strong>
15
+ <%= @workflow.task_list %>
16
+ </p>
17
+
18
+ <p>
19
+ <strong>Title:</strong>
20
+ <%= @workflow.title %>
21
+ </p>
22
+
23
+ <p>
24
+ <strong>Ordered:</strong>
25
+ <%= @workflow.ordered %>
26
+ </p>
27
+
28
+ <%= link_to 'Edit', edit_workflow_path(@workflow) %> |
29
+ <%= link_to 'Back', workflows_path %>
File without changes
data/config/routes.rb ADDED
@@ -0,0 +1,7 @@
1
+ Minerva::Engine.routes.draw do
2
+ resources :states, :except => [:edit, :update, :destroy]
3
+ resources :assignments
4
+ resources :interfaces
5
+ resources :statuses
6
+ resources :workflows
7
+ end
@@ -0,0 +1,15 @@
1
+ class CreateMinervaWorkflows < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :minerva_workflows do |t|
4
+ t.integer :creator_id
5
+ t.integer :project_id
6
+ t.text :task_list
7
+ t.string :title
8
+ t.boolean :ordered
9
+
10
+ t.timestamps
11
+ end
12
+ add_index :minerva_workflows, :creator_id
13
+ add_index :minerva_workflows, :project_id
14
+ end
15
+ end
@@ -0,0 +1,9 @@
1
+ class CreateMinervaStatuses < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :minerva_statuses do |t|
4
+ t.string :title
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ class CreateMinervaInterfaces < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :minerva_interfaces do |t|
4
+ t.string :title
5
+ t.string :code_point
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ class CreateMinervaAssignments < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :minerva_assignments do |t|
4
+ t.string :title
5
+ t.references :interface, foreign_key: true
6
+ t.boolean :automated
7
+
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,18 @@
1
+ class CreateMinervaStates < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :minerva_states do |t|
4
+ t.integer :creator_id
5
+ t.integer :user_id
6
+ t.integer :role_id
7
+ t.integer :work_id
8
+ t.references :assignment, foreign_key: true
9
+ t.references :status, foreign_key: true
10
+
11
+ t.timestamps
12
+ end
13
+ add_index :minerva_states, :creator_id
14
+ add_index :minerva_states, :user_id
15
+ add_index :minerva_states, :role_id
16
+ add_index :minerva_states, :work_id
17
+ end
18
+ end