discerner 1.2.2 → 2.0.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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MzBlMjgzOTM3YzMyMjgzOTE0OTQ4MGUyZGUxYmZhNTA4MjRkMzUzZA==
5
- data.tar.gz: !binary |-
6
- MzE3NWQ2YmZjZTZjZWFiZWMwMDAyMWM1M2ZkMjZmZDllYmE2NDVlNw==
2
+ SHA1:
3
+ metadata.gz: 437463090eedaa431f1a8f6ee6756e032c76fc66
4
+ data.tar.gz: 81b389a852f9dfd70614aa5ac7fbca4be56bb14b
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- M2JlYmI0MThiOGZjMzZhNmJkNGZiYTVlNDg4N2Y5Yzg3ZDg2NzkxNmI4YWYx
10
- ZGNmYWE4MDgzOTE3NzMyNGM0YjM3Nzk1YjM0NmZlMTVkYWNjNTU3YmM4MzI4
11
- MTEyYTFhZGRkN2NiMzk1NWJmMTY0ZDE3Y2Y5NGE3ODZhNTVmM2U=
12
- data.tar.gz: !binary |-
13
- NDg2MDU5Yzk4MjIyZjFkOGEwNTg0ZGViODdkODgyZDc4MTcwZmQxMzhjMTYx
14
- NjI4NTMxNThiM2FjMThiMmQyY2I1YWUyOTUzM2EwODdmMThjZGM5OGUxYWE3
15
- ZDQzYjhhZGYzZjUwNWMwMTlmN2RmOGQ4NTg1OGRjODYzNGNlNzY=
6
+ metadata.gz: 5eddf1abe8dd28965b2ef2e62ea6f51d887d0ed7b8a56f7e221da15253d841b0e6afd7b7d861e9af960a9348ffd7bf13b70bde43d6a32fa449416d552eb9bb48
7
+ data.tar.gz: 408d70a34b256cd287f0439cde4586c0716ecfadd400b3a4bd49a1be022f1e23f1335a9cb7ff7ba86822ece06e17388b8cc4ed3cf7092a530bc6eae8de993d1e
@@ -12,9 +12,6 @@
12
12
  //
13
13
  //= require jquery
14
14
  //= require jquery_ujs
15
- //= require jquery.ui.widget
16
- //= require jquery.ui.autocomplete
17
- //= require jquery.ui.datepicker
18
- //= require jquery.ui.button
15
+ //= require jquery-ui
19
16
  //= require discerner/jquery/jquery.blockUI
20
17
  //= require_tree .
@@ -110,6 +110,7 @@ Discerner.SearchParameter.UI = function (config) {
110
110
  }
111
111
  else if ($(selected_option).hasClass('list')){
112
112
  $($(predicate).find('.tmp_link')).remove();
113
+ console.log(parametersUrl.sub({ question_id: this.value }))
113
114
  $.get(parametersUrl.sub({ question_id: this.value }), function (data) {
114
115
  $.each(data.parameter_values, function() {
115
116
  $(add_button).click();
@@ -39,12 +39,8 @@ Discerner.SearchParameterValue.UI = function (config) {
39
39
  $(config.container).find('.additional_value').hide();
40
40
  } else if ($(selectedParameter).hasClass('combobox')) { // combobox parameters
41
41
  var input = $(row).find('input.parameter_value_id');
42
- var offset = $(row).offset();
43
42
  $(config.container).find('.additional_value').hide();
44
43
  if (input.length > 0) {
45
- $('.discerner-spinner').css({ left: offset.left });
46
- $('.discerner-spinner').css({ top: offset.top });
47
- $('.discerner-spinner').removeClass('hide');
48
44
  $.get( parametersUrl.sub({ question_id: selectedParameter.val(), search_parameter_value_id: input.closest('tr.search_parameter_value').attr('id') }), function( data ) {
49
45
  container = $(input).closest('td');
50
46
  $(input).detach();
@@ -52,7 +48,6 @@ Discerner.SearchParameterValue.UI = function (config) {
52
48
  container.find('select').attr('id', input.attr('id')).attr('name', input.attr('name')).combobox({ watermark:'a value'});
53
49
  handleParameterValuelPopupListClick(row);
54
50
  handleParameterValueAutocompleterButtonLink(row);
55
- $('.discerner-spinner').addClass('hide');
56
51
  });
57
52
  }
58
53
  $(config.container).find('.parameter_value, .remove').show();
@@ -9,8 +9,6 @@
9
9
  * compiled file, but it's generally better to create a new file per style scope.
10
10
  *
11
11
  *= require_self
12
- *= require jquery.ui.autocomplete
13
- *= require jquery.ui.datepicker
14
- *= require jquery.ui.button
12
+ *= require jquery-ui
15
13
  *= require_tree .
16
14
  */
@@ -49,11 +49,3 @@
49
49
  :height 200px
50
50
  :width 410px
51
51
 
52
- .discerner-spinner
53
- :position fixed
54
- :text-align center
55
- :padding 10px
56
- :margin-left -50px
57
- :margin-top -50px
58
- :z-index 2
59
- :overflow auto
@@ -1,4 +1,3 @@
1
- = image_tag asset_path('discerner/ajax-loader.gif'), class: 'discerner-spinner hide'
2
1
  - unless @discerner_search.blank?
3
2
  = render 'discerner/shared/error_messages', :object => @discerner_search
4
3
 
@@ -7,7 +7,7 @@ module Discerner
7
7
  end
8
8
 
9
9
  def values
10
- @parameter_values = @parameter.parameter_values.joins('LEFT JOIN discerner_parameter_value_categorizations ON discerner_parameter_values.id = discerner_parameter_value_categorizations.parameter_value_id LEFT JOIN discerner_parameter_value_categories ON discerner_parameter_value_categorizations.parameter_value_category_id = discerner_parameter_value_categories.id ').not_deleted.ordered_by_name.select('discerner_parameter_values.*, discerner_parameter_value_categories.name AS category_name')
10
+ @parameter_values = @parameter.parameter_values.includes(:parameter_value_category).not_deleted.ordered_by_name
11
11
  @search_parameter_value_id = params[:search_parameter_value_id]
12
12
  @searchable_parameter_values = {}
13
13
  @searchable_parameter_values[@parameter.id] = @parameter_values
@@ -17,7 +17,7 @@ module Discerner
17
17
  end
18
18
 
19
19
  def create
20
- @discerner_search = Discerner::Search.new(params[:search])
20
+ @discerner_search = Discerner::Search.new(search_params)
21
21
  @discerner_search.username = discerner_user.username unless discerner_user.blank?
22
22
 
23
23
  set_searchable_dictionaries
@@ -60,7 +60,7 @@ module Discerner
60
60
  set_searchable_dictionaries
61
61
  set_searchables
62
62
  respond_to do |format|
63
- if @discerner_search.update_attributes(params[:search])
63
+ if @discerner_search.update_attributes(search_params)
64
64
  format.html { redirect_to(edit_search_path(@discerner_search), :notice => 'Search was successfully updated.') }
65
65
  format.js
66
66
  else
@@ -186,11 +186,10 @@ module Discerner
186
186
  searchable_values = {}
187
187
 
188
188
  # getting all values at once to save database calls
189
- values_available = Discerner::ParameterValue.joins('LEFT JOIN discerner_parameter_value_categorizations ON discerner_parameter_values.id = discerner_parameter_value_categorizations.parameter_value_id LEFT JOIN discerner_parameter_value_categories ON discerner_parameter_value_categorizations.parameter_value_category_id = discerner_parameter_value_categories.id ').not_deleted.where(:parameter_id => @searchable_parameters.map(&:id)).ordered_by_parameter_and_name.select('discerner_parameter_values.*, discerner_parameter_value_categories.name AS category_name').to_a
190
-
189
+ values_available = Discerner::ParameterValue.includes(:parameter_value_category).not_deleted.where(:parameter_id => @searchable_parameters.map(&:id)).ordered_by_parameter_and_name.to_a
191
190
  values_used = []
192
191
  if @discerner_search && @discerner_search.persisted?
193
- values_used = Discerner::ParameterValue.joins('LEFT JOIN discerner_parameter_value_categorizations ON discerner_parameter_values.id = discerner_parameter_value_categorizations.parameter_value_id LEFT JOIN discerner_parameter_value_categories ON discerner_parameter_value_categorizations.parameter_value_category_id = discerner_parameter_value_categories.id ').joins(:search_parameter_values => :search_parameter).where(:discerner_search_parameters => {:search_id => @discerner_search.id}).ordered_by_parameter_and_name.select('discerner_parameter_values.*, discerner_parameter_value_categories.name AS category_name').to_a
192
+ values_used = Discerner::ParameterValue.includes(:parameter_value_category).joins(:search_parameter_values => :search_parameter).where(:discerner_search_parameters => {:search_id => @discerner_search.id}).ordered_by_parameter_and_name.to_a
194
193
  end
195
194
 
196
195
  @searchable_parameters.each do |sp|
@@ -199,6 +198,13 @@ module Discerner
199
198
  end
200
199
  searchable_values
201
200
  end
201
+
202
+ def search_params
203
+ params.require(:search).permit(:id, :dictionary_id, :deleted_at, :name, :username, :_destroy,
204
+ search_combinations_attributes: [:display_order, :operator_id, :combined_search_id, :_destroy],
205
+ search_parameters_attributes: [:display_order, :parameter_id, :_destroy, :id,
206
+ search_parameter_values_attributes: [:id, :display_order, :operator_id, :chosen, :parameter_value_id, :value, :additional_value, :_destroy]])
207
+ end
202
208
  end
203
209
  end
204
210
  end
@@ -39,8 +39,7 @@ module Discerner
39
39
  def operator_options(type=nil)
40
40
  operators = Discerner::Operator.not_deleted
41
41
  unless type.blank?
42
- operators = operators.joins(:parameter_types).where("discerner_parameter_types.name in (?)", type).
43
- select('DISTINCT text, discerner_operators.id, discerner_operators.operator_type')
42
+ operators = operators.joins(:parameter_types).where("discerner_parameter_types.name in (?)", type)
44
43
  end
45
44
  operators.includes(:parameter_types).uniq.map {|o| [o.text, o.id, {:class => o.css_class_name}]}
46
45
  end
@@ -80,7 +79,15 @@ module Discerner
80
79
  end
81
80
 
82
81
  def parameter_value_options(searchable_values, base_id=nil)
83
- searchable_values.map { |pv| [(pv.category_name.nil? ? pv.name : "#{pv.category_name} - #{pv.name}"), pv.id, base_id.nil? ? {} : { id: searchable_object_index(pv, base_id) }] }
82
+ options = []
83
+ searchable_values.each do |pv|
84
+ option = [pv.display_name, pv.id]
85
+ html_options = {}
86
+ html_options[:id] = searchable_object_index(pv, base_id) unless base_id.blank?
87
+ option << html_options
88
+ options << option
89
+ end
90
+ options
84
91
  end
85
92
 
86
93
  def searchable_object_index(object, base_id=nil)
@@ -14,9 +14,6 @@ module Discerner
14
14
 
15
15
  # Hooks
16
16
  base.send :after_commit, :cascade_delete_parameter_categories, :on => :update, :if => Proc.new { |record| record.previous_changes.include?('deleted_at') }
17
-
18
- # Whitelisting attributes
19
- base.send :attr_accessible, :name, :deleted_at
20
17
  end
21
18
 
22
19
  # Instance Methods
@@ -15,9 +15,6 @@ module Discerner
15
15
 
16
16
  # Validations
17
17
  base.send :validates, :parameter, :search, :presence => { :message => "for export parameter can't be blank" }
18
-
19
- # Whitelisting attributes
20
- base.send :attr_accessible, :parameter_id, :search_id, :parameter, :search
21
18
  end
22
19
 
23
20
  # Instance Methods
@@ -14,9 +14,6 @@ module Discerner
14
14
  base.send :validates, :symbol, :presence => true, :uniqueness => {:message => "for operator has already been taken"}
15
15
  base.send :validates, :operator_type, :presence => true
16
16
  base.send :validate, :type_supported?
17
-
18
- # Whitelisting attributes
19
- base.send :attr_accessible, :operator_type, :symbol, :text, :deleted_at
20
17
  end
21
18
 
22
19
  # Instance Methods
@@ -25,10 +25,6 @@ module Discerner
25
25
 
26
26
  # Hooks
27
27
  base.send :after_commit, :cascade_delete_parameter_values, :on => :update, :if => Proc.new { |record| record.previous_changes.include?('deleted_at') }
28
-
29
- # Whitelisting attributes
30
- base.send :attr_accessible, :name, :parameter_category, :parameter_category_id, :parameter_type, :parameter_type_id,
31
- :search_model, :search_method, :unique_identifier, :export_model, :export_method
32
28
  end
33
29
 
34
30
  # Instance Methods
@@ -14,15 +14,12 @@ module Discerner
14
14
  base.send :validates, :dictionary, :presence => { :message => "for parameter category can't be blank" }
15
15
 
16
16
  # Scopes
17
- base.send(:scope, :searchable, -> {base.includes(:parameters).where('discerner_parameters.search_model is not null and discerner_parameters.search_method is not null and discerner_parameters.deleted_at is null')})
18
- base.send(:scope, :exportable, -> {base.includes(:parameters).where('discerner_parameters.export_model is not null and discerner_parameters.export_method is not null and discerner_parameters.deleted_at is null')})
17
+ base.send(:scope, :searchable, -> {base.includes(:parameters).where('discerner_parameters.search_model is not null and discerner_parameters.search_method is not null and discerner_parameters.deleted_at is null').references(:discerner_parameters)})
18
+ base.send(:scope, :exportable, -> {base.includes(:parameters).where('discerner_parameters.export_model is not null and discerner_parameters.export_method is not null and discerner_parameters.deleted_at is null').references(:discerner_parameters)})
19
19
  base.send(:scope, :ordered_by_name, -> {base.order('discerner_parameter_categories.name ASC')})
20
20
 
21
21
  # Hooks
22
22
  base.send :after_commit, :cascade_delete_parameters, :on => :update, :if => Proc.new { |record| record.previous_changes.include?('deleted_at') }
23
-
24
- # Whitelisting attributes
25
- base.send :attr_accessible, :deleted_at, :dictionary, :dictionary_id, :name
26
23
  end
27
24
 
28
25
  # Instance Methods
@@ -12,9 +12,6 @@ module Discerner
12
12
  # Validations
13
13
  base.send :validates, :name, :presence => true, :uniqueness => {:message => "for parameter type has already been taken"}
14
14
  base.send :validate, :name_supported?
15
-
16
- # Whitelisting attributes
17
- base.send :attr_accessible, :deleted_at, :name
18
15
  end
19
16
 
20
17
  # Instance Methods
@@ -26,9 +26,6 @@ module Discerner
26
26
  base.send :after_commit, :update_search_parameter_values, :on => :update, :if => Proc.new { |record| record.previous_changes.include?('deleted_at') }
27
27
  base.send :scope, :categorized, -> {base.joins(:parameter_value_category)}
28
28
  base.send :scope, :uncategorized, -> {base.includes(:parameter_value_category).where(:discerner_parameter_value_categories => {:name => nil})}
29
-
30
- # Whitelisting attributes
31
- base.send :attr_accessible, :search_value, :name, :parameter, :parameter_id
32
29
  end
33
30
 
34
31
  # Instance Methods
@@ -11,9 +11,6 @@ module Discerner
11
11
 
12
12
  # Validations
13
13
  base.send :validates_presence_of, :parameter_value_category, :parameter_value
14
-
15
- # Whitelisting attributes
16
- base.send :attr_accessible, :parameter_value_category_id, :parameter_value_id, :parameter_value_category, :parameter_value
17
14
  end
18
15
  end
19
16
  end
@@ -18,9 +18,6 @@ module Discerner
18
18
  base.send :validates_presence_of, :parameter, :unique_identifier, :name
19
19
  base.send :validates, :unique_identifier, :uniqueness => {:scope => [:parameter_id, :deleted_at], :message => "for parameter value category has already been taken"}
20
20
  base.send :validate, :parameter_value_belongs_to_parameter
21
-
22
- # Whitelisting attributes
23
- base.send :attr_accessible, :parameter, :parameter_id, :unique_identifier, :name
24
21
  end
25
22
 
26
23
  def css_class
@@ -29,10 +29,6 @@ module Discerner
29
29
 
30
30
  # Hooks
31
31
  base.send :after_commit, :update_associations, :on => :update, :if => Proc.new { |record| record.previous_changes.include?('deleted_at') }
32
-
33
- # Whitelisting attributes
34
- base.send :attr_accessible, :deleted_at, :name, :username, :search_parameters, :search_parameters_attributes,
35
- :dictionary, :dictionary_id, :search_combinations_attributes
36
32
  end
37
33
 
38
34
  # Instance Methods
@@ -17,9 +17,6 @@ module Discerner
17
17
  # Validations
18
18
  base.send :validates_presence_of, :search, :combined_search
19
19
  base.send :validate, :validate_searches
20
-
21
- # Whitelisting attributes
22
- base.send :attr_accessible, :combined_search_id, :display_order, :operator_id, :search_id, :search, :combined_search
23
20
  end
24
21
 
25
22
  # Instance Methods
@@ -24,9 +24,6 @@ module Discerner
24
24
 
25
25
  # Hooks
26
26
  base.send :after_commit, :update_associations, :on => :update, :if => Proc.new { |record| record.previous_changes.include?('deleted_at') }
27
-
28
- # Whitelisting attributes
29
- base.send :attr_accessible, :search, :search_id, :parameter, :parameter_id, :search_parameter_values_attributes, :display_order
30
27
  end
31
28
 
32
29
  # Instance Methods
@@ -22,9 +22,6 @@ module Discerner
22
22
  # Hooks
23
23
  base.send :before_validation, :cleanup_parameter_values
24
24
  base.send :after_commit, :destroy_if_deleted_parameter_value, :on => :update
25
-
26
- # Whitelisting attributes
27
- base.send :attr_accessible, :additional_value, :chosen, :display_order, :operator_id, :parameter_value_id, :search_parameter_id, :value, :parameter_value, :operator, :search_parameter
28
25
  end
29
26
 
30
27
  # Instance Methods
@@ -86,7 +86,7 @@ module Discerner
86
86
  error_message 'dictionary name cannot be blank' if dictionary_name.blank?
87
87
  notification_message "processing dictionary '#{dictionary_name}'"
88
88
 
89
- dictionary = Discerner::Dictionary.find_or_initialize_by_name(dictionary_name)
89
+ dictionary = Discerner::Dictionary.find_or_initialize_by(name: dictionary_name)
90
90
  dictionary.deleted_at = nil
91
91
 
92
92
  if dictionary.new_record?
@@ -109,7 +109,7 @@ module Discerner
109
109
  error_message 'parameter category name cannot be blank' if parameter_category_name.blank?
110
110
  notification_message "processing parameter category '#{parameter_category_name}'"
111
111
 
112
- parameter_category = Discerner::ParameterCategory.where(:name => parameter_category_name, :dictionary_id => dictionary.id).first_or_initialize
112
+ parameter_category = Discerner::ParameterCategory.where(name: parameter_category_name, dictionary_id: dictionary.id).first_or_initialize
113
113
  parameter_category.deleted_at = nil
114
114
 
115
115
  if parameter_category.new_record?
@@ -136,9 +136,10 @@ module Discerner
136
136
  error_message "unique_identifier cannot be blank", parameter_name if unique_identifier.blank?
137
137
 
138
138
  existing_parameter = Discerner::Parameter.
139
- includes({:parameter_category => :dictionary}).
140
- where('discerner_parameters.unique_identifier = ? and discerner_dictionaries.id = ?', unique_identifier, parameter_category.dictionary.id).first
141
- parameter = existing_parameter || Discerner::Parameter.new(:unique_identifier => unique_identifier, :parameter_category => parameter_category)
139
+ includes({parameter_category: :dictionary}).
140
+ where('discerner_parameters.unique_identifier = ? and discerner_dictionaries.id = ?', unique_identifier, parameter_category.dictionary.id).
141
+ references(:discerner_parameters, :discerner_dictionaries).first
142
+ parameter = existing_parameter || Discerner::Parameter.new(unique_identifier: unique_identifier, parameter_category: parameter_category)
142
143
 
143
144
  parameter.name = parameter_name
144
145
  parameter.deleted_at = nil
@@ -277,7 +278,7 @@ module Discerner
277
278
  operators_from_file.each do |operator_from_file|
278
279
  error_message 'unique identifier has to be defined' if operator_from_file[:unique_identifier].blank?
279
280
 
280
- operator = Discerner::Operator.find_or_initialize_by_unique_identifier(operator_from_file[:unique_identifier])
281
+ operator = Discerner::Operator.find_or_initialize_by(unique_identifier: operator_from_file[:unique_identifier])
281
282
  if operator.new_record?
282
283
  notification_message "creating operator '#{operator_from_file[:unique_identifier]}'"
283
284
  operator.created_at = Time.now
@@ -309,7 +310,7 @@ module Discerner
309
310
  error_message "'integer' parameter type has been replaced with 'numeric', please update your dictionary definition" if /integer/.match(name.downcase)
310
311
 
311
312
  ## find or initialize parameter type
312
- parameter_type = Discerner::ParameterType.find_or_initialize_by_name(name.downcase)
313
+ parameter_type = Discerner::ParameterType.find_or_initialize_by(name: name.downcase)
313
314
  if parameter_type.new_record?
314
315
  notification_message "Creating parameter type '#{name}'"
315
316
  parameter_type.created_at = Time.now
@@ -325,7 +326,7 @@ module Discerner
325
326
  search_value = search_value.to_s
326
327
  notification_message "processing parameter value '#{search_value}'"
327
328
 
328
- parameter_value = Discerner::ParameterValue.where(:search_value => search_value, :parameter_id => parameter.id).first_or_initialize
329
+ parameter_value = Discerner::ParameterValue.where(search_value: search_value, parameter_id: parameter.id).first_or_initialize
329
330
  if parameter_value.new_record?
330
331
  notification_message "creating parameter value ..."
331
332
  parameter_value.created_at = Time.now
@@ -335,7 +336,7 @@ module Discerner
335
336
  end
336
337
 
337
338
  unless parameter_value_category_identifier.blank?
338
- parameter_value_category = Discerner::ParameterValueCategory.where(:unique_identifier => parameter_value_category_identifier, :parameter_id => parameter.id).first_or_initialize
339
+ parameter_value_category = Discerner::ParameterValueCategory.where(unique_identifier: parameter_value_category_identifier, parameter_id: parameter.id).first_or_initialize
339
340
  if parameter_value_category.blank?
340
341
  error_message "parameter value category with unique identifier #{parameter_value_category_identifier} is not found for parameter #{parameter.name}"
341
342
  else
@@ -358,7 +359,7 @@ module Discerner
358
359
  unique_identifier = unique_identifier.to_s
359
360
  notification_message "processing parameter value category '#{unique_identifier}'"
360
361
 
361
- parameter_value_category = Discerner::ParameterValueCategory.where(:unique_identifier => unique_identifier, :parameter_id => parameter.id).first_or_initialize
362
+ parameter_value_category = Discerner::ParameterValueCategory.where(unique_identifier: unique_identifier, parameter_id: parameter.id).first_or_initialize
362
363
  if parameter_value_category.new_record?
363
364
  notification_message "creating parameter value category..."
364
365
  parameter_value_category.created_at = Time.now
@@ -1,3 +1,3 @@
1
1
  module Discerner
2
- VERSION = "1.2.2"
2
+ VERSION = "2.0.0"
3
3
  end
metadata CHANGED
@@ -1,335 +1,315 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: discerner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 2.0.0
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: 2015-03-11 00:00:00.000000000 Z
11
+ date: 2014-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.2'
20
- - - ! '>='
19
+ version: '4.0'
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.2.0
22
+ version: 4.0.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ~>
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '3.2'
30
- - - ! '>='
29
+ version: '4.0'
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.2.0
32
+ version: 4.0.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: jquery-rails
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ~>
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '3.1'
40
- - - ! '>='
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
42
  version: 3.1.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ~>
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
49
  version: '3.1'
50
- - - ! '>='
50
+ - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 3.1.0
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: jquery-ui-rails
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - ~>
57
+ - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: '4.2'
60
- - - ! '>='
59
+ version: '5.0'
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: 4.2.1
62
+ version: 5.0.0
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '4.2'
70
- - - ! '>='
69
+ version: '5.0'
70
+ - - ">="
71
71
  - !ruby/object:Gem::Version
72
- version: 4.2.1
72
+ version: 5.0.0
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: haml
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
- - - ~>
77
+ - - "~>"
78
78
  - !ruby/object:Gem::Version
79
- version: 4.0.5
80
- - - ! '>='
79
+ version: '4.0'
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: 4.0.5
83
83
  type: :runtime
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 4.0.5
90
- - - ! '>='
89
+ version: '4.0'
90
+ - - ">="
91
91
  - !ruby/object:Gem::Version
92
92
  version: 4.0.5
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: sass-rails
95
95
  requirement: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - ~>
97
+ - - "~>"
98
98
  - !ruby/object:Gem::Version
99
- version: 3.2.6
100
- - - ! '>='
99
+ version: '4.0'
100
+ - - ">="
101
101
  - !ruby/object:Gem::Version
102
- version: 3.2.6
102
+ version: 4.0.1
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - ~>
107
+ - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: 3.2.6
110
- - - ! '>='
109
+ version: '4.0'
110
+ - - ">="
111
111
  - !ruby/object:Gem::Version
112
- version: 3.2.6
112
+ version: 4.0.1
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: sqlite3
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - ~>
117
+ - - "~>"
118
118
  - !ruby/object:Gem::Version
119
119
  version: 1.3.9
120
- - - ! '>='
120
+ - - ">="
121
121
  - !ruby/object:Gem::Version
122
122
  version: 1.3.9
123
123
  type: :development
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - ~>
127
+ - - "~>"
128
128
  - !ruby/object:Gem::Version
129
129
  version: 1.3.9
130
- - - ! '>='
130
+ - - ">="
131
131
  - !ruby/object:Gem::Version
132
132
  version: 1.3.9
133
133
  - !ruby/object:Gem::Dependency
134
134
  name: rspec-rails
135
135
  requirement: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - ~>
137
+ - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: 2.14.2
140
- - - ! '>='
139
+ version: 3.0.2
140
+ - - ">="
141
141
  - !ruby/object:Gem::Version
142
- version: 2.14.2
142
+ version: 3.0.2
143
143
  type: :development
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - ~>
147
+ - - "~>"
148
148
  - !ruby/object:Gem::Version
149
- version: 2.14.2
150
- - - ! '>='
149
+ version: 3.0.2
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: 2.14.2
152
+ version: 3.0.2
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: factory_girl_rails
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ~>
157
+ - - "~>"
158
158
  - !ruby/object:Gem::Version
159
159
  version: 4.4.1
160
- - - ! '>='
160
+ - - ">="
161
161
  - !ruby/object:Gem::Version
162
162
  version: 4.4.1
163
163
  type: :development
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - ~>
167
+ - - "~>"
168
168
  - !ruby/object:Gem::Version
169
169
  version: 4.4.1
170
- - - ! '>='
170
+ - - ">="
171
171
  - !ruby/object:Gem::Version
172
172
  version: 4.4.1
173
- - !ruby/object:Gem::Dependency
174
- name: cucumber-rails
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - ~>
178
- - !ruby/object:Gem::Version
179
- version: 1.4.0
180
- - - ! '>='
181
- - !ruby/object:Gem::Version
182
- version: 1.4.0
183
- type: :development
184
- prerelease: false
185
- version_requirements: !ruby/object:Gem::Requirement
186
- requirements:
187
- - - ~>
188
- - !ruby/object:Gem::Version
189
- version: 1.4.0
190
- - - ! '>='
191
- - !ruby/object:Gem::Version
192
- version: 1.4.0
193
173
  - !ruby/object:Gem::Dependency
194
174
  name: capybara
195
175
  requirement: !ruby/object:Gem::Requirement
196
176
  requirements:
197
- - - ~>
177
+ - - "~>"
198
178
  - !ruby/object:Gem::Version
199
- version: 2.2.1
200
- - - ! '>='
179
+ version: 2.4.1
180
+ - - ">="
201
181
  - !ruby/object:Gem::Version
202
- version: 2.2.1
182
+ version: 2.4.1
203
183
  type: :development
204
184
  prerelease: false
205
185
  version_requirements: !ruby/object:Gem::Requirement
206
186
  requirements:
207
- - - ~>
187
+ - - "~>"
208
188
  - !ruby/object:Gem::Version
209
- version: 2.2.1
210
- - - ! '>='
189
+ version: 2.4.1
190
+ - - ">="
211
191
  - !ruby/object:Gem::Version
212
- version: 2.2.1
192
+ version: 2.4.1
213
193
  - !ruby/object:Gem::Dependency
214
194
  name: selenium-webdriver
215
195
  requirement: !ruby/object:Gem::Requirement
216
196
  requirements:
217
- - - ~>
197
+ - - "~>"
218
198
  - !ruby/object:Gem::Version
219
- version: 2.41.0
220
- - - ! '>='
199
+ version: 2.42.0
200
+ - - ">="
221
201
  - !ruby/object:Gem::Version
222
- version: 2.41.0
202
+ version: 2.42.0
223
203
  type: :development
224
204
  prerelease: false
225
205
  version_requirements: !ruby/object:Gem::Requirement
226
206
  requirements:
227
- - - ~>
207
+ - - "~>"
228
208
  - !ruby/object:Gem::Version
229
- version: 2.41.0
230
- - - ! '>='
209
+ version: 2.42.0
210
+ - - ">="
231
211
  - !ruby/object:Gem::Version
232
- version: 2.41.0
212
+ version: 2.42.0
233
213
  - !ruby/object:Gem::Dependency
234
214
  name: database_cleaner
235
215
  requirement: !ruby/object:Gem::Requirement
236
216
  requirements:
237
- - - ~>
217
+ - - "~>"
238
218
  - !ruby/object:Gem::Version
239
- version: 1.2.0
240
- - - ! '>='
219
+ version: 1.3.0
220
+ - - ">="
241
221
  - !ruby/object:Gem::Version
242
- version: 1.2.0
222
+ version: 1.3.0
243
223
  type: :development
244
224
  prerelease: false
245
225
  version_requirements: !ruby/object:Gem::Requirement
246
226
  requirements:
247
- - - ~>
227
+ - - "~>"
248
228
  - !ruby/object:Gem::Version
249
- version: 1.2.0
250
- - - ! '>='
229
+ version: 1.3.0
230
+ - - ">="
251
231
  - !ruby/object:Gem::Version
252
- version: 1.2.0
232
+ version: 1.3.0
253
233
  - !ruby/object:Gem::Dependency
254
234
  name: ansi
255
235
  requirement: !ruby/object:Gem::Requirement
256
236
  requirements:
257
- - - ~>
237
+ - - "~>"
258
238
  - !ruby/object:Gem::Version
259
239
  version: 1.4.3
260
- - - ! '>='
240
+ - - ">="
261
241
  - !ruby/object:Gem::Version
262
242
  version: 1.4.3
263
243
  type: :development
264
244
  prerelease: false
265
245
  version_requirements: !ruby/object:Gem::Requirement
266
246
  requirements:
267
- - - ~>
247
+ - - "~>"
268
248
  - !ruby/object:Gem::Version
269
249
  version: 1.4.3
270
- - - ! '>='
250
+ - - ">="
271
251
  - !ruby/object:Gem::Version
272
252
  version: 1.4.3
273
253
  - !ruby/object:Gem::Dependency
274
254
  name: sprockets
275
255
  requirement: !ruby/object:Gem::Requirement
276
256
  requirements:
277
- - - ~>
257
+ - - "~>"
278
258
  - !ruby/object:Gem::Version
279
- version: 2.2.2
280
- - - ! '>='
259
+ version: 2.12.1
260
+ - - ">="
281
261
  - !ruby/object:Gem::Version
282
- version: 2.2.2
262
+ version: 2.12.1
283
263
  type: :development
284
264
  prerelease: false
285
265
  version_requirements: !ruby/object:Gem::Requirement
286
266
  requirements:
287
- - - ~>
267
+ - - "~>"
288
268
  - !ruby/object:Gem::Version
289
- version: 2.2.2
290
- - - ! '>='
269
+ version: 2.12.1
270
+ - - ">="
291
271
  - !ruby/object:Gem::Version
292
- version: 2.2.2
272
+ version: 2.12.1
293
273
  - !ruby/object:Gem::Dependency
294
274
  name: yard
295
275
  requirement: !ruby/object:Gem::Requirement
296
276
  requirements:
297
- - - ~>
277
+ - - "~>"
298
278
  - !ruby/object:Gem::Version
299
- version: 0.8.7.3
300
- - - ! '>='
279
+ version: 0.8.7.4
280
+ - - ">="
301
281
  - !ruby/object:Gem::Version
302
- version: 0.8.7.3
282
+ version: 0.8.7.4
303
283
  type: :development
304
284
  prerelease: false
305
285
  version_requirements: !ruby/object:Gem::Requirement
306
286
  requirements:
307
- - - ~>
287
+ - - "~>"
308
288
  - !ruby/object:Gem::Version
309
- version: 0.8.7.3
310
- - - ! '>='
289
+ version: 0.8.7.4
290
+ - - ">="
311
291
  - !ruby/object:Gem::Version
312
- version: 0.8.7.3
292
+ version: 0.8.7.4
313
293
  - !ruby/object:Gem::Dependency
314
294
  name: redcarpet
315
295
  requirement: !ruby/object:Gem::Requirement
316
296
  requirements:
317
- - - ~>
297
+ - - "~>"
318
298
  - !ruby/object:Gem::Version
319
- version: 3.1.1
320
- - - ! '>='
299
+ version: 3.1.2
300
+ - - ">="
321
301
  - !ruby/object:Gem::Version
322
- version: 3.1.1
302
+ version: 3.1.2
323
303
  type: :development
324
304
  prerelease: false
325
305
  version_requirements: !ruby/object:Gem::Requirement
326
306
  requirements:
327
- - - ~>
307
+ - - "~>"
328
308
  - !ruby/object:Gem::Version
329
- version: 3.1.1
330
- - - ! '>='
309
+ version: 3.1.2
310
+ - - ">="
331
311
  - !ruby/object:Gem::Version
332
- version: 3.1.1
312
+ version: 3.1.2
333
313
  description: Discerner is an engine for Rails that provides basic search UI, search
334
314
  reqults export UI and allows to configure available search parameters/values. Discerner
335
315
  is not aimed to be a SQL-generator, but it allows the host application to access
@@ -514,17 +494,17 @@ require_paths:
514
494
  - lib
515
495
  required_ruby_version: !ruby/object:Gem::Requirement
516
496
  requirements:
517
- - - ! '>='
497
+ - - ">="
518
498
  - !ruby/object:Gem::Version
519
499
  version: 1.9.0
520
500
  required_rubygems_version: !ruby/object:Gem::Requirement
521
501
  requirements:
522
- - - ! '>='
502
+ - - ">="
523
503
  - !ruby/object:Gem::Version
524
504
  version: '0'
525
505
  requirements: []
526
506
  rubyforge_project:
527
- rubygems_version: 2.4.2
507
+ rubygems_version: 2.2.2
528
508
  signing_key:
529
509
  specification_version: 4
530
510
  summary: Rails engine that provides dictionary-based search functionality