Skip to content

Commit 3994216

Browse files
committed
Make AjaxDatatablesRails::Base#column_id and #column_data public
1 parent d696982 commit 3994216

File tree

2 files changed

+25
-22
lines changed

2 files changed

+25
-22
lines changed

lib/ajax-datatables-rails/base.rb

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,16 @@ def as_json(*)
4242
}.merge(additional_data)
4343
end
4444

45+
# User helper methods
46+
def column_id(name)
47+
view_columns.keys.index(name.to_sym)
48+
end
49+
50+
def column_data(column)
51+
id = column_id(column)
52+
params.dig('columns', id.to_s, 'search', 'value')
53+
end
54+
4555
private
4656

4757
# helper methods
@@ -100,15 +110,6 @@ def global_search_delimiter
100110
GLOBAL_SEARCH_DELIMITER
101111
end
102112

103-
def column_id(name)
104-
view_columns.keys.index(name.to_sym)
105-
end
106-
107-
def column_data(column)
108-
id = column_id(column)
109-
params.dig('columns', id.to_s, 'search', 'value')
110-
end
111-
112113
def raw_records_error_text
113114
<<-ERROR
114115

spec/ajax-datatables-rails/base_spec.rb

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -225,24 +225,26 @@ def paginate_records(records)
225225
expect(datatable.datatable.send(:per_page)).to eq(20)
226226
end
227227
end
228+
end
229+
end
228230

229-
describe '#column_id' do
230-
let(:datatable) { ComplexDatatable.new(sample_params) }
231+
describe 'User helper methods' do
232+
describe '#column_id' do
233+
let(:datatable) { ComplexDatatable.new(sample_params) }
231234

232-
it 'should return column id from view_columns hash' do
233-
expect(datatable.send(:column_id, :username)).to eq(0)
234-
expect(datatable.send(:column_id, 'username')).to eq(0)
235-
end
235+
it 'should return column id from view_columns hash' do
236+
expect(datatable.column_id(:username)).to eq(0)
237+
expect(datatable.column_id('username')).to eq(0)
236238
end
239+
end
237240

238-
describe '#column_data' do
239-
let(:datatable) { ComplexDatatable.new(sample_params) }
240-
before { datatable.params[:columns]['0'][:search][:value] = 'doe' }
241+
describe '#column_data' do
242+
let(:datatable) { ComplexDatatable.new(sample_params) }
243+
before { datatable.params[:columns]['0'][:search][:value] = 'doe' }
241244

242-
it 'should return column data from params' do
243-
expect(datatable.send(:column_data, :username)).to eq('doe')
244-
expect(datatable.send(:column_data, 'username')).to eq('doe')
245-
end
245+
it 'should return column data from params' do
246+
expect(datatable.column_data(:username)).to eq('doe')
247+
expect(datatable.column_data('username')).to eq('doe')
246248
end
247249
end
248250
end

0 commit comments

Comments
 (0)