ajax-datatables-rails 0.4.3 → 1.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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/.travis.yml +6 -41
  4. data/Appraisals +0 -8
  5. data/CHANGELOG.md +8 -1
  6. data/README.md +152 -26
  7. data/ajax-datatables-rails.gemspec +3 -4
  8. data/doc/migrate.md +53 -0
  9. data/lib/ajax-datatables-rails/active_record.rb +7 -0
  10. data/lib/ajax-datatables-rails/base.rb +7 -23
  11. data/lib/ajax-datatables-rails/config.rb +3 -6
  12. data/lib/ajax-datatables-rails/datatable/column.rb +18 -13
  13. data/lib/ajax-datatables-rails/datatable/column/date_filter.rb +10 -20
  14. data/lib/ajax-datatables-rails/datatable/column/order.rb +1 -1
  15. data/lib/ajax-datatables-rails/datatable/column/search.rb +29 -20
  16. data/lib/ajax-datatables-rails/datatable/datatable.rb +1 -7
  17. data/lib/ajax-datatables-rails/datatable/simple_order.rb +4 -2
  18. data/lib/ajax-datatables-rails/datatable/simple_search.rb +2 -0
  19. data/lib/ajax-datatables-rails/version.rb +1 -1
  20. data/lib/ajax_datatables_rails.rb +2 -1
  21. data/lib/generators/datatable/config_generator.rb +4 -4
  22. data/lib/generators/datatable/templates/ajax_datatables_rails_config.rb +0 -3
  23. data/lib/generators/rails/templates/datatable.rb +1 -1
  24. data/spec/ajax-datatables-rails/base_spec.rb +81 -41
  25. data/spec/ajax-datatables-rails/configuration_spec.rb +0 -9
  26. data/spec/ajax-datatables-rails/datatable/column_spec.rb +58 -12
  27. data/spec/ajax-datatables-rails/datatable/datatable_spec.rb +1 -2
  28. data/spec/ajax-datatables-rails/datatable/simple_order_spec.rb +2 -3
  29. data/spec/ajax-datatables-rails/extended_spec.rb +1 -2
  30. data/spec/ajax-datatables-rails/orm/active_record_filter_records_spec.rb +84 -137
  31. data/spec/ajax-datatables-rails/orm/active_record_paginate_records_spec.rb +1 -2
  32. data/spec/ajax-datatables-rails/orm/active_record_sort_records_spec.rb +4 -5
  33. data/spec/ajax-datatables-rails/orm/active_record_spec.rb +3 -4
  34. data/spec/spec_helper.rb +0 -2
  35. data/spec/support/datatable_cond_numeric.rb +1 -1
  36. data/spec/support/datatable_cond_string.rb +1 -1
  37. data/spec/support/test_helpers.rb +1 -1
  38. metadata +8 -8
  39. data/gemfiles/rails_4.0.13.gemfile +0 -14
  40. data/gemfiles/rails_4.1.16.gemfile +0 -14
@@ -2,8 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe AjaxDatatablesRails::ORM::ActiveRecord do
4
4
 
5
- let(:view) { double('view', params: sample_params) }
6
- let(:datatable) { ComplexDatatable.new(view) }
5
+ let(:datatable) { ComplexDatatable.new(sample_params) }
7
6
  let(:records) { User.all }
8
7
 
9
8
  before(:each) do
@@ -2,9 +2,8 @@ require 'spec_helper'
2
2
 
3
3
  describe AjaxDatatablesRails::ORM::ActiveRecord do
4
4
 
5
- let(:view) { double('view', params: sample_params) }
6
- let(:datatable) { ComplexDatatable.new(view) }
7
- let(:nulls_last_datatable) { DatatableOrderNullsLast.new(view) }
5
+ let(:datatable) { ComplexDatatable.new(sample_params) }
6
+ let(:nulls_last_datatable) { DatatableOrderNullsLast.new(sample_params) }
8
7
  let(:records) { User.all }
9
8
 
10
9
  before(:each) do
@@ -48,7 +47,7 @@ describe AjaxDatatablesRails::ORM::ActiveRecord do
48
47
  describe '#sort_records with nulls last using global config' do
49
48
  before { AjaxDatatablesRails.config.nulls_last = true }
50
49
  after { AjaxDatatablesRails.config.nulls_last = false }
51
-
50
+
52
51
  it 'can handle multiple sorting columns' do
53
52
  # set to order by Users username in ascending order, and
54
53
  # by Users email in descending order
@@ -60,7 +59,7 @@ describe AjaxDatatablesRails::ORM::ActiveRecord do
60
59
  )
61
60
  end
62
61
  end
63
-
62
+
64
63
  describe '#sort_records with nulls last using column config' do
65
64
  it 'can handle multiple sorting columns' do
66
65
  # set to order by Users username in ascending order, and
@@ -2,8 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe AjaxDatatablesRails::ORM::ActiveRecord do
4
4
  context 'Private API' do
5
- let(:view) { double('view', params: sample_params) }
6
- let(:datatable) { ComplexDatatable.new(view) }
5
+ let(:datatable) { ComplexDatatable.new(sample_params) }
7
6
 
8
7
  before(:each) do
9
8
  create(:user, username: 'johndoe', email: 'johndoe@example.com')
@@ -13,12 +12,12 @@ describe AjaxDatatablesRails::ORM::ActiveRecord do
13
12
  describe '#fetch_records' do
14
13
  it 'calls #get_raw_records' do
15
14
  expect(datatable).to receive(:get_raw_records) { User.all }
16
- datatable.send(:fetch_records)
15
+ datatable.fetch_records
17
16
  end
18
17
 
19
18
  it 'returns a collection of records' do
20
19
  expect(datatable).to receive(:get_raw_records) { User.all }
21
- expect(datatable.send(:fetch_records)).to be_a(ActiveRecord::Relation)
20
+ expect(datatable.fetch_records).to be_a(ActiveRecord::Relation)
22
21
  end
23
22
  end
24
23
  end
@@ -24,7 +24,6 @@ RSpec.configure do |config|
24
24
  config.after(:each) do
25
25
  AjaxDatatablesRails.configure do |c|
26
26
  c.db_adapter = ActiveRecord::Base.connection.adapter_name.downcase.to_sym
27
- c.orm = :active_record
28
27
  end
29
28
  end
30
29
 
@@ -73,7 +72,6 @@ ActiveRecord::Base.establish_connection(options)
73
72
 
74
73
  AjaxDatatablesRails.configure do |c|
75
74
  c.db_adapter = ActiveRecord::Base.connection.adapter_name.downcase.to_sym
76
- c.orm = :active_record
77
75
  end
78
76
 
79
77
  load File.dirname(__FILE__) + '/support/schema.rb'
@@ -42,7 +42,7 @@ end
42
42
 
43
43
  class DatatableCondInWithRegex < DatatableCondIn
44
44
  def view_columns
45
- super.deep_merge(post_id: { cond: :in, use_regex: false, orderable: true, formater: ->(str) { cast_regex_value(str) } })
45
+ super.deep_merge(post_id: { cond: :in, use_regex: false, orderable: true, formatter: ->(str) { cast_regex_value(str) } })
46
46
  end
47
47
 
48
48
  def cast_regex_value(value)
@@ -30,6 +30,6 @@ end
30
30
 
31
31
  class DatatableWithFormater < ComplexDatatable
32
32
  def view_columns
33
- super.deep_merge(last_name: { formater: -> (o) { o.upcase } })
33
+ super.deep_merge(last_name: { formatter: -> (o) { o.upcase } })
34
34
  end
35
35
  end
@@ -53,7 +53,7 @@ def sample_params
53
53
  end
54
54
  # rubocop:enable Metrics/MethodLength
55
55
 
56
- class ComplexDatatable < AjaxDatatablesRails::Base
56
+ class ComplexDatatable < AjaxDatatablesRails::ActiveRecord
57
57
  def view_columns
58
58
  @view_columns ||= {
59
59
  username: { source: 'User.username' },
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ajax-datatables-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Quenneville
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-06-04 00:00:00.000000000 Z
12
+ date: 2018-08-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '4.0'
20
+ version: '4.2'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '4.0'
27
+ version: '4.2'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rails
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '4.0'
34
+ version: '4.2'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '4.0'
41
+ version: '4.2'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -242,14 +242,14 @@ files:
242
242
  - README.md
243
243
  - Rakefile
244
244
  - ajax-datatables-rails.gemspec
245
+ - doc/migrate.md
245
246
  - doc/webpack.md
246
- - gemfiles/rails_4.0.13.gemfile
247
- - gemfiles/rails_4.1.16.gemfile
248
247
  - gemfiles/rails_4.2.10.gemfile
249
248
  - gemfiles/rails_5.0.7.gemfile
250
249
  - gemfiles/rails_5.1.6.gemfile
251
250
  - gemfiles/rails_5.2.0.gemfile
252
251
  - lib/ajax-datatables-rails.rb
252
+ - lib/ajax-datatables-rails/active_record.rb
253
253
  - lib/ajax-datatables-rails/base.rb
254
254
  - lib/ajax-datatables-rails/config.rb
255
255
  - lib/ajax-datatables-rails/datatable/column.rb
@@ -1,14 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "4.0.13"
6
- gem "mysql2", "~> 0.3.18"
7
- gem "activerecord-oracle_enhanced-adapter", "~> 1.5.0"
8
- gem "ruby-oci8" if ENV["DB_ADAPTER"] == "oracle_enhanced"
9
-
10
- group :test do
11
- gem "codeclimate-test-reporter", "~> 1.0.0"
12
- end
13
-
14
- gemspec path: "../"
@@ -1,14 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "4.1.16"
6
- gem "mysql2", "~> 0.3.18"
7
- gem "activerecord-oracle_enhanced-adapter", "~> 1.5.0"
8
- gem "ruby-oci8" if ENV["DB_ADAPTER"] == "oracle_enhanced"
9
-
10
- group :test do
11
- gem "codeclimate-test-reporter", "~> 1.0.0"
12
- end
13
-
14
- gemspec path: "../"