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.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -0
- data/.travis.yml +6 -41
- data/Appraisals +0 -8
- data/CHANGELOG.md +8 -1
- data/README.md +152 -26
- data/ajax-datatables-rails.gemspec +3 -4
- data/doc/migrate.md +53 -0
- data/lib/ajax-datatables-rails/active_record.rb +7 -0
- data/lib/ajax-datatables-rails/base.rb +7 -23
- data/lib/ajax-datatables-rails/config.rb +3 -6
- data/lib/ajax-datatables-rails/datatable/column.rb +18 -13
- data/lib/ajax-datatables-rails/datatable/column/date_filter.rb +10 -20
- data/lib/ajax-datatables-rails/datatable/column/order.rb +1 -1
- data/lib/ajax-datatables-rails/datatable/column/search.rb +29 -20
- data/lib/ajax-datatables-rails/datatable/datatable.rb +1 -7
- data/lib/ajax-datatables-rails/datatable/simple_order.rb +4 -2
- data/lib/ajax-datatables-rails/datatable/simple_search.rb +2 -0
- data/lib/ajax-datatables-rails/version.rb +1 -1
- data/lib/ajax_datatables_rails.rb +2 -1
- data/lib/generators/datatable/config_generator.rb +4 -4
- data/lib/generators/datatable/templates/ajax_datatables_rails_config.rb +0 -3
- data/lib/generators/rails/templates/datatable.rb +1 -1
- data/spec/ajax-datatables-rails/base_spec.rb +81 -41
- data/spec/ajax-datatables-rails/configuration_spec.rb +0 -9
- data/spec/ajax-datatables-rails/datatable/column_spec.rb +58 -12
- data/spec/ajax-datatables-rails/datatable/datatable_spec.rb +1 -2
- data/spec/ajax-datatables-rails/datatable/simple_order_spec.rb +2 -3
- data/spec/ajax-datatables-rails/extended_spec.rb +1 -2
- data/spec/ajax-datatables-rails/orm/active_record_filter_records_spec.rb +84 -137
- data/spec/ajax-datatables-rails/orm/active_record_paginate_records_spec.rb +1 -2
- data/spec/ajax-datatables-rails/orm/active_record_sort_records_spec.rb +4 -5
- data/spec/ajax-datatables-rails/orm/active_record_spec.rb +3 -4
- data/spec/spec_helper.rb +0 -2
- data/spec/support/datatable_cond_numeric.rb +1 -1
- data/spec/support/datatable_cond_string.rb +1 -1
- data/spec/support/test_helpers.rb +1 -1
- metadata +8 -8
- data/gemfiles/rails_4.0.13.gemfile +0 -14
- 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(:
|
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(:
|
6
|
-
let(:
|
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(:
|
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.
|
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.
|
20
|
+
expect(datatable.fetch_records).to be_a(ActiveRecord::Relation)
|
22
21
|
end
|
23
22
|
end
|
24
23
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -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,
|
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)
|
@@ -53,7 +53,7 @@ def sample_params
|
|
53
53
|
end
|
54
54
|
# rubocop:enable Metrics/MethodLength
|
55
55
|
|
56
|
-
class ComplexDatatable < AjaxDatatablesRails::
|
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
|
+
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-
|
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.
|
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.
|
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.
|
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.
|
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: "../"
|