ajax-datatables-rails 0.4.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: "../"