abstractor 4.0.1 → 4.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/app/assets/images/abstractor/page_green.png +0 -0
- data/app/assets/stylesheets/abstractor/abstractor_abstractions.css +45 -122
- data/app/views/abstractor/abstractor_abstraction_groups/_form.html.haml +7 -7
- data/app/views/abstractor/abstractor_abstractions/_abstraction_history.html.haml +17 -0
- data/app/views/abstractor/abstractor_abstractions/_fields.html.haml +38 -57
- data/app/views/abstractor/abstractor_abstractions/_grouped_abstractions_list.html.haml +23 -0
- data/app/views/abstractor/abstractor_abstractions/_list.html.haml +5 -36
- data/app/views/abstractor/abstractor_abstractions/_ungrouped_abstractions_list.html.haml +22 -0
- data/app/views/abstractor/abstractor_abstractions/edit.html.haml +5 -6
- data/lib/abstractor/methods/models/abstractor_subject.rb +2 -3
- data/lib/abstractor/version.rb +1 -1
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NmFjZjhkYzhlZWVkZGI1M2Q2YWZkNmUxNTk2OGZjMDljMzc5NWNjNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NzNmMzg2ZTI1Mjc3ZTU2MjI1YmEyNjE3NjVlMTRhMmU0YWIzZjI2Mw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDEwYzc1NWM5MDZjMDYwMGIxZjY1OGQ2NGU2ZGU4MzUxYmE4MTllYTkwYTg3
|
10
|
+
ZWYzNjE3YTBkNTVmMzY2MjczZGZiMGMxZTQ1MzVhNjljMjA1MjQwNWIyMTVm
|
11
|
+
ZTg3OGI4YWU0YjA3OGE5NzkxYjI2YjZlZTFkNGY2ZGNhYjM1YzA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NDMyM2FkYTAwYjQ4ZDc2MGY5NmU4OTM1MzQxNDhhNWEyZmZiZTE3MTFmOTQx
|
14
|
+
NmRmOGZiNTQzOGI4YTVmMWQ2MDg5YWM4MWQyNmYzMWRjYTQxZDg1ODI0NWYx
|
15
|
+
YzQ4MTlmNmQyMzI4NTI3ZThkNjk0YTQ0ODI1MDQzOTk3NjgxMGM=
|
Binary file
|
@@ -51,146 +51,53 @@
|
|
51
51
|
margin: 0.1em 0 0.25em !important;
|
52
52
|
}
|
53
53
|
|
54
|
-
.abstractor_abstractions fieldset .
|
55
|
-
|
56
|
-
|
57
|
-
margin-right: 10px;
|
58
|
-
width: 62.625px;
|
59
|
-
}
|
60
|
-
|
61
|
-
* html .abstractor_abstractions fieldset .column-1-5 {
|
62
|
-
overflow-x: hidden;
|
63
|
-
}
|
64
|
-
|
65
|
-
.abstractor_abstractions fieldset .column-1 {
|
66
|
-
display: inline;
|
67
|
-
float: left;
|
68
|
-
margin-right: 10px;
|
69
|
-
width: 38.41667px;
|
70
|
-
}
|
71
|
-
|
72
|
-
* html .abstractor_abstractions fieldset .column-1 {
|
73
|
-
overflow-x: hidden;
|
74
|
-
}
|
75
|
-
|
76
|
-
.abstractor_abstractions fieldset .column-2 {
|
77
|
-
display: inline;
|
78
|
-
float: left;
|
79
|
-
margin-right: 10px;
|
80
|
-
width: 86.83333px;
|
81
|
-
}
|
82
|
-
|
83
|
-
* html .abstractor_abstractions fieldset .column-2 {
|
84
|
-
overflow-x: hidden;
|
85
|
-
}
|
86
|
-
|
87
|
-
.abstractor_abstractions fieldset .column-3 {
|
54
|
+
.abstractor_abstractions fieldset .abstractor_abstraction_schema_name,
|
55
|
+
.abstractor_abstractions fieldset .abstractor_suggestion_status,
|
56
|
+
.abstractor_abstractions fieldset .abstractor_suggestion_sources {
|
88
57
|
display: inline;
|
89
58
|
float: left;
|
90
59
|
margin-right: 10px;
|
91
60
|
width: 135.25px;
|
92
61
|
}
|
93
62
|
|
94
|
-
|
95
|
-
overflow-x: hidden;
|
96
|
-
}
|
97
|
-
|
98
|
-
.abstractor_abstractions fieldset .column-4 {
|
63
|
+
.abstractor_abstractions fieldset .abstraction_edit_abstraction_actions {
|
99
64
|
display: inline;
|
100
65
|
float: left;
|
101
66
|
margin-right: 10px;
|
102
67
|
width: 183.66667px;
|
103
68
|
}
|
104
69
|
|
105
|
-
|
106
|
-
|
107
|
-
}
|
108
|
-
|
109
|
-
.abstractor_abstractions fieldset .column-5 {
|
70
|
+
.abstractor_abstractions fieldset .abstractor_abstraction_value,
|
71
|
+
.abstractor_abstractions fieldset .abstractor_suggestion_values {
|
110
72
|
display: inline;
|
111
73
|
float: left;
|
112
74
|
margin-right: 10px;
|
113
75
|
width: 232.08333px;
|
114
76
|
}
|
115
77
|
|
116
|
-
* html .abstractor_abstractions fieldset .column-5 {
|
117
|
-
overflow-x: hidden;
|
118
|
-
}
|
119
78
|
|
120
|
-
.abstractor_abstractions fieldset .
|
121
|
-
display: inline;
|
122
|
-
float: left;
|
123
|
-
margin-right: 10px;
|
124
|
-
width: 280.5px;
|
125
|
-
}
|
126
|
-
|
127
|
-
* html .abstractor_abstractions fieldset .column-6 {
|
128
|
-
overflow-x: hidden;
|
129
|
-
}
|
130
|
-
|
131
|
-
.abstractor_abstractions fieldset .column-7 {
|
79
|
+
.abstractor_abstractions fieldset .abstraction_edit_abstraction_value {
|
132
80
|
display: inline;
|
133
81
|
float: left;
|
134
82
|
margin-right: 10px;
|
135
83
|
width: 328.91667px;
|
136
84
|
}
|
137
85
|
|
138
|
-
|
139
|
-
overflow-x: hidden;
|
140
|
-
}
|
141
|
-
|
142
|
-
.abstractor_abstractions fieldset .column-8 {
|
143
|
-
display: inline;
|
144
|
-
float: left;
|
145
|
-
margin-right: 10px;
|
146
|
-
width: 377.33333px;
|
147
|
-
}
|
148
|
-
|
149
|
-
* html .abstractor_abstractions fieldset .column-8 {
|
150
|
-
overflow-x: hidden;
|
151
|
-
}
|
152
|
-
|
153
|
-
.abstractor_abstractions fieldset .column-9 {
|
86
|
+
.abstractor_abstractions fieldset .abstractor_suggestions {
|
154
87
|
display: inline;
|
155
88
|
float: left;
|
156
89
|
margin-right: 10px;
|
157
90
|
width: 425.75px;
|
158
91
|
}
|
159
92
|
|
160
|
-
* html .abstractor_abstractions fieldset .
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
.abstractor_abstractions fieldset .
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
width: 474.16667px;
|
169
|
-
}
|
170
|
-
|
171
|
-
* html .abstractor_abstractions fieldset .column-10 {
|
172
|
-
overflow-x: hidden;
|
173
|
-
}
|
174
|
-
|
175
|
-
.abstractor_abstractions fieldset .column-11 {
|
176
|
-
display: inline;
|
177
|
-
float: left;
|
178
|
-
margin-right: 10px;
|
179
|
-
width: 522.58333px;
|
180
|
-
}
|
181
|
-
|
182
|
-
* html .abstractor_abstractions fieldset .column-11 {
|
183
|
-
overflow-x: hidden;
|
184
|
-
}
|
185
|
-
|
186
|
-
.abstractor_abstractions fieldset .column-12 {
|
187
|
-
display: inline;
|
188
|
-
float: left;
|
189
|
-
margin-right: 10px;
|
190
|
-
width: 571px;
|
191
|
-
}
|
192
|
-
|
193
|
-
* html .abstractor_abstractions fieldset .column-12 {
|
93
|
+
* html .abstractor_abstractions fieldset .abstractor_abstraction_schema_name,
|
94
|
+
* html .abstractor_abstractions fieldset .abstractor_suggestion_status,
|
95
|
+
* html .abstractor_abstractions fieldset .abstractor_suggestion_sources,
|
96
|
+
* html .abstractor_abstractions fieldset .abstraction_edit_abstraction_actions,
|
97
|
+
* html .abstractor_abstractions fieldset .abstractor_abstraction_value,
|
98
|
+
* html .abstractor_abstractions fieldset .abstractor_suggestion_values,
|
99
|
+
* html .abstractor_abstractions fieldset .abstraction_edit_abstraction_value,
|
100
|
+
* html .abstractor_abstractions fieldset .abstractor_suggestions {
|
194
101
|
overflow-x: hidden;
|
195
102
|
}
|
196
103
|
|
@@ -198,7 +105,7 @@
|
|
198
105
|
clear: both;
|
199
106
|
}
|
200
107
|
|
201
|
-
.abstractor_abstractions fieldset .
|
108
|
+
.abstractor_abstractions fieldset .abstractor_abstraction_schema_name {
|
202
109
|
font-weight: bold;
|
203
110
|
margin-bottom: 0.3em;
|
204
111
|
}
|
@@ -230,8 +137,18 @@
|
|
230
137
|
margin-right: .5em;
|
231
138
|
}
|
232
139
|
|
233
|
-
.abstractor_abstractions fieldset .abstractor_abstraction_source_tooltip_img
|
140
|
+
.abstractor_abstractions fieldset .abstractor_abstraction_source_tooltip_img {
|
141
|
+
margin-left: 5px;
|
142
|
+
}
|
143
|
+
.abstractor_abstractions fieldset .abstractor_abstraction_source_tooltip_img i {
|
144
|
+
background: url('page.png') no-repeat;
|
234
145
|
vertical-align: text-bottom;
|
146
|
+
padding: 2px 10px;
|
147
|
+
vertical-align: middle;
|
148
|
+
}
|
149
|
+
|
150
|
+
.abstractor_abstractions fieldset .abstractor_abstraction_source_tooltip_img i.abstraction_text_link_match {
|
151
|
+
background: url('page_green.png') no-repeat;
|
235
152
|
}
|
236
153
|
|
237
154
|
.abstractor_abstractions fieldset .hidden {
|
@@ -253,15 +170,9 @@
|
|
253
170
|
ul.ui-autocomplete, .ui-dialog {
|
254
171
|
z-index: 1000 !important;
|
255
172
|
}
|
256
|
-
.
|
257
|
-
|
258
|
-
|
259
|
-
clear: both;
|
260
|
-
float: none;
|
261
|
-
width: 100%;
|
262
|
-
height: 0.1em;
|
263
|
-
margin: 0 0 1.45em;
|
264
|
-
border: none;
|
173
|
+
.abstractor_bottom_border {
|
174
|
+
border-bottom: 1px solid #dddddd;
|
175
|
+
overflow: auto;
|
265
176
|
}
|
266
177
|
|
267
178
|
/* Tooltips */
|
@@ -324,7 +235,7 @@ span.tooltip_img {
|
|
324
235
|
font-style:italic
|
325
236
|
}
|
326
237
|
|
327
|
-
.abstractor_abstraction_actions
|
238
|
+
.abstractor_abstraction_actions a{
|
328
239
|
float: right;
|
329
240
|
}
|
330
241
|
.abstractor_abstraction_actions a {
|
@@ -357,4 +268,16 @@ span.tooltip_img {
|
|
357
268
|
|
358
269
|
.abstractor_suggestion_values .custom_explanation label {
|
359
270
|
font-weight: bold !important;
|
360
|
-
}
|
271
|
+
}
|
272
|
+
ul.abstractor_suggestion_status_group {
|
273
|
+
list-style: none;
|
274
|
+
margin: 0;
|
275
|
+
padding: 0;
|
276
|
+
}
|
277
|
+
.abstractor_abstractions_header,
|
278
|
+
.abstractor_abstraction_group_member,
|
279
|
+
.abstractor_abstraction_group_actions {
|
280
|
+
border-bottom: 1px solid #dddddd;
|
281
|
+
overflow: auto;
|
282
|
+
padding-bottom: 0.25em;
|
283
|
+
}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
- abstractor_abstraction_group ||= @abstractor_abstraction_group
|
2
2
|
|
3
3
|
.abstractor_abstraction_group
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
.abstractor_abstraction_group_member
|
5
|
+
- abstractor_abstractions = abstractor_abstraction_group.abstractor_abstractions.not_deleted.joins(:abstractor_subject => :abstractor_subject_group_member).order('abstractor_subject_group_members.display_order')
|
6
|
+
- abstractor_abstractions.each_with_index do |abstractor_abstraction, index|
|
7
|
+
%div{ class: "abstractor_abstraction #{Abstractor::Utility.dehumanize(abstractor_abstraction.abstractor_subject.abstractor_abstraction_schema.predicate)} #{'abstractor_bottom_border' if index < abstractor_abstractions.length - 1}" }
|
8
|
+
= render :partial => 'abstractor/abstractor_abstractions/fields', :locals => {:abstractor_abstraction => abstractor_abstraction}
|
9
|
+
.abstractor_abstraction_group_actions.abstractor_abstraction_actions
|
9
10
|
= link_to 'Not applicable group ', Abstractor::UserInterface.abstractor_relative_path(abstractor.abstractor_abstraction_group_path(abstractor_abstraction_group, abstractor_abstraction_value: 'not applicable')), data: { confirm: 'Are you sure?'} , method: :put, class: "abstractor_group_not_applicable_all_link", remote: true
|
10
11
|
= link_to 'Unknown group ', Abstractor::UserInterface.abstractor_relative_path(abstractor.abstractor_abstraction_group_path(abstractor_abstraction_group, abstractor_abstraction_value: 'unknown')), data: { confirm: 'Are you sure?'}, method: :put, class: 'abstractor_group_unknown_all_link', remote: true
|
11
12
|
- if abstractor_abstraction_group.removable?
|
12
|
-
= link_to 'Delete group', Abstractor::UserInterface.abstractor_relative_path(abstractor.abstractor_abstraction_group_path(abstractor_abstraction_group)), data: { confirm: 'Are you sure?'}, method: :delete, class: "abstractor_group_delete_link", remote: true
|
13
|
-
%hr
|
13
|
+
= link_to 'Delete group', Abstractor::UserInterface.abstractor_relative_path(abstractor.abstractor_abstraction_group_path(abstractor_abstraction_group)), data: { confirm: 'Are you sure?'}, method: :delete, class: "abstractor_group_delete_link", remote: true
|
@@ -0,0 +1,17 @@
|
|
1
|
+
- if versions.any?
|
2
|
+
%br
|
3
|
+
%b History:
|
4
|
+
- versions.each do |version|
|
5
|
+
.version
|
6
|
+
.version_date
|
7
|
+
%i
|
8
|
+
Date:
|
9
|
+
= version.created_at.to_date.to_s(:date)
|
10
|
+
.version_value
|
11
|
+
%i
|
12
|
+
Value:
|
13
|
+
= version.reify.display_value
|
14
|
+
.version_user
|
15
|
+
%i
|
16
|
+
User:
|
17
|
+
= version.originator
|
@@ -6,41 +6,23 @@
|
|
6
6
|
- about = abstractor_abstraction.about
|
7
7
|
|
8
8
|
.abstractor_abstraction_display
|
9
|
-
.
|
10
|
-
.
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
- if rejected_suggestions.length == abstractor_suggestions.length
|
15
|
-
%span.editable_abstraction
|
16
|
-
= abstractor_abstraction.display_value
|
17
|
-
= link_to 'edit', Abstractor::UserInterface.abstractor_relative_path(abstractor.edit_abstractor_abstraction_path(abstractor_abstraction)), :class=>'icon_link edit_link'
|
18
|
-
- else
|
9
|
+
.abstractor_abstraction_schema_name
|
10
|
+
= abstractor_abstraction_schema.display_name
|
11
|
+
.abstractor_abstraction_value
|
12
|
+
- if rejected_suggestions.length == abstractor_suggestions.length
|
13
|
+
%span.editable_abstraction
|
19
14
|
= abstractor_abstraction.display_value
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
.
|
31
|
-
%i
|
32
|
-
Value:
|
33
|
-
= "#{version.reify.display_value}"
|
34
|
-
.version_user
|
35
|
-
%i
|
36
|
-
User:
|
37
|
-
= "#{version.originator}"
|
38
|
-
- if abstractor_suggestions.any?
|
39
|
-
.column-9
|
40
|
-
- abstractor_suggestions.each do |abstractor_suggestion|
|
41
|
-
= form_for [abstractor_abstraction, abstractor_suggestion], url: Abstractor::UserInterface.abstractor_relative_path(abstractor.abstractor_abstraction_abstractor_suggestion_path(abstractor_abstraction, abstractor_suggestion)), method: :put, remote: true, html: { class: 'edit_abstractor_suggestion' } do |f|
|
42
|
-
= render 'abstractor/shared/error_messages', :object => f.object
|
43
|
-
.column-5
|
15
|
+
= link_to 'edit', Abstractor::UserInterface.abstractor_relative_path(abstractor.edit_abstractor_abstraction_path(abstractor_abstraction)), :class=>'icon_link edit_link'
|
16
|
+
- else
|
17
|
+
= abstractor_abstraction.display_value
|
18
|
+
- versions = abstractor_abstraction.versions.sort{|a,b| b.created_at <=> a.created_at}.reject{|v| v.reify.blank? || v.reify.display_value =~ /not set/i}
|
19
|
+
= render partial: 'abstractor/abstractor_abstractions/abstraction_history', locals: { versions: versions }
|
20
|
+
.abstractor_suggestions
|
21
|
+
- if abstractor_suggestions.any?
|
22
|
+
- abstractor_suggestions.each_with_index do |abstractor_suggestion, index|
|
23
|
+
.abstractor_suggestion{ class: "#{'abstractor_bottom_border' if index < abstractor_suggestions.length - 1}"}
|
24
|
+
= form_for [abstractor_abstraction, abstractor_suggestion], url: Abstractor::UserInterface.abstractor_relative_path(abstractor.abstractor_abstraction_abstractor_suggestion_path(abstractor_abstraction, abstractor_suggestion)), method: :put, remote: true, html: { class: 'edit_abstractor_suggestion' } do |f|
|
25
|
+
= render 'abstractor/shared/error_messages', object: f.object
|
44
26
|
.abstractor_suggestion_values
|
45
27
|
= abstractor_suggestion.display_value
|
46
28
|
- if abstractor_suggestion.abstractor_suggestion_sources.any?
|
@@ -48,38 +30,37 @@
|
|
48
30
|
- source_about = abstractor_suggestion_source.source_type.constantize.find(abstractor_suggestion_source.source_id)
|
49
31
|
- from_method = abstractor_suggestion_source.source_method
|
50
32
|
- if from_method && source_about.respond_to?(from_method)
|
51
|
-
|
52
|
-
|
53
|
-
%
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
33
|
+
- abstractable_from_column = source_about.send(from_method)
|
34
|
+
- has_text_match = abstractable_from_column && abstractor_suggestion_source.sentence_match_value
|
35
|
+
%span{ class: 'abstractor_abstraction_source_tooltip_img', rel: "#abstraction_text_#{abstractor_suggestion_source.id}", title: "#{source_about.class.to_s} #{from_method}"}
|
36
|
+
%i{ id: "abstraction_text_link_#{abstractor_suggestion_source.id}", class: "#{'abstraction_text_link_match' if has_text_match}" }
|
37
|
+
%div{ id: "abstraction_text_#{abstractor_suggestion_source.id}", class: 'abstractor_abstraction_source_tooltip'}
|
38
|
+
- if has_text_match
|
39
|
+
= Abstractor::UserInterface.highlight(simple_format(abstractable_from_column.clone), abstractor_suggestion_source.sentence_match_value.strip)
|
40
|
+
- else
|
41
|
+
= simple_format(abstractable_from_column.clone)
|
60
42
|
- if abstractor_suggestion_source.custom_explanation
|
61
43
|
.custom_explanation
|
62
44
|
%label
|
63
45
|
Explanation:
|
64
46
|
.explanation_text
|
65
47
|
= abstractor_suggestion_source.custom_explanation
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
.column-9
|
48
|
+
.abstractor_suggestion_status
|
49
|
+
%ul.abstractor_suggestion_status_group
|
50
|
+
- values = Abstractor::AbstractorSuggestionStatus.all.sort_by(&:name).map{|s| [s.name, s.id] }
|
51
|
+
- values.each do |value|
|
52
|
+
- id = "abstractor_suggestion_abstractor_suggestion_status_id_#{value.last}_#{abstractor_suggestion.id}"
|
53
|
+
%li
|
54
|
+
= f.radio_button :abstractor_suggestion_status_id, value.last, id: id, class: 'abstractor_suggestion_status_selection'
|
55
|
+
= f.label :abstractor_suggestion_status_id, value.first, value: value.last, for: id, class: "abstractor_suggestion_status_selection_label #{f.object.abstractor_suggestion_status_id == value.last ? 'abstractor_suggestion_status_selection_label_active' : 'abstractor_suggestion_status_selection_label_inactive' }"
|
56
|
+
= f.radio_button :abstractor_suggestion_status_id, '', { style: 'display:none;' }
|
57
|
+
- else
|
77
58
|
- abstractor_abstraction.abstractor_subject.abstractor_abstraction_sources.select { |s| s.abstractor_abstraction_source_type.name == 'nlp suggestion' }.each do |abstractor_abstraction_source|
|
78
59
|
- abstractor_abstraction_source.normalize_from_method_to_sources(abstractor_abstraction.about).each do |source|
|
79
60
|
- dom_id = "#{abstractor_abstraction_source.id}_#{source[:source_type]}_#{source[:source_id]}_#{source[:source_method]}"
|
80
|
-
%span{ :
|
81
|
-
|
61
|
+
%span{ class: 'abstractor_abstraction_source_tooltip_img', rel: "#abstraction_text_#{dom_id}", title: "#{source[:source_type].to_s} #{source[:source_method]}"}
|
62
|
+
%i{ id: "abstraction_text_link_#{dom_id}" }
|
82
63
|
%br
|
83
|
-
%div{ :
|
64
|
+
%div{ id: "abstraction_text_#{dom_id}", class: 'tooltip'}
|
84
65
|
= simple_format(source[:source_type].find(source[:source_id]).send(source[:source_method]))
|
85
66
|
.clear
|
@@ -0,0 +1,23 @@
|
|
1
|
+
.abstractor_abstractions_grouped
|
2
|
+
- abstractor_subject_groups = about.class.abstractor_subject_groups(namespace_type: namespace_type, namespace_id: namespace_id)
|
3
|
+
- abstractor_subject_groups.each do |abstractor_subject_group|
|
4
|
+
.abstractor_subject_groups_container
|
5
|
+
%b= abstractor_subject_group.name
|
6
|
+
%fieldset
|
7
|
+
.abstractor_abstractions_header
|
8
|
+
.abstractor_abstraction_schema_name
|
9
|
+
%b Name
|
10
|
+
.abstractor_abstraction_value
|
11
|
+
%b Value
|
12
|
+
.abstractor_suggestions
|
13
|
+
.abstractor_suggestion_values
|
14
|
+
%b Suggestions
|
15
|
+
.abstractor_suggestion_status
|
16
|
+
%b Status
|
17
|
+
.clear
|
18
|
+
.abstractor_abstractions_body.abstractor_subject_groups
|
19
|
+
- abstractor_abstraction_groups = about.abstractor_abstraction_groups_by_namespace(namespace_type: namespace_type, namespace_id: namespace_id, abstractor_subject_group_id: abstractor_subject_group.id)
|
20
|
+
- abstractor_abstraction_groups.each do |abstractor_abstraction_group|
|
21
|
+
= render partial: 'abstractor/abstractor_abstraction_groups/form', locals: {abstractor_abstraction_group: abstractor_abstraction_group}
|
22
|
+
= link_to 'Add group', Abstractor::UserInterface.abstractor_relative_path(abstractor.abstractor_abstraction_groups_path(about_id: about.id, about_type: about.class.name, abstractor_subject_group_id: abstractor_subject_group.id)), data: { confirm: 'Are you sure?'}, method: :post, class: 'abstractor_group_add_link', remote: true
|
23
|
+
.clear
|
@@ -1,43 +1,12 @@
|
|
1
1
|
- about ||= @about
|
2
2
|
- namespace_type ||= @namespace_type
|
3
3
|
- namespace_id ||= @namespace_id
|
4
|
+
|
4
5
|
.abstractor_abstractions
|
5
6
|
= link_to 'Not applicable all', Abstractor::UserInterface.abstractor_relative_path(abstractor.update_all_abstractor_abstractions_path(about_type: about.class, about_id: about.id, abstractor_abstraction_value: 'not applicable')), data: { confirm: 'Are you sure?'}, method: :put, class: 'abstractor_not_applicable_all_link'
|
6
7
|
= link_to 'Unknown all', Abstractor::UserInterface.abstractor_relative_path(abstractor.update_all_abstractor_abstractions_path(about_type: about.class, about_id: about.id, abstractor_abstraction_value: 'unknown')), data: { confirm: 'Are you sure?'}, method: :put, class: 'abstractor_unknown_all_link'
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
%fieldset
|
12
|
-
.column-3
|
13
|
-
%b Name
|
14
|
-
.column-5
|
15
|
-
%b Value
|
16
|
-
.column-5
|
17
|
-
%b Suggestions
|
18
|
-
.column-3
|
19
|
-
%b Status
|
20
|
-
%hr
|
21
|
-
.abstractor_subject_groups
|
22
|
-
- abstractor_abstraction_groups = about.abstractor_abstraction_groups_by_namespace(namespace_type: namespace_type, namespace_id: namespace_id, abstractor_subject_group_id: abstractor_subject_group.id)
|
23
|
-
- abstractor_abstraction_groups.each_with_index do |abstractor_abstraction_group, index|
|
24
|
-
= render partial: 'abstractor/abstractor_abstraction_groups/form', locals: {abstractor_abstraction_group: abstractor_abstraction_group}
|
25
|
-
= link_to 'Add group', Abstractor::UserInterface.abstractor_relative_path(abstractor.abstractor_abstraction_groups_path(about_id: about.id, about_type: about.class.name, abstractor_subject_group_id: abstractor_subject_group.id)), data: { confirm: 'Are you sure?'}, method: :post, class: 'abstractor_group_add_link', remote: true
|
26
|
-
.clear
|
27
|
-
- ungrouped_subjects = about.class.abstractor_subjects(grouped: false, namespace_type: namespace_type, namespace_id: namespace_id)
|
28
|
-
- if ungrouped_subjects.any?
|
29
|
-
%fieldset
|
30
|
-
.column-3
|
31
|
-
%b Name
|
32
|
-
.column-5
|
33
|
-
%b Value
|
34
|
-
.column-5
|
35
|
-
%b Suggestions
|
36
|
-
.column-3
|
37
|
-
%b Status
|
38
|
-
%hr
|
39
|
-
- ungrouped_subjects.each do |ungrouped_subject|
|
40
|
-
- ungrouped_subject.abstractor_abstractions.not_deleted.where(:about_id => about.id).each do |abstractor_abstraction|
|
41
|
-
%div{ class: "abstractor_abstraction #{Abstractor::Utility.dehumanize(abstractor_abstraction.abstractor_subject.abstractor_abstraction_schema.predicate)}" }
|
42
|
-
= render :partial => 'abstractor/abstractor_abstractions/fields', :locals => {:abstractor_abstraction => abstractor_abstraction}
|
8
|
+
|
9
|
+
= render partial: 'abstractor/abstractor_abstractions/grouped_abstractions_list', locals: { about: about, namespace_type: namespace_type, namespace_id: namespace_id}
|
10
|
+
= render partial: 'abstractor/abstractor_abstractions/ungrouped_abstractions_list', locals: { about: about, namespace_type: namespace_type, namespace_id: namespace_id}
|
11
|
+
|
43
12
|
#abstractor_abstraction_dialog_tooltip
|
@@ -0,0 +1,22 @@
|
|
1
|
+
.abstractor_abstractions_ungrouped
|
2
|
+
- ungrouped_subjects = about.class.abstractor_subjects(grouped: false, namespace_type: namespace_type, namespace_id: namespace_id)
|
3
|
+
- if ungrouped_subjects.any?
|
4
|
+
%fieldset
|
5
|
+
.abstractor_abstractions_header
|
6
|
+
.abstractor_abstraction_schema_name
|
7
|
+
%b Name
|
8
|
+
.abstractor_abstraction_value
|
9
|
+
%b Value
|
10
|
+
.abstractor_suggestions
|
11
|
+
.abstractor_suggestion_values
|
12
|
+
%b Suggestions
|
13
|
+
.abstractor_suggestion_status
|
14
|
+
%b Status
|
15
|
+
.clear
|
16
|
+
.abstractor_abstractions_body
|
17
|
+
- ungrouped_subjects.each_with_index do |ungrouped_subject, index|
|
18
|
+
- abstractor_abstractions = ungrouped_subject.abstractor_abstractions.not_deleted.where(:about_id => about.id)
|
19
|
+
- abstractor_abstractions.each do |abstractor_abstraction|
|
20
|
+
%div{ class: "abstractor_abstraction #{Abstractor::Utility.dehumanize(abstractor_abstraction.abstractor_subject.abstractor_abstraction_schema.predicate)} #{'abstractor_bottom_border' if index < ungrouped_subjects.length - 1}" }
|
21
|
+
= render :partial => 'abstractor/abstractor_abstractions/fields', :locals => {:abstractor_abstraction => abstractor_abstraction}
|
22
|
+
.clear
|
@@ -3,10 +3,9 @@
|
|
3
3
|
|
4
4
|
.abstractor_abstraction_edit
|
5
5
|
= form_for abstractor_abstraction, url: Abstractor::UserInterface.abstractor_relative_path(abstractor.abstractor_abstraction_path(abstractor_abstraction)), method: :put, :remote => true do |f|
|
6
|
-
.
|
7
|
-
.
|
8
|
-
|
9
|
-
.column-7
|
6
|
+
.abstractor_abstraction_schema_name
|
7
|
+
= abstraction_schema.display_name
|
8
|
+
.abstraction_edit_abstraction_value
|
10
9
|
- case abstraction_schema.abstractor_object_type.value
|
11
10
|
- when 'date'
|
12
11
|
= f.text_field :value, class: 'abstractor_datepicker'
|
@@ -41,7 +40,7 @@
|
|
41
40
|
|
42
41
|
= f.check_box :unknown
|
43
42
|
= f.label :unknown, 'unknown'
|
44
|
-
.
|
43
|
+
.abstractor_suggestion_sources
|
45
44
|
- abstractor_abstraction = f.object
|
46
45
|
- abstraction_sources = abstractor_abstraction.abstractor_subject.abstractor_abstraction_sources.select { |s| s.abstractor_abstraction_source_type.name != 'indirect' }
|
47
46
|
- abstraction_sources.each do |abstraction_source|
|
@@ -53,7 +52,7 @@
|
|
53
52
|
%br
|
54
53
|
%div{ :id => "abstraction_text_#{dom_id}", :class => 'tooltip'}
|
55
54
|
= simple_format(source[:source_type].find(source[:source_id]).send(source[:source_method]))
|
56
|
-
.
|
55
|
+
.abstraction_edit_abstraction_actions
|
57
56
|
= f.submit 'Save'
|
58
57
|
= link_to 'Cancel', abstractor_abstraction, :remote => true
|
59
58
|
.clear
|
@@ -156,11 +156,10 @@ module Abstractor
|
|
156
156
|
at = nil
|
157
157
|
at = abstractor_text.downcase unless abstractor_text.blank?
|
158
158
|
target_abstractor_object_value_variants.each do |abstractor_object_value_variant|
|
159
|
-
re = Regexp.new(Regexp.escape(abstractor_object_value_variant.value.downcase))
|
159
|
+
re = Regexp.new('\b' + Regexp.escape(abstractor_object_value_variant.value.downcase) + '\b')
|
160
160
|
if re =~ at
|
161
161
|
abstractor_object_value_variants << abstractor_object_value_variant
|
162
162
|
abstractor_object_values << abstractor_object_value_variant.abstractor_object_value
|
163
|
-
target_abstractor_object_value_variants.delete_if { |aovv| aovv.abstractor_object_value.id == abstractor_object_value_variant.abstractor_object_value.id }
|
164
163
|
end
|
165
164
|
end
|
166
165
|
|
@@ -168,7 +167,7 @@ module Abstractor
|
|
168
167
|
target_abstractor_object_values = target_abstractor_object_values - abstractor_object_values
|
169
168
|
|
170
169
|
target_abstractor_object_values.each do |abstractor_object_value|
|
171
|
-
re = Regexp.new(Regexp.escape(abstractor_object_value.value.downcase))
|
170
|
+
re = Regexp.new('\b' + Regexp.escape(abstractor_object_value.value.downcase) + '\b')
|
172
171
|
if re =~ at
|
173
172
|
abstractor_object_values << abstractor_object_value
|
174
173
|
end
|
data/lib/abstractor/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: abstractor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Gurley, Yulia Bushmanova
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -432,6 +432,7 @@ files:
|
|
432
432
|
- app/assets/images/abstractor/nu_logo.jpg
|
433
433
|
- app/assets/images/abstractor/nubic_logo.png
|
434
434
|
- app/assets/images/abstractor/page.png
|
435
|
+
- app/assets/images/abstractor/page_green.png
|
435
436
|
- app/assets/images/abstractor/rails.png
|
436
437
|
- app/assets/images/abstractor/robert_h_lurie.jpg
|
437
438
|
- app/assets/images/abstractor/show.png
|
@@ -474,8 +475,11 @@ files:
|
|
474
475
|
- app/models/abstractor/abstractor_suggestion_status.rb
|
475
476
|
- app/views/abstractor/abstractor_abstraction_groups/_form.html.haml
|
476
477
|
- app/views/abstractor/abstractor_abstraction_groups/edit.html.haml
|
478
|
+
- app/views/abstractor/abstractor_abstractions/_abstraction_history.html.haml
|
477
479
|
- app/views/abstractor/abstractor_abstractions/_fields.html.haml
|
480
|
+
- app/views/abstractor/abstractor_abstractions/_grouped_abstractions_list.html.haml
|
478
481
|
- app/views/abstractor/abstractor_abstractions/_list.html.haml
|
482
|
+
- app/views/abstractor/abstractor_abstractions/_ungrouped_abstractions_list.html.haml
|
479
483
|
- app/views/abstractor/abstractor_abstractions/edit.html.haml
|
480
484
|
- app/views/abstractor/abstractor_abstractions/show.html.haml
|
481
485
|
- app/views/abstractor/shared/_error_messages.html.haml
|
@@ -786,7 +790,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
786
790
|
version: '0'
|
787
791
|
requirements: []
|
788
792
|
rubyforge_project:
|
789
|
-
rubygems_version: 2.
|
793
|
+
rubygems_version: 2.4.2
|
790
794
|
signing_key:
|
791
795
|
specification_version: 4
|
792
796
|
summary: A Rails engine gem for deriving discrete data points from narrative text
|