easy_filter 0.1.1 → 0.2.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
- ODZhZjIwNWYwMDBmNjYwNzUxMjM0ZDdmYmE5MGIwYWNhMTBlMDEzMw==
5
- data.tar.gz: !binary |-
6
- OTQ5Y2ExMDEyMWJkNzE5OGJiMGJlNGNjMGEzOWI2MmQ5NTNlMzI2Yw==
2
+ SHA1:
3
+ metadata.gz: 33a6ad9f7885ba310d7af29cfbcc4079bdfe873b
4
+ data.tar.gz: aebb6dbfa96193f59ace2196b4cc53d4574f0baf
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NjRhYWUzMTc5NTRmZmU0NDZkZjJhODE3NWQ3YTk0Mzk0ZGNhNjZkOWY4N2Q4
10
- ZDU3YjA3ZmE0N2VkM2NiMDJlN2Y3ZTZiZDdmMzhjOTkxNGNhYzU5NjA4NTNh
11
- YzMyZTc1ODkzNjM3NmU4NWJjZjU3ZDI2MmE3ZDY5OTA3OTU5Nzk=
12
- data.tar.gz: !binary |-
13
- OTZhNDdmYjY0ZWIzYjI4MzdlZjVjZjY3N2Y3ODRhMWViMDU0MDg5NzVmMjc2
14
- Zjc0MGViNDhhNTBhNjdlNWUxYTVhNGEyM2U0ZDUxYzcwYTEwNDg1YmIyZTkw
15
- MDMyOGJmNDI2NzYzY2ZhMGUwNTFhMjg0NDlkNTE1YjgwMWZmNjU=
6
+ metadata.gz: c3185343808ee0ea0f6c2a717dad50b7e253f05ee959c6f3fe3441e7213d6c7c13830ceebcd8d5d572f7506353202d3470783a7e96b0a87f1d42122732a21c27
7
+ data.tar.gz: bb892f3bfbceaf2a07a727e4cb91bd19905425a0a4660c28872b4bbd5e661cf5213a3c4cba4be04b1e79ff362dbe247bcf2a1a0c8fd3f6e2abfe1214afa9fd26
@@ -1,112 +1,23 @@
1
- ###########################
2
- # Configuration for rubocop
3
- #
4
- # Most of these are disabling existing cops, primarily
5
- # due to a smattering of different styles and loose
6
- # guidlines for contributions.
7
- #
8
- # Any of these may be changed.
9
-
10
1
  MethodLength:
11
2
  Max: 200
12
3
 
13
4
  LineLength:
14
5
  Max: 160
15
6
 
16
- HashSyntax:
17
- Enabled: false
18
-
19
- # Prefer single-quotes
20
- StringLiterals:
21
- Enabled: false
22
-
23
- AlignParameters:
24
- Enabled: false
25
-
26
- SpaceAroundOperators:
27
- Enabled: false
28
-
29
- Encoding:
30
- Enabled: false
31
-
32
- PercentR:
33
- Enabled: false
34
-
35
- SpaceAroundBraces:
7
+ FileName:
36
8
  Enabled: false
37
9
 
38
- FavorPercentR:
10
+ PerceivedComplexity:
39
11
  Enabled: false
40
12
 
41
- AndOr:
13
+ CyclomaticComplexity:
42
14
  Enabled: false
43
15
 
44
- EmptyLineBetweenDefs:
16
+ ClassLength:
45
17
  Enabled: false
46
18
 
47
- SpaceInsideHashLiteralBraces:
48
- Enabled: false
49
-
50
- SymbolName:
51
- Enabled: false
52
-
53
- ReduceArguments:
54
- Enabled: false
55
-
56
- RescueException:
57
- Enabled: false
58
-
59
- Syntax:
60
- Enabled: false
61
-
62
- WordArray:
19
+ Documentation:
63
20
  Enabled: false
64
21
 
65
22
  IfUnlessModifier:
66
- Enabled: false
67
-
68
- ParenthesesAroundCondition:
69
- Enabled: false
70
-
71
- MethodAndVariableSnakeCase:
72
- Enabled: false
73
-
74
- AvoidClassVars:
75
- Enabled: false
76
-
77
- WhileUntilModifier:
78
- Enabled: false
79
-
80
- Semicolon:
81
- Enabled: false
82
-
83
- UnlessElse:
84
- Enabled: false
85
-
86
- BlockNesting:
87
- Enabled: false
88
-
89
- Proc:
90
- Enabled: false
91
-
92
- # Global vars should be removed
93
- AvoidGlobalVars:
94
- Enabled: false
95
-
96
- # Probably some good ones in here.
97
- # Disabled for $? => $CHILD_STATUS
98
- AvoidPerlisms:
99
- Enabled: false
100
-
101
- Lambda:
102
- Enabled: false
103
-
104
- CollectionMethods:
105
- Enabled: false
106
-
107
- CaseIndentation:
108
- Enabled: false
109
-
110
- AllCops:
111
- Excludes:
112
- - vendor/**
23
+ Enabled: false
@@ -1 +1 @@
1
- ruby-1.9.3
1
+ ruby-2.1.6
@@ -1,6 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - "1.9.3"
3
+ - "2.1.6"
4
4
  script:
5
5
  - bundle exec rubocop
6
- - bundle exec rake
6
+ - bundle exec rake
@@ -1,3 +1,32 @@
1
+ ## V0.2.0
2
+ * Correct Rubocop ABC errors with refactoring
3
+ * RSpec tests for field with more underscores
4
+ * Change sort_direction attributes
5
+ * Change ruby version to 2.1.6
6
+ * Some minor cosmetic changes
7
+ * Refactoring model_additions
8
+ * Remove blank line
9
+ * Correct rubocop config errors
10
+ * handle date type with from and to field
11
+ * Rails4 turbolinks correction
12
+ * new version
13
+ * jquery added to engine
14
+ * change parameter names in hash
15
+ * change downcase to underscore on class name conversion
16
+ * convert array item code to string for compare to request param
17
+ * Handle boolean column type
18
+ * Remove debug message
19
+
20
+ ## V0.1.1
21
+ * correct rubocop problems
22
+
23
+ ## V0.1.0
24
+ * Syntax change after refactoring
25
+ * Refactoring view helper and views
26
+ * add table name to column name if it isn't specified
27
+ * Add comment for easy_filter model addition
28
+ * Changes added to changelog
29
+
1
30
  ## V0.0.4
2
31
 
3
32
  * Added TravisCI
data/README.md CHANGED
@@ -53,9 +53,9 @@ Code in helper:
53
53
  ```ruby
54
54
  def model_statuses
55
55
  [
56
- { code: 'A', name: 'Status A', color: :default},
57
- { code: 'B', name: 'Status B', color: :info},
58
- { code: 'C', name: 'Status C', color: :warning},
56
+ { value: 'A', text: 'Status A', color: :default},
57
+ { value: 'B', text: 'Status B', color: :info},
58
+ { value: 'C', text: 'Status C', color: :warning},
59
59
  ]
60
60
  end
61
61
  ```
@@ -1,17 +1,27 @@
1
- $(document).ready(function() {
2
- $('ul.dropdown-filter li a').click(function (e) {
3
- html = $(this).html();
4
- $(this).parents('ul.dropdown-filter').prev().children().first().remove();
5
- $(this).parents('ul.dropdown-filter').prev().prepend(html);
6
- $(this).parents('div.dropdown').removeClass('open')
7
- $(this).parents('div.dropdown').find('input').first().val($(this).attr('data-target'));
1
+ //= require jquery
2
+ //= require jquery-ui
3
+
4
+ if (typeof Turbolinks !== 'undefined') {
5
+ $(document).on("page:change", function () {
6
+ init_easy_filter();
7
+ });
8
+ } else {
9
+ $(document).ready(function() {
10
+ init_easy_filter();
8
11
  });
9
- });
12
+ }
10
13
 
11
- $(document).ready(function() {
12
- $(".datepicker").datepicker($.datepicker.regional[ "hu" ]);
13
- $(".datepicker").each(function() { $(this).val($(this).attr('value')); });
14
- });
14
+ function init_easy_filter() {
15
+ $('ul.easy-filter-dropdown li a').click(function (e) {
16
+ html = $(this).html();
17
+ $(this).parents('ul.easy-filter-dropdown').prev().children().first().remove();
18
+ $(this).parents('ul.easy-filter-dropdown').prev().prepend(html);
19
+ $(this).parents('div.easy-filter-dropdown').removeClass('open')
20
+ $(this).parents('div.easy-filter-dropdown').find('input').first().val($(this).attr('data-target'));
21
+ });
22
+ $(".easy-filter-datepicker").datepicker($.datepicker.regional[ "hu" ]);
23
+ $(".easy-filter-datepicker").each(function() { $(this).val($(this).attr('value')); });
24
+ }
15
25
 
16
26
  /* Hungarian initialisation for the jQuery UI date picker plugin. */
17
27
  /* Written by Peter Kepes (https://github.com/kepes),
@@ -1,10 +1,10 @@
1
- <div class="dropdown">
1
+ <div class="dropdown easy-filter-dropdown">
2
2
  <%= hidden_field_tag("#{filter_prefixes[:main]}#{filter_prefixes[:exact]}#{filter[:field]}", request.params["#{filter_prefixes[:main]}#{filter_prefixes[:exact]}#{filter[:field]}"]) %>
3
3
  <% button_text = "<span>#{filter[:label]}</span>" %>
4
4
 
5
5
  <% filter[:items].each do |item|
6
- if request.params["#{filter_prefixes[:main]}#{filter_prefixes[:exact]}#{filter[:field]}"] == item[:code]
7
- button_text = "<span class=\"label label-#{item[:color]}\">#{item[:name]}</span>"
6
+ if request.params["#{filter_prefixes[:main]}#{filter_prefixes[:exact]}#{filter[:field]}"] == item[:value].to_s
7
+ button_text = "<span class=\"label label-#{item[:color]}\">#{item[:text]}</span>"
8
8
  break
9
9
  end
10
10
  end %>
@@ -12,9 +12,9 @@ end %>
12
12
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdownFilterButton-<%= filter[:field] %>" data-toggle="dropdown"><%= button_text.html_safe %>
13
13
  <span class="caret"></span></button>
14
14
 
15
- <ul class="dropdown-menu dropdown-filter" aria-labelledby="dropdownFilterButton-<%= filter[:field] %>">
15
+ <ul class="dropdown-menu dropdown-filter easy-filter-dropdown" aria-labelledby="dropdownFilterButton-<%= filter[:field] %>">
16
16
  <% filter[:items].each do |item| %>
17
- <li role="presentation"><a role="menuitem" tabindex="-1" data-target="<%= item[:code] %>"><span class="label label-<%= item[:color]%>"><%= item[:name] %></span></a></li>
17
+ <li role="presentation"><a role="menuitem" tabindex="-1" data-target="<%= item[:value] %>"><span class="label label-<%= item[:color]%>"><%= item[:text] %></span></a></li>
18
18
  <% end %>
19
19
  </ul>
20
20
  </div>
@@ -1,2 +1,2 @@
1
- <%= text_field_tag("#{filter_prefixes[:main]}#{filter_prefixes[:from]}#{filter[:field]}", request.params["#{filter_prefixes[:main]}#{filter_prefixes[:from]}#{filter[:field]}"], class: 'form-control datepicker', placeholder: filter[:label]) %>
2
- <%= text_field_tag("#{filter_prefixes[:main]}#{filter_prefixes[:to]}#{filter[:field]}", request.params["#{filter_prefixes[:main]}#{filter_prefixes[:to]}#{filter[:field]}"], class: 'form-control datepicker', placeholder: filter[:label]) %>
1
+ <%= text_field_tag("#{filter_prefixes[:main]}#{filter_prefixes[:from]}#{filter[:field]}", request.params["#{filter_prefixes[:main]}#{filter_prefixes[:from]}#{filter[:field]}"], class: 'form-control easy-filter-datepicker', placeholder: filter[:label]) %>
2
+ <%= text_field_tag("#{filter_prefixes[:main]}#{filter_prefixes[:to]}#{filter[:field]}", request.params["#{filter_prefixes[:main]}#{filter_prefixes[:to]}#{filter[:field]}"], class: 'form-control easy-filter-datepicker', placeholder: filter[:label]) %>
@@ -23,4 +23,6 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency 'rubocop'
24
24
  spec.add_development_dependency 'activerecord', '~> 3.2'
25
25
  spec.add_development_dependency 'sqlite3'
26
+ spec.add_runtime_dependency 'jquery-rails'
27
+ spec.add_runtime_dependency 'jquery-ui-rails'
26
28
  end
@@ -1,4 +1,6 @@
1
1
  module EasyFilter
2
2
  class Engine < ::Rails::Engine
3
+ require 'jquery-rails'
4
+ require 'jquery-ui-rails'
3
5
  end
4
6
  end
@@ -12,45 +12,70 @@ module EasyFilter
12
12
  exact: 'exact_',
13
13
  sort: 'sort',
14
14
  direction: 'direction' })
15
- filter = self
16
- params.each do |key, value|
17
- next unless key.start_with?(prefixes[:main]) && !value.blank? && key != "#{prefixes[:main]}button"
15
+ params = assign_defaults params, prefixes
16
+ create_filter params, prefixes
17
+ end
18
18
 
19
- field = del_prefix(key, prefixes[:main])
20
- filter = add_where(filter, field, value, prefixes)
21
- end
19
+ private
22
20
 
21
+ def assign_defaults(params, prefixes)
23
22
  params[prefixes[:sort]] ||= 'id'
24
23
  params[prefixes[:direction]] ||= 'desc'
24
+ params
25
+ end
26
+
27
+ def create_filter(params, prefixes)
28
+ filter = self
29
+ params.each do |key, value|
30
+ if key.start_with?(prefixes[:main]) && !value.blank? && key != "#{prefixes[:main]}button"
31
+ filter = add_where(filter, key, value, prefixes)
32
+ end
33
+ end
25
34
 
26
- sort_column = add_model params[prefixes[:sort]]
27
35
  # TODO: included model fields not in 'column_names'. Somehow need to check if given column name valid
28
36
  # sort_column = column_names.include?(params[prefixes[:sort]]) ? params[prefixes[:sort]] : add_model('id')
29
- sort_direction = %w(asc desc).include?(params[prefixes[:direction]]) ? params[prefixes[:direction]] : 'desc'
30
-
31
- filter.order("#{sort_column} #{sort_direction}")
37
+ filter.order("#{add_model params[prefixes[:sort]]} #{sort_direction(params, prefixes)}")
32
38
  end
33
39
 
34
- private
40
+ def sort_direction(params, prefixes)
41
+ %w(asc desc).include?(params[prefixes[:direction]]) ? params[prefixes[:direction]] : 'desc'
42
+ end
35
43
 
36
44
  def add_where(filter, field, value, prefixes)
37
- if field.start_with?(prefixes[:from])
38
- filter.where("#{add_model(del_prefix(field, prefixes[:from]))} >= ?", value)
45
+ f = prefixed? field, prefixes[:main]
46
+ return filter unless f
39
47
 
40
- elsif field.start_with?(prefixes[:to])
41
- filter.where("#{add_model(del_prefix(field, prefixes[:to]))} <= ?", value)
42
-
43
- elsif field.start_with?(prefixes[:exact])
44
- filter.where("#{add_model(del_prefix(field, prefixes[:exact]))} = ?", value)
48
+ f, op = get_operator f, prefixes
49
+ f = add_model f
45
50
 
51
+ if op.blank?
52
+ condition = "#{f} like ?"
53
+ value = "%#{value}%"
46
54
  else
47
- filter.where("#{add_model(field)} like ?", "%#{value}%")
55
+ condition = "#{f} #{op}"
48
56
  end
57
+
58
+ filter.where(condition, value)
49
59
  end
50
60
 
51
- def del_prefix(name, prefix)
52
- return name.gsub(prefix, '').to_s if name.start_with?(prefix)
53
- name
61
+ def prefixed?(text, prefix)
62
+ return false unless text.start_with? prefix
63
+ text.sub(prefix, '')
64
+ end
65
+
66
+ def get_operator(field, prefixes)
67
+ operators = {
68
+ prefixes[:from] => '>= ?',
69
+ prefixes[:to] => '<= ?',
70
+ prefixes[:exact] => '= ?'
71
+ }
72
+
73
+ operators.each do |k, v|
74
+ f = prefixed? field, k
75
+ return f, v if f
76
+ end
77
+
78
+ [field, nil]
54
79
  end
55
80
 
56
81
  def add_model(field)
@@ -1,4 +1,4 @@
1
1
  # EasyFilter version number
2
2
  module EasyFilter
3
- VERSION = '0.1.1'
3
+ VERSION = '0.2.0'
4
4
  end
@@ -18,20 +18,7 @@ module EasyFilter
18
18
 
19
19
  filters.each do |filter|
20
20
  f = determine_column filter, model_class
21
- form += render_easy 'form_field_open', prefixes
22
-
23
- case f[:col_type]
24
- when :datetime
25
- form += render_easy 'field_datetime', prefixes, f
26
-
27
- when :array
28
- form += render_easy 'field_array', prefixes, f
29
-
30
- else
31
- form += render_easy 'field_text', prefixes, f
32
- end
33
-
34
- form += render_easy 'form_field_close', prefixes
21
+ form += render_field f, prefixes
35
22
  end
36
23
 
37
24
  form += render_easy 'buttons', prefixes
@@ -40,25 +27,54 @@ module EasyFilter
40
27
 
41
28
  private
42
29
 
30
+ def render_field(filter, prefixes)
31
+ form = render_easy 'form_field_open', prefixes
32
+ view = column_view filter[:col_type]
33
+ form += render_easy view, prefixes, filter
34
+ form + render_easy('form_field_close', prefixes)
35
+ end
36
+
37
+ def column_view(col_type)
38
+ views = {
39
+ datetime: 'field_datetime',
40
+ date: 'field_datetime',
41
+ array: 'field_array'
42
+ }
43
+ view = views[col_type]
44
+ view ||= 'field_text'
45
+ view
46
+ end
47
+
43
48
  def determine_column(filter, model_class)
44
- filter = {field: filter.to_s} if filter.is_a?(Symbol) || filter.is_a?(String)
45
- p "debug:"
46
- p filter[:field]
47
- filter[:field] = filter[:field].to_s
49
+ filter = check_filter_values filter, model_class
48
50
 
49
- filter[:label] ||= t("activerecord.attributes.#{model_class.name.downcase}.#{filter[:field]}")
51
+ if filter[:items].nil?
52
+ filter[:col_type] = column_type_from_model model_class, filter[:field]
53
+ filter = check_boolean filter
54
+ else
55
+ filter[:col_type] = :array
56
+ end
50
57
 
51
- unless filter[:items].nil?
58
+ filter
59
+ end
60
+
61
+ def check_boolean(filter)
62
+ if filter[:col_type] == :boolean
63
+ filter[:items] = boolean_array
52
64
  filter[:col_type] = :array
53
- else
54
- model_class.columns.each do |column|
55
- if column.name == filter[:field]
56
- filter[:col_type] = column.type
57
- break
58
- end
59
- end
60
65
  end
66
+ filter
67
+ end
61
68
 
69
+ def column_type_from_model(model_class, field)
70
+ model_class.columns.each { |column| return column.type if column.name == field }
71
+ nil
72
+ end
73
+
74
+ def check_filter_values(filter, model_class)
75
+ filter = { field: filter.to_s } if filter.is_a?(Symbol) || filter.is_a?(String)
76
+ filter[:field] = filter[:field].to_s
77
+ filter[:label] ||= t("activerecord.attributes.#{model_class.name.underscore}.#{filter[:field]}")
62
78
  filter
63
79
  end
64
80
 
@@ -67,5 +83,10 @@ module EasyFilter
67
83
  locals: { filter_prefixes: prefixes,
68
84
  filter: filter }
69
85
  end
86
+
87
+ def boolean_array
88
+ [{ value: 1, text: t(:yes), color: :success, icon: 'check' },
89
+ { value: 0, text: t(:no), color: :danger, icon: 'remove' }]
90
+ end
70
91
  end
71
92
  end
@@ -11,6 +11,7 @@ class CreateUsersTable < ActiveRecord::Migration
11
11
  create_table :users do |t|
12
12
  t.string :name
13
13
  t.string :born
14
+ t.string :field_with_underscore
14
15
  end
15
16
  puts 'Users created'
16
17
  end
@@ -28,10 +29,10 @@ end
28
29
  describe EasyFilter::ModelAdditions do
29
30
  before(:all) do
30
31
  CreateUsersTable.migrate(:up)
31
- User.create!(id: 1, name: 'aaaa aaaa', born: '2001.01.01')
32
- User.create!(id: 2, name: 'aaaa bbbb', born: '2002.01.01')
33
- User.create!(id: 3, name: 'bbbb bbbb', born: '2003.01.01')
34
- User.create!(id: 4, name: 'aaaa cccc', born: '2004.01.01')
32
+ User.create!(id: 1, name: 'aaaa aaaa', born: '2001.01.01', field_with_underscore: 'aaaa')
33
+ User.create!(id: 2, name: 'aaaa bbbb', born: '2002.01.01', field_with_underscore: 'aaaa')
34
+ User.create!(id: 3, name: 'bbbb bbbb', born: '2003.01.01', field_with_underscore: 'bbbb')
35
+ User.create!(id: 4, name: 'aaaa cccc', born: '2004.01.01', field_with_underscore: 'aaaa')
35
36
  end
36
37
 
37
38
  after(:all) do
@@ -72,6 +73,14 @@ describe EasyFilter::ModelAdditions do
72
73
  expect(users.count).to eq(2)
73
74
  end
74
75
 
76
+ it 'should filter by first_name' do
77
+ users = User.scoped.easy_filter('filter_field_with_underscore' => 'aa')
78
+ expect(users.count).to eq(3)
79
+
80
+ users = User.scoped.easy_filter('filter_field_with_underscore' => 'bb')
81
+ expect(users.count).to eq(1)
82
+ end
83
+
75
84
  it 'should exact filter by id' do
76
85
  users = User.scoped.easy_filter('filter_exact_id' => '1')
77
86
  expect(users.count).to eq(1)
@@ -94,6 +103,5 @@ describe EasyFilter::ModelAdditions do
94
103
 
95
104
  users = User.scoped.easy_filter('filter_to_born' => '2003.01.01')
96
105
  expect(users.count).to eq(3)
97
-
98
106
  end
99
107
  end
metadata CHANGED
@@ -1,97 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easy_filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Kepes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-06 00:00:00.000000000 Z
11
+ date: 2015-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubocop
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: activerecord
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '3.2'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.2'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: sqlite3
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: jquery-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: jquery-ui-rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
95
123
  - !ruby/object:Gem::Version
96
124
  version: '0'
97
125
  description: Filter and sort ActiveRecord model for Rails app with Bootstrap view
@@ -102,12 +130,12 @@ executables: []
102
130
  extensions: []
103
131
  extra_rdoc_files: []
104
132
  files:
105
- - .gitignore
106
- - .rspec
107
- - .rubocop.yml
108
- - .ruby-gemset
109
- - .ruby-version
110
- - .travis.yml
133
+ - ".gitignore"
134
+ - ".rspec"
135
+ - ".rubocop.yml"
136
+ - ".ruby-gemset"
137
+ - ".ruby-version"
138
+ - ".travis.yml"
111
139
  - CHANGELOG.md
112
140
  - Gemfile
113
141
  - LICENSE.txt
@@ -143,12 +171,12 @@ require_paths:
143
171
  - lib
144
172
  required_ruby_version: !ruby/object:Gem::Requirement
145
173
  requirements:
146
- - - ! '>='
174
+ - - ">="
147
175
  - !ruby/object:Gem::Version
148
176
  version: '0'
149
177
  required_rubygems_version: !ruby/object:Gem::Requirement
150
178
  requirements:
151
- - - ! '>='
179
+ - - ">="
152
180
  - !ruby/object:Gem::Version
153
181
  version: '0'
154
182
  requirements: []