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.
- 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: "../"
|