vaultify 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +203 -0
- data/README.md +29 -0
- data/Rakefile +33 -0
- data/app/assets/config/vaultify_manifest.js +2 -0
- data/app/assets/javascripts/vaultify/aat.js +38 -0
- data/app/assets/javascripts/vaultify/application.js +15 -0
- data/app/assets/javascripts/vaultify/autocomplete.js +79 -0
- data/app/assets/javascripts/vaultify/dcmi.js +16 -0
- data/app/assets/javascripts/vaultify/edtf.js +16 -0
- data/app/assets/javascripts/vaultify/fast.js +26 -0
- data/app/assets/javascripts/vaultify/horsey.js +2917 -0
- data/app/assets/javascripts/vaultify/iso.js +200 -0
- data/app/assets/javascripts/vaultify/vaultify.js.erb +152 -0
- data/app/assets/stylesheets/vaultify/application.css +16 -0
- data/app/assets/stylesheets/vaultify/horsey.css +61 -0
- data/app/assets/stylesheets/vaultify/vaultify.css +81 -0
- data/app/controllers/vaultify/application_controller.rb +5 -0
- data/app/controllers/vaultify/vaultify_controller.rb +370 -0
- data/app/helpers/vaultify/application_helper.rb +4 -0
- data/app/helpers/vaultify/edtf_helper.rb +126 -0
- data/app/jobs/vaultify/application_job.rb +4 -0
- data/app/mailers/vaultify/application_mailer.rb +6 -0
- data/app/models/vaultify/application_record.rb +5 -0
- data/app/views/layouts/vaultify/application.html.erb +16 -0
- data/app/views/vaultify/vaultify/_modal.html.erb +37 -0
- data/app/views/vaultify/vaultify/translate.html.erb +71 -0
- data/app/views/vaultify/vaultify/upload.html.erb +18 -0
- data/config/initializers/session_store.rb +1 -0
- data/config/routes.rb +8 -0
- data/db/migrate/20181127173405_add_sessions_table.rb +12 -0
- data/lib/generators/vaultify/install/install_generator.rb +13 -0
- data/lib/generators/vaultify/install/templates/config/vaultify.yml +12 -0
- data/lib/tasks/vaultify_tasks.rake +4 -0
- data/lib/vaultify.rb +5 -0
- data/lib/vaultify/engine.rb +20 -0
- data/lib/vaultify/version.rb +3 -0
- metadata +121 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Vaultify</title>
|
|
5
|
+
<%= csrf_meta_tags %>
|
|
6
|
+
<%= csp_meta_tag %>
|
|
7
|
+
|
|
8
|
+
<%= stylesheet_link_tag "vaultify/application", media: "all" %>
|
|
9
|
+
<%= javascript_include_tag "vaultify/application" %>
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
|
|
13
|
+
<%= yield %>
|
|
14
|
+
|
|
15
|
+
</body>
|
|
16
|
+
</html>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<div id="editModal" class="modal">
|
|
2
|
+
|
|
3
|
+
<div class="modal-content">
|
|
4
|
+
<span id="current_row" class="no-dis"></span>
|
|
5
|
+
<table id="modal_table">
|
|
6
|
+
<tr>
|
|
7
|
+
<td>Title</td>
|
|
8
|
+
<td id="modal_title"></td>
|
|
9
|
+
</tr>
|
|
10
|
+
<tr>
|
|
11
|
+
<td>Original</td>
|
|
12
|
+
<td id="modal_orig"></td>
|
|
13
|
+
</tr>
|
|
14
|
+
<tr>
|
|
15
|
+
<td>Adjusted</td>
|
|
16
|
+
<td>
|
|
17
|
+
<ul id="modal_adjust"></ul>
|
|
18
|
+
</td>
|
|
19
|
+
</tr>
|
|
20
|
+
<tr>
|
|
21
|
+
<td colspan="2" id="modal_autoc">
|
|
22
|
+
<%= text_field_tag '', nil, placeholder: 'enter search here', id: 'autoc_field' %><%= button_tag 'add', onclick: "add_field()" %>
|
|
23
|
+
</td>
|
|
24
|
+
</tr>
|
|
25
|
+
</table>
|
|
26
|
+
<div class="modal_buttons">
|
|
27
|
+
<div class="modal_cancel_button">
|
|
28
|
+
<%= button_tag 'Cancel', id: 'modal_cancel', onclick: "closeModal()" %>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="modal_apply_buttons">
|
|
31
|
+
<%= button_tag 'Apply All', id: 'modal_apply_all', onclick: "modal_apply_all()" %>
|
|
32
|
+
<%= button_tag 'Apply', id: 'modal_apply', onclick: "modal_apply(document.getElementById('current_row').innerText)" %>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
</div>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<div id="wrapper">
|
|
2
|
+
<header>
|
|
3
|
+
<h1>Translate</h1>
|
|
4
|
+
<style>
|
|
5
|
+
Body {
|
|
6
|
+
text-align: center
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
table {
|
|
10
|
+
border-collapse: collapse;
|
|
11
|
+
width: 100%;
|
|
12
|
+
background: white;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
td {
|
|
16
|
+
width: 33%
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
table, th, td {
|
|
20
|
+
border: 1px solid lightgray;
|
|
21
|
+
}
|
|
22
|
+
</style>
|
|
23
|
+
<%= submit_tag 'Export', form: "translate", onclick: "document.getElementById('translate').submit()" %>
|
|
24
|
+
</header>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
<%= form_tag vaultify_export_path + '.csv', id: 'translate', method: 'post', multipart: true do %>
|
|
28
|
+
|
|
29
|
+
<%= select_tag 'field', options_for_select(@fields.map {|f, v| [f, f]}), onchange: 'loadTable(this);' %>
|
|
30
|
+
|
|
31
|
+
<% @fields.each do |field, api| %>
|
|
32
|
+
<table id="<%= field %>" class="" style="display: <%= 'none' unless @fields.keys.first==field %>;">
|
|
33
|
+
<span id="<%= field %>_api" class="no-dis"><%= api %></span>
|
|
34
|
+
<tr>
|
|
35
|
+
<th>Title</th>
|
|
36
|
+
<th>Original</th>
|
|
37
|
+
<th>Adjusted</th>
|
|
38
|
+
</tr>
|
|
39
|
+
<% @csv.each_with_index do |row, row_index| %>
|
|
40
|
+
<tr id="<%= field + "-" + row_index.to_s %>" onclick="openModal(this)">
|
|
41
|
+
<td class="title"><%= row['title'] %></td>
|
|
42
|
+
<td class="original">
|
|
43
|
+
<ul class="original-list">
|
|
44
|
+
<% unless row[field].nil? %>
|
|
45
|
+
<% row[field].split(@mvs).each do |li| %>
|
|
46
|
+
<li><%= li %></li>
|
|
47
|
+
<% end %>
|
|
48
|
+
<% end %>
|
|
49
|
+
</ul>
|
|
50
|
+
</td>
|
|
51
|
+
<td class="adjusted">
|
|
52
|
+
<ul class="adjusted-list">
|
|
53
|
+
<% unless row["#{field}-adjusted"].nil? %>
|
|
54
|
+
<% row["#{field}-adjusted"].split(@mvs).each_with_index do |li, li_index| %>
|
|
55
|
+
<li>
|
|
56
|
+
<%= li.split('url:').first %>
|
|
57
|
+
<%= hidden_field_tag field + "[" + row_index.to_s + '][' + li_index.to_s + ']', li.split('url:').last, class: "url no-dis" %>
|
|
58
|
+
</li>
|
|
59
|
+
<% end %>
|
|
60
|
+
<% end %>
|
|
61
|
+
</ul>
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
<% end %>
|
|
65
|
+
</table>
|
|
66
|
+
<% end %>
|
|
67
|
+
<% end %>
|
|
68
|
+
</br>
|
|
69
|
+
</br>
|
|
70
|
+
</br>
|
|
71
|
+
<%= render 'modal' %>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<div id="wrapper">
|
|
2
|
+
<header>
|
|
3
|
+
<h1>Welcome to the Vaultify Application</h1>
|
|
4
|
+
<style>
|
|
5
|
+
Body {text-align:center}
|
|
6
|
+
</style>
|
|
7
|
+
</header>
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
</br>
|
|
11
|
+
</br>
|
|
12
|
+
</br>
|
|
13
|
+
<%= form_tag vaultify_translate_path, method: 'post', multipart: true do %>
|
|
14
|
+
|
|
15
|
+
<%= file_field_tag 'csv', accept: 'text/csv', onchange: "fileValidation();" %>
|
|
16
|
+
<%= submit_tag 'upload file' %>
|
|
17
|
+
|
|
18
|
+
<% end %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Rails.application.config.session_store :active_record_store, :key => '_vaultify_session'
|
data/config/routes.rb
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
Vaultify::Engine.routes.draw do
|
|
2
|
+
get '/upload', to: 'vaultify#upload', as: 'vaultify_upload'
|
|
3
|
+
post '/translate', to: 'vaultify#translate', as: 'vaultify_translate'
|
|
4
|
+
post '/export', to: 'vaultify#export', as: 'vaultify_export'
|
|
5
|
+
get '/fast', to: 'vaultify#fast', as: 'vaultify_fast'
|
|
6
|
+
get '/aat', to: 'vaultify#aat', as: 'vaultify_aat'
|
|
7
|
+
get '/edtf', to: 'vaultify#edtf', as: 'vaultify_edtf'
|
|
8
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
class AddSessionsTable < ActiveRecord::Migration[5.0]
|
|
2
|
+
def change
|
|
3
|
+
create_table :sessions do |t|
|
|
4
|
+
t.string :session_id, :null => false
|
|
5
|
+
t.text :data
|
|
6
|
+
t.timestamps
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
add_index :sessions, :session_id, :unique => true
|
|
10
|
+
add_index :sessions, :updated_at
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
class Vaultify::InstallGenerator < Rails::Generators::Base
|
|
2
|
+
source_root File.expand_path('../templates', __FILE__)
|
|
3
|
+
|
|
4
|
+
def inject_routes
|
|
5
|
+
insert_into_file "config/routes.rb", after: ".draw do" do
|
|
6
|
+
%(\n mount Vaultify::Engine => '/vaultify'\n)
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def inject_vaultify_yml
|
|
11
|
+
copy_file "config/vaultify.yml", "config/vaultify.yml"
|
|
12
|
+
end
|
|
13
|
+
end
|
data/lib/vaultify.rb
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Vaultify
|
|
2
|
+
class Engine < ::Rails::Engine
|
|
3
|
+
isolate_namespace Vaultify
|
|
4
|
+
class << self
|
|
5
|
+
|
|
6
|
+
def config
|
|
7
|
+
file = File.open(File.join(::Rails.root, "/config/vaultify.yml"))
|
|
8
|
+
@config ||= YAML.safe_load(file)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# loads a yml file with the configuration options
|
|
12
|
+
#
|
|
13
|
+
# @param file [String] path to the yml file
|
|
14
|
+
#
|
|
15
|
+
def load_config(file)
|
|
16
|
+
@config = YAML.load_file(file)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: vaultify
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Braydon Justice
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2018-12-15 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: rails
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '5.0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '5.0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: sqlite3
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: engine_cart
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
55
|
+
description: Data standardization application
|
|
56
|
+
email: bjustice@uvic.ca
|
|
57
|
+
executables: []
|
|
58
|
+
extensions: []
|
|
59
|
+
extra_rdoc_files: []
|
|
60
|
+
files:
|
|
61
|
+
- LICENSE
|
|
62
|
+
- README.md
|
|
63
|
+
- Rakefile
|
|
64
|
+
- app/assets/config/vaultify_manifest.js
|
|
65
|
+
- app/assets/javascripts/vaultify/aat.js
|
|
66
|
+
- app/assets/javascripts/vaultify/application.js
|
|
67
|
+
- app/assets/javascripts/vaultify/autocomplete.js
|
|
68
|
+
- app/assets/javascripts/vaultify/dcmi.js
|
|
69
|
+
- app/assets/javascripts/vaultify/edtf.js
|
|
70
|
+
- app/assets/javascripts/vaultify/fast.js
|
|
71
|
+
- app/assets/javascripts/vaultify/horsey.js
|
|
72
|
+
- app/assets/javascripts/vaultify/iso.js
|
|
73
|
+
- app/assets/javascripts/vaultify/vaultify.js.erb
|
|
74
|
+
- app/assets/stylesheets/vaultify/application.css
|
|
75
|
+
- app/assets/stylesheets/vaultify/horsey.css
|
|
76
|
+
- app/assets/stylesheets/vaultify/vaultify.css
|
|
77
|
+
- app/controllers/vaultify/application_controller.rb
|
|
78
|
+
- app/controllers/vaultify/vaultify_controller.rb
|
|
79
|
+
- app/helpers/vaultify/application_helper.rb
|
|
80
|
+
- app/helpers/vaultify/edtf_helper.rb
|
|
81
|
+
- app/jobs/vaultify/application_job.rb
|
|
82
|
+
- app/mailers/vaultify/application_mailer.rb
|
|
83
|
+
- app/models/vaultify/application_record.rb
|
|
84
|
+
- app/views/layouts/vaultify/application.html.erb
|
|
85
|
+
- app/views/vaultify/vaultify/_modal.html.erb
|
|
86
|
+
- app/views/vaultify/vaultify/translate.html.erb
|
|
87
|
+
- app/views/vaultify/vaultify/upload.html.erb
|
|
88
|
+
- config/initializers/session_store.rb
|
|
89
|
+
- config/routes.rb
|
|
90
|
+
- db/migrate/20181127173405_add_sessions_table.rb
|
|
91
|
+
- lib/generators/vaultify/install/install_generator.rb
|
|
92
|
+
- lib/generators/vaultify/install/templates/config/vaultify.yml
|
|
93
|
+
- lib/tasks/vaultify_tasks.rake
|
|
94
|
+
- lib/vaultify.rb
|
|
95
|
+
- lib/vaultify/engine.rb
|
|
96
|
+
- lib/vaultify/version.rb
|
|
97
|
+
homepage: https://github.com/UVicLibrary/vaultify
|
|
98
|
+
licenses:
|
|
99
|
+
- Apache 2.0
|
|
100
|
+
metadata: {}
|
|
101
|
+
post_install_message:
|
|
102
|
+
rdoc_options: []
|
|
103
|
+
require_paths:
|
|
104
|
+
- lib
|
|
105
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
110
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
|
+
requirements:
|
|
112
|
+
- - ">="
|
|
113
|
+
- !ruby/object:Gem::Version
|
|
114
|
+
version: '0'
|
|
115
|
+
requirements: []
|
|
116
|
+
rubyforge_project:
|
|
117
|
+
rubygems_version: 2.7.7
|
|
118
|
+
signing_key:
|
|
119
|
+
specification_version: 4
|
|
120
|
+
summary: Standardizes metadata
|
|
121
|
+
test_files: []
|