discerner 2.0.5 → 2.0.6
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 +4 -4
- data/app/assets/stylesheets/discerner/links.sass +12 -21
- data/app/views/discerner/searches/_form_header.html.haml +1 -1
- data/app/views/discerner/searches/_list.html.haml +3 -3
- data/lib/discerner/methods/helpers/searches_helper.rb +2 -2
- data/lib/discerner/parser.rb +16 -12
- data/lib/discerner/version.rb +1 -1
- data/lib/tasks/discerner_tasks.rake +10 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 152d1ee5ab4203b8e029b97857a9597929036fb7
|
4
|
+
data.tar.gz: 8b2b268454d31fbd708b46df3775be727115e416
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ce4a79a3ccc095d2207c80f8e412073661677f338d4dcbc3b5478cb52c1a39d752b9440a1c94a4ff1a9d02136642683494244c5e0a10cb667924fe74ab89ca0
|
7
|
+
data.tar.gz: e8b84675a1a3ab72da72ecafbde6d27cab590f6445bee82e5045c2429dadffc74e78b318114454774b599d9dcc7fa6895da23acd36bb12d99041519965bae1b2
|
@@ -1,29 +1,20 @@
|
|
1
1
|
/* Link styles */
|
2
2
|
#discerner_searches, #discerner_search
|
3
|
-
.
|
3
|
+
.discerner-icon-link
|
4
4
|
:padding 2px 2px 2px 20px
|
5
|
-
:text-decoration none
|
5
|
+
:text-decoration none
|
6
6
|
|
7
|
-
.
|
8
|
-
:background url(add.png) 0 2px no-repeat
|
7
|
+
.discerner-add-link, .discerner-add-link:hover
|
8
|
+
:background url(add.png) 0 2px no-repeat
|
9
9
|
|
10
|
-
.
|
11
|
-
:background url(
|
10
|
+
.discerner-edit-link, .discerner-edit-link:hover
|
11
|
+
:background url(edit.png) 0 2px no-repeat
|
12
12
|
|
13
|
-
.
|
14
|
-
:background url(
|
13
|
+
.discerner-show-link, .discerner-show-link:hover
|
14
|
+
:background url(show.png) 0 2px no-repeat
|
15
15
|
|
16
|
-
.
|
17
|
-
:background url(
|
16
|
+
.discerner-delete-link, .discerner-delete-link:hover
|
17
|
+
:background url(delete.png) 0 2px no-repeat
|
18
18
|
|
19
|
-
.
|
20
|
-
:background url(
|
21
|
-
|
22
|
-
.list_link, .list_link:hover
|
23
|
-
:background url(list.png) 0 2px no-repeat !important
|
24
|
-
|
25
|
-
.delete_link, .delete_link:hover
|
26
|
-
:background url(delete.png) 0 2px no-repeat !important
|
27
|
-
|
28
|
-
.options_link, .options_link:hover
|
29
|
-
:background url(cog.png) 0 2px no-repeat !important
|
19
|
+
.discerner-options-link, .discerner-options-link:hover
|
20
|
+
:background url(cog.png) 0 2px no-repeat
|
@@ -15,7 +15,7 @@
|
|
15
15
|
%span.discerner_search_name
|
16
16
|
= @discerner_search.display_name
|
17
17
|
%span.discerner_search_name_edit
|
18
|
-
= link_to 'Edit', '#', class: "
|
18
|
+
= link_to 'Edit', '#', class: "discerner-edit-link discerner-icon-link"
|
19
19
|
|
20
20
|
- else
|
21
21
|
.discerner_dictionary_required_message
|
@@ -12,6 +12,6 @@
|
|
12
12
|
%td
|
13
13
|
= discerner_format_datetime(search.updated_at)
|
14
14
|
%td
|
15
|
-
= link_to 'Open', edit_search_path(search), class: '
|
16
|
-
= link_to 'Export options', export_parameters_path(search), class: '
|
17
|
-
= link_to 'Delete', search_path(search), data: {confirm: 'Are you sure?'}, method: :delete, class: "
|
15
|
+
= link_to 'Open', edit_search_path(search), class: 'discerner-show-link discerner-icon-link'
|
16
|
+
= link_to 'Export options', export_parameters_path(search), class: 'discerner-options-link discerner-icon-link' if export_discerner_results?
|
17
|
+
= link_to 'Delete', search_path(search), data: {confirm: 'Are you sure?'}, method: :delete, class: "discerner-icon-link discerner-delete-link"
|
@@ -19,13 +19,13 @@ module Discerner
|
|
19
19
|
|
20
20
|
def discerner_link_to_add_fields(name, association, html_options={})
|
21
21
|
css_class = html_options[:class] || ' '
|
22
|
-
css_class += "add_#{association.to_s} add
|
22
|
+
css_class += "add_#{association.to_s} add discerner-add-link discerner-icon-link"
|
23
23
|
html_options[:class] = css_class
|
24
24
|
link_to(name, 'javascript:void(0);', html_options)
|
25
25
|
end
|
26
26
|
|
27
27
|
def discerner_link_to_remove_fields(name, f, association)
|
28
|
-
f.hidden_field(:_destroy) + link_to(name, "javascript:void(0);", class: "delete_#{association.to_s}
|
28
|
+
f.hidden_field(:_destroy) + link_to(name, "javascript:void(0);", class: "delete_#{association.to_s} discerner-delete-link discerner-icon-link")
|
29
29
|
end
|
30
30
|
|
31
31
|
def discerner_nested_record_id(builder, assocation)
|
data/lib/discerner/parser.rb
CHANGED
@@ -410,19 +410,23 @@ module Discerner
|
|
410
410
|
end
|
411
411
|
|
412
412
|
def cleanup_dictionaries
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
413
|
+
if self.options[:prune_dictionaries].blank?
|
414
|
+
notification_message "if option --prune_dictionaries is not specified, dictionaries removed from the definition file should be deleted manually. Use `rake discerner:delete_dictionary' NAME='My dictionary name'"
|
415
|
+
else
|
416
|
+
abandoned_dictionaries = Discerner::Dictionary.order(:id).to_a - updated_dictionaries
|
417
|
+
used_dictionaries = abandoned_dictionaries.reject{|d| d.searches.blank?}
|
418
|
+
not_used_dictionaries = abandoned_dictionaries - used_dictionaries
|
419
|
+
|
420
|
+
used_dictionaries.each do |r|
|
421
|
+
notification_message("marking dictionary #{r.name} as deleted");
|
422
|
+
r.deleted_at = Time.now
|
423
|
+
error_message "dictionary could not be updated: #{r.errors.full_messages}", r.name unless r.save
|
424
|
+
end
|
422
425
|
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
+
unless not_used_dictionaries.blank?
|
427
|
+
notification_message("permanently deleting dictionaries #{not_used_dictionaries.map{|r| r.name}.join(', ')}");
|
428
|
+
not_used_dictionaries.each{|r| r.destroy}
|
429
|
+
end
|
426
430
|
end
|
427
431
|
end
|
428
432
|
|
data/lib/discerner/version.rb
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
namespace :discerner do
|
7
7
|
namespace :setup do
|
8
|
-
desc 'Load dictionaries (specify file to parse with FILE=myfile.yml) '
|
8
|
+
desc 'Load dictionaries (specify file to parse with FILE=myfile.yml), --trace gives back tracing messages, --prune_dictionaries removes dictionaries that are not specified in the definition file unless they are used in search'
|
9
9
|
task dictionaries: :environment do
|
10
10
|
file = ENV["FILE"]
|
11
11
|
raise "File name has to be provided" if file.blank?
|
12
12
|
raise "File does not exist: #{file}" unless FileTest.exists?(file)
|
13
|
-
parser = Discerner::Parser.new(trace: Rake.application.options.trace)
|
13
|
+
parser = Discerner::Parser.new(trace: Rake.application.options.trace, prune_dictionaries: Rake.application.options.prune_dictionaries)
|
14
14
|
parser.parse_dictionaries(File.read(file))
|
15
15
|
end
|
16
16
|
|
@@ -27,4 +27,12 @@ namespace :discerner do
|
|
27
27
|
Discerner::Search.destroy_all
|
28
28
|
Discerner::Dictionary.destroy_all
|
29
29
|
end
|
30
|
+
|
31
|
+
desc "Delete dictionary (specify dictionary to remove with NAME='My dictionary name')"
|
32
|
+
task delete_dictionary: :environment do
|
33
|
+
dictionary = Discerner::Dictionary.where(name: ENV["NAME"]).last
|
34
|
+
raise "Dictionary does not exist: #{ENV["NAME"]}" if dictionary.blank?
|
35
|
+
Discerner::Search.where(dictionary_id: dictionary.id).destroy_all
|
36
|
+
dictionary.delete
|
37
|
+
end
|
30
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: discerner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
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-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -511,7 +511,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
511
511
|
version: '0'
|
512
512
|
requirements: []
|
513
513
|
rubyforge_project:
|
514
|
-
rubygems_version: 2.
|
514
|
+
rubygems_version: 2.2.2
|
515
515
|
signing_key:
|
516
516
|
specification_version: 4
|
517
517
|
summary: Rails engine that provides dictionary-based search functionality
|