datagrid 1.5.9 → 1.6.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94a9a3ff232cd83f323e280e35a805ebd4ec725b74b531c18328c4de27952f2f
4
- data.tar.gz: c91f39764fa86f0d8b016de33eeabfd37b47d16411f3f52ec796f2bf1d14d534
3
+ metadata.gz: 76bece54343c202c79e7ca4d5e90ae1cc91d2c5a77b965a175b36df801e10bd1
4
+ data.tar.gz: 68e58ec9dec5f010b43a7e078fdbf2c3c1b0923c9f2ab38c327d3665570d08fa
5
5
  SHA512:
6
- metadata.gz: b999afc64d7094dfd47a2e4f393824df58edf15769c445a9d16712dc6f531f3b30f872046cd657bc9323df6a460b4d1a74334fc4b498de141a9998d3aa6c34bc
7
- data.tar.gz: 89d0e83bd75e28ee33dc890d2f5f82de6391a9d32b0723e77afa8dfc0856d126c1fe0ee4c8ab5b0b2f5491e5908b45e14de0bd18669c2786764faeac8c6fc0c2
6
+ metadata.gz: 9aeb7a29ea7df278090a6417e1f940dfe9f8b1aa57dd907f9f739c4d2bc3e613be66be28635c5cf51a70b9067a7f7da4a00e7adaf09ae8ddea0247c7f34a56b1
7
+ data.tar.gz: 8660381aa1d508c624b0bc6d1c6e71ca3e6c1e89cad518733aeaee31d1968dc6382c45d1d06cbb60cd33ea1407d3e79e92e5920d93483bdfd47a31ffa1e23cef
data/.travis.yml CHANGED
@@ -1,10 +1,12 @@
1
1
  language: ruby
2
2
  #bundler_args: --without development
3
3
  rvm:
4
- - 2.2.2
5
- - 2.3.0
6
- - 2.4.1
7
- - 2.5.1
4
+ - 2.2
5
+ - 2.3
6
+ - 2.4
7
+ - 2.5
8
+ - 2.6
9
+ - 2.7
8
10
  #- jruby
9
11
  #- jruby-head
10
12
  #env: JRUBY_OPTS="--server -J-Xms512m -J-Xmx1024m"
data/Gemfile CHANGED
@@ -6,17 +6,21 @@ group :development do
6
6
 
7
7
  gem "bundler"
8
8
  if RUBY_VERSION >= "2.3"
9
- gem "jeweler", ">= 2.1.2", platform: [:ruby_23, :ruby_24, :ruby_25]
9
+ gem "jeweler", ">= 2.1.2", platform: :mri, github: 'technicalpickles/jeweler'
10
10
  end
11
11
 
12
12
 
13
13
  #gem "json", ">= 1.9"
14
- gem "pry-byebug", :platform => [:ruby_24, :ruby_25, :ruby_22, :ruby_23] & Bundler::Dsl::VALID_PLATFORMS
14
+ gem "pry-byebug"
15
15
 
16
16
  gem "rspec", ">= 3"
17
17
  gem "nokogiri" # used to test html output
18
18
 
19
- gem "sqlite3", "~> 1.3.6"
19
+ if RUBY_VERSION >= "2.5"
20
+ gem "sqlite3", "~> 1.4", platform: :mri
21
+ else
22
+ gem "sqlite3", "~> 1.3.6"
23
+ end
20
24
  gem "sequel"
21
25
 
22
26
  group :mongo do
data/Readme.markdown CHANGED
@@ -1,6 +1,7 @@
1
1
  # Datagrid
2
2
 
3
3
  [![Build Status](https://travis-ci.org/bogdan/datagrid.svg?branch=master)](https://travis-ci.org/bogdan/datagrid)
4
+
4
5
  [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fbogdan%2Fdatagrid.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fbogdan%2Fdatagrid?ref=badge_shield)
5
6
 
6
7
  Ruby library that helps you to build and represent table-like data with:
@@ -201,4 +202,4 @@ Read [author blog](http://gusiev.com).
201
202
 
202
203
 
203
204
  ## License
204
- [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fbogdan%2Fdatagrid.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fbogdan%2Fdatagrid?ref=badge_large)
205
+ [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fbogdan%2Fdatagrid.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fbogdan%2Fdatagrid?ref=badge_large)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.9
1
+ 1.6.1
@@ -11,7 +11,7 @@ Local variables:
11
11
  </thead>
12
12
  <tbody>
13
13
  <% if assets.any? %>
14
- <%= datagrid_rows(grid, assets, options) %>
14
+ <%= datagrid_rows(grid, assets, **options) %>
15
15
  <% else %>
16
16
  <tr><td class="noresults" colspan="100%"><%= I18n.t('datagrid.no_results').html_safe %></td></tr>
17
17
  <% end %>
data/datagrid.gemspec CHANGED
@@ -2,20 +2,21 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: datagrid 1.5.9 ruby lib
5
+ # stub: datagrid 1.6.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "datagrid".freeze
9
- s.version = "1.5.9"
9
+ s.version = "1.6.1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Bogdan Gusiev".freeze]
14
- s.date = "2019-05-10"
14
+ s.date = "2020-09-07"
15
15
  s.description = "This allows you to easily build datagrid aka data tables with sortable columns and filters".freeze
16
16
  s.email = "agresso@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
18
- "LICENSE.txt"
18
+ "LICENSE.txt",
19
+ "Readme.markdown"
19
20
  ]
20
21
  s.files = [
21
22
  ".document",
@@ -130,7 +131,7 @@ Gem::Specification.new do |s|
130
131
  s.homepage = "http://github.com/bogdan/datagrid".freeze
131
132
  s.licenses = ["MIT".freeze]
132
133
  s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze)
133
- s.rubygems_version = "2.7.8".freeze
134
+ s.rubygems_version = "3.0.8".freeze
134
135
  s.summary = "Ruby gem to create datagrids".freeze
135
136
 
136
137
  if s.respond_to? :specification_version then
@@ -143,7 +144,7 @@ Gem::Specification.new do |s|
143
144
  s.add_development_dependency(%q<pry-byebug>.freeze, [">= 0"])
144
145
  s.add_development_dependency(%q<rspec>.freeze, [">= 3"])
145
146
  s.add_development_dependency(%q<nokogiri>.freeze, [">= 0"])
146
- s.add_development_dependency(%q<sqlite3>.freeze, ["~> 1.3.6"])
147
+ s.add_development_dependency(%q<sqlite3>.freeze, ["~> 1.4"])
147
148
  s.add_development_dependency(%q<sequel>.freeze, [">= 0"])
148
149
  s.add_development_dependency(%q<mongoid>.freeze, [">= 0"])
149
150
  s.add_development_dependency(%q<bson>.freeze, [">= 0"])
@@ -155,7 +156,7 @@ Gem::Specification.new do |s|
155
156
  s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
156
157
  s.add_dependency(%q<rspec>.freeze, [">= 3"])
157
158
  s.add_dependency(%q<nokogiri>.freeze, [">= 0"])
158
- s.add_dependency(%q<sqlite3>.freeze, ["~> 1.3.6"])
159
+ s.add_dependency(%q<sqlite3>.freeze, ["~> 1.4"])
159
160
  s.add_dependency(%q<sequel>.freeze, [">= 0"])
160
161
  s.add_dependency(%q<mongoid>.freeze, [">= 0"])
161
162
  s.add_dependency(%q<bson>.freeze, [">= 0"])
@@ -168,7 +169,7 @@ Gem::Specification.new do |s|
168
169
  s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
169
170
  s.add_dependency(%q<rspec>.freeze, [">= 3"])
170
171
  s.add_dependency(%q<nokogiri>.freeze, [">= 0"])
171
- s.add_dependency(%q<sqlite3>.freeze, ["~> 1.3.6"])
172
+ s.add_dependency(%q<sqlite3>.freeze, ["~> 1.4"])
172
173
  s.add_dependency(%q<sequel>.freeze, [">= 0"])
173
174
  s.add_dependency(%q<mongoid>.freeze, [">= 0"])
174
175
  s.add_dependency(%q<bson>.freeze, [">= 0"])
@@ -16,6 +16,7 @@ module Datagrid
16
16
  self.default_column_options = {}
17
17
 
18
18
  class_attribute :batch_size
19
+ self.batch_size = 1000
19
20
 
20
21
  class_attribute :columns_array
21
22
  self.columns_array = []
@@ -315,9 +316,8 @@ module Datagrid
315
316
  def to_csv(*column_names)
316
317
  require "csv"
317
318
  options = column_names.extract_options!
318
- CSV.generate(
319
- {:headers => self.header(*column_names), :write_headers => true}.merge!(options)
320
- ) do |csv|
319
+ options = {:headers => self.header(*column_names), :write_headers => true}.merge!(options)
320
+ CSV.generate(**options) do |csv|
321
321
  each_with_batches do |asset|
322
322
  csv << row_for(asset, *column_names)
323
323
  end
@@ -406,7 +406,7 @@ module Datagrid
406
406
  # Defines a column at instance level
407
407
  #
408
408
  # See Datagrid::Columns::ClassMethods#column for more info
409
- def column(name, options_or_query = {}, options = {}, &block) #:nodoc:
409
+ def column(name, options_or_query = {}, options = {}, &block)
410
410
  self.class.define_column(columns_array, name, options_or_query, options, &block)
411
411
  end
412
412
 
@@ -415,7 +415,7 @@ module Datagrid
415
415
  super
416
416
  end
417
417
 
418
- # Returns all columns available for current grid configuration.
418
+ # Returns all columns that are possible to be displayed for the current grid object
419
419
  #
420
420
  # class MyGrid
421
421
  # filter(:search) {|scope, value| scope.full_text_search(value)}
@@ -535,6 +535,8 @@ module Datagrid
535
535
  def value_from_html_block(context, asset, column)
536
536
  args = []
537
537
  remaining_arity = column.html_block.arity
538
+ remaining_arity = 1 if remaining_arity < 0
539
+
538
540
  asset = decorate(asset)
539
541
 
540
542
  if column.data?
data/lib/datagrid/core.rb CHANGED
@@ -9,7 +9,7 @@ module Datagrid
9
9
  base.class_eval do
10
10
  class_attribute :scope_value
11
11
 
12
- class_attribute :datagrid_attributes
12
+ class_attribute :datagrid_attributes, instance_writer: false
13
13
  self.datagrid_attributes = []
14
14
 
15
15
  class_attribute :dynamic_block, :instance_writer => false
@@ -163,6 +163,9 @@ module Datagrid
163
163
  end
164
164
 
165
165
  # Returns serializable query arguments skipping all nil values
166
+ #
167
+ # grid = ProductsGrid.new(category: 'dresses', available: true)
168
+ # grid.as_query # => {category: 'dresses', available: true}
166
169
  def as_query
167
170
  attributes = self.attributes.clone
168
171
  attributes.each do |key, value|
@@ -171,6 +174,15 @@ module Datagrid
171
174
  attributes
172
175
  end
173
176
 
177
+ # Returns query parameters to link this grid from a page
178
+ #
179
+ # grid = ProductsGrid.new(category: 'dresses', available: true)
180
+ # Rails.application.routes.url_helpers.products_path(grid.query_params)
181
+ # # => "/products?products_grid[category]=dresses&products_grid[available]=true"
182
+ def query_params(attributes = {})
183
+ { param_name.to_sym => as_query.merge(attributes) }
184
+ end
185
+
174
186
  # Redefines scope at instance level
175
187
  #
176
188
  # class MyGrid
@@ -105,7 +105,8 @@ module Datagrid
105
105
  if scope.limit_value
106
106
  raise Datagrid::ConfigurationError, "ActiveRecord can not use batches in combination with SQL limit"
107
107
  end
108
- scope.find_each(batch_size ? { :batch_size => batch_size} : {}, &block)
108
+ options = batch_size ? { batch_size: batch_size } : {}
109
+ scope.find_each(**options, &block)
109
110
  end
110
111
 
111
112
  def default_cache_key(asset)
@@ -12,7 +12,11 @@ module Datagrid
12
12
  end
13
13
 
14
14
  def to_scope(scope)
15
- scope.where(nil)
15
+ if scope.respond_to?(:all)
16
+ scope.all
17
+ else
18
+ scope.where(nil)
19
+ end
16
20
  end
17
21
 
18
22
  def where(scope, attribute, value)
@@ -73,7 +73,7 @@ module Datagrid
73
73
  # %td= row.project_name
74
74
  # %td.project-status{class: row.status}= row.status
75
75
  def datagrid_rows(grid, assets = grid.assets, **options, &block)
76
- datagrid_renderer.rows(grid, assets, options, &block)
76
+ datagrid_renderer.rows(grid, assets, **options, &block)
77
77
  end
78
78
 
79
79
  # Renders ordering controls for the given column name
@@ -81,10 +81,9 @@ module Datagrid
81
81
  def order_path(grid, column, descending, request)
82
82
  column = grid.column_by_name(column)
83
83
  query = request ? request.query_parameters : {}
84
- order_parameter = {grid.param_name => grid.as_query.merge(:order => column.name, :descending => descending)}
85
84
  ActionDispatch::Http::URL.path_for(
86
85
  path: request ? request.path : '/',
87
- params: query.merge(order_parameter)
86
+ params: query.merge(grid.query_params(order: column.name, descending: descending))
88
87
  )
89
88
  end
90
89
 
@@ -72,12 +72,8 @@ module Datagrid
72
72
  end
73
73
 
74
74
  def apply_args(*args, &block)
75
- return block.call(*args) if block.arity < 0
76
- args = args.clone
77
- (args.size - block.arity).times do
78
- args.pop
79
- end
80
- block.call(*args)
75
+ size = block.arity < 0 ? args.size : block.arity
76
+ block.call(*args.slice(0, size))
81
77
  end
82
78
 
83
79
  def parse_date(value)
@@ -193,4 +193,18 @@ describe Datagrid::Core do
193
193
  }.to_not raise_error
194
194
  end
195
195
  end
196
+
197
+
198
+ describe ".query_param" do
199
+ it "works" do
200
+ grid = test_report(name: 'value') do
201
+ scope {Entry}
202
+ filter(:name)
203
+ def param_name
204
+ 'grid'
205
+ end
206
+ end
207
+ expect(grid.query_params).to eq({grid: {name: 'value'}})
208
+ end
209
+ end
196
210
  end
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
+ require "active_support/testing/time_helpers"
2
3
 
3
4
  describe Datagrid::Filters::DateFilter do
4
5
 
@@ -122,14 +123,16 @@ describe Datagrid::Filters::DateFilter do
122
123
 
123
124
 
124
125
  it "should support block" do
125
- report = test_report(:created_at => Date.today) do
126
+ date = Date.new(2018, 01, 07)
127
+ time = Time.utc(2018, 01, 07, 2, 2)
128
+ report = test_report(:created_at => date) do
126
129
  scope { Entry }
127
130
  filter(:created_at, :date, :range => true) do |value|
128
131
  where("created_at >= ?", value)
129
132
  end
130
133
  end
131
- expect(report.assets).not_to include(Entry.create!(:created_at => 1.day.ago))
132
- expect(report.assets).to include(Entry.create!(:created_at => Time.now))
134
+ expect(report.assets).not_to include(Entry.create!(:created_at => time - 1.day))
135
+ expect(report.assets).to include(Entry.create!(:created_at => time))
133
136
  end
134
137
 
135
138
 
@@ -1,5 +1,6 @@
1
1
  # encoding: UTF-8
2
2
  require 'spec_helper'
3
+ require "action_controller"
3
4
 
4
5
  class MyFormBuilder
5
6
  include Datagrid::FormBuilder
@@ -11,19 +12,15 @@ end
11
12
 
12
13
 
13
14
  describe Datagrid::FormBuilder do
14
-
15
15
  let(:template) do
16
- ActionView::Base.new.tap do |v|
17
- v.view_paths << File.expand_path("../../../app/views", __FILE__)
18
- v.view_paths << File.expand_path("../../support/test_partials", __FILE__)
19
- end
16
+ action_view_template
20
17
  end
18
+
21
19
  let(:view) { ActionView::Helpers::FormBuilder.new(:report, _grid, template, view_options)}
22
20
  let(:view_options) { {} }
23
21
 
24
22
 
25
23
  describe ".datagrid_filter" do
26
-
27
24
  it "should work for every filter type" do
28
25
  Datagrid::Filters::FILTER_TYPES.each do |type, klass|
29
26
  expect(Datagrid::FormBuilder.instance_methods.map(&:to_sym)).to include(klass.form_builder_helper_name)
@@ -1,16 +1,13 @@
1
1
  require 'spec_helper'
2
2
  require "active_support/core_ext/hash"
3
3
  require "active_support/core_ext/object"
4
+ require "action_controller"
4
5
 
5
6
  require 'datagrid/renderer'
6
7
 
7
8
  describe Datagrid::Helper do
8
9
  subject do
9
- template = ActionView::Base.new
10
- allow(template).to receive(:protect_against_forgery?).and_return(false)
11
- template.view_paths << File.expand_path("../../../app/views", __FILE__)
12
- template.view_paths << File.expand_path("../../support/test_partials", __FILE__)
13
- template
10
+ action_view_template
14
11
  end
15
12
 
16
13
  before(:each) do
@@ -248,6 +245,17 @@ describe Datagrid::Helper do
248
245
  )
249
246
  end
250
247
 
248
+ it "should render columns with &:symbol block" do
249
+ rp = test_report do
250
+ scope { Entry }
251
+ column(:name, &:name)
252
+ end
253
+
254
+ expect(subject.datagrid_rows(rp, [entry])).to match_css_pattern(
255
+ "tr td.name" => "Star"
256
+ )
257
+ end
258
+
251
259
  it "should render html columns" do
252
260
  rp = test_report do
253
261
  scope { Entry }
@@ -260,6 +268,41 @@ describe Datagrid::Helper do
260
268
  )
261
269
  end
262
270
 
271
+ it "should render :html columns with &:symbol block" do
272
+ rp = test_report do
273
+ scope { Entry }
274
+ column(:name, :html => true, &:name)
275
+ end
276
+
277
+ expect(subject.datagrid_rows(rp, [entry])).to match_css_pattern(
278
+ "tr td.name" => "Star"
279
+ )
280
+ end
281
+
282
+ it "should render format columns with &:symbol block" do
283
+ rp = test_report do
284
+ scope { Entry }
285
+ column(:name) do |record|
286
+ format(record, &:name)
287
+ end
288
+ end
289
+
290
+ expect(subject.datagrid_rows(rp, [entry])).to match_css_pattern(
291
+ "tr td.name" => "Star"
292
+ )
293
+ end
294
+
295
+ it "should render :html columns with &:symbol block with a data attribute" do
296
+ rp = test_report do
297
+ scope { Entry }
298
+ column(:name, :html => true, data: 'DATA', &:name)
299
+ end
300
+
301
+ expect(subject.datagrid_rows(rp, [entry])).to match_css_pattern(
302
+ "tr td.name" => "Star"
303
+ )
304
+ end
305
+
263
306
  it "should render argument-based html columns" do
264
307
  rp = test_report do
265
308
  scope { Entry }
@@ -389,14 +432,14 @@ describe Datagrid::Helper do
389
432
  end
390
433
 
391
434
  it "should escape html" do
392
- entry.update_attributes!(:name => "<div>hello</div>")
435
+ entry.update!(:name => "<div>hello</div>")
393
436
  expect(subject.datagrid_rows(grid, [entry], :columns => [:name])).to equal_to_dom(<<-HTML)
394
437
  <tr><td class="name">&lt;div&gt;hello&lt;/div&gt;</td></tr>
395
438
  HTML
396
439
  end
397
440
 
398
441
  it "should not escape safe html" do
399
- entry.update_attributes!(:name => "<div>hello</div>")
442
+ entry.update!(:name => "<div>hello</div>")
400
443
  grid.column(:safe_name) do |model|
401
444
  model.name.html_safe
402
445
  end
@@ -60,8 +60,8 @@ describe Datagrid do
60
60
 
61
61
  describe ".batch_size" do
62
62
  context "when not defined on class level" do
63
- it "returns nil" do
64
- expect(subject.batch_size).to eq(nil)
63
+ it "returns 1000" do
64
+ expect(subject.batch_size).to eq(1000)
65
65
  end
66
66
  end
67
67
 
@@ -77,6 +77,17 @@ describe Datagrid do
77
77
  end
78
78
  end
79
79
 
80
+ context "when set to nil in the grid class" do
81
+ subject do
82
+ test_report do
83
+ self.batch_size = nil
84
+ end
85
+ end
86
+
87
+ it "returns nil" do
88
+ expect(subject.batch_size).to eq(nil)
89
+ end
90
+ end
80
91
  end
81
92
 
82
93
 
data/spec/spec_helper.rb CHANGED
@@ -17,7 +17,7 @@ require 'action_view'
17
17
  require "rails"
18
18
  require "mongoid"
19
19
  begin
20
- require 'mongo_mapper'
20
+ require 'mongo_mapper'
21
21
  rescue LoadError
22
22
  end
23
23
 
@@ -55,9 +55,11 @@ begin
55
55
  "database" =>"datagrid_mongoid",
56
56
  "autocreate_indexes" => true,
57
57
  "logger" => nil,
58
- "options" => {
59
- "connect_timeout" => 2,
60
- wait_queue_timeout: 2
58
+ options: {
59
+ connect_timeout: 2,
60
+ wait_queue_timeout: 2,
61
+ server_selection_timeout: 2,
62
+ socket_timeout: 1
61
63
  }
62
64
  }
63
65
  }
@@ -80,8 +82,6 @@ rescue Mongo::Error::NoServerAvailable
80
82
  end
81
83
 
82
84
  RSpec.configure do |config|
83
-
84
-
85
85
  config.after(:each) do
86
86
  #TODO better database truncation
87
87
  Group.delete_all
@@ -103,12 +103,21 @@ RSpec.configure do |config|
103
103
  #c.syntax = :expect
104
104
  c.syntax = [:should, :expect]
105
105
  end
106
+ end
106
107
 
108
+ def action_view_template
109
+ context = ActionView::LookupContext.new([
110
+ File.expand_path("../../app/views", __FILE__),
111
+ File.expand_path("../support/test_partials", __FILE__),
112
+ ], {})
113
+ klass = ActionView::Base.respond_to?(:with_empty_template_cache) ? ActionView::Base.with_empty_template_cache : ActionView::Base
114
+ template = klass.new(context, {}, ::ActionController::Base.new)
115
+ allow(template).to receive(:protect_against_forgery?).and_return(false)
116
+ template
107
117
  end
108
118
 
109
119
 
110
120
 
111
121
  # Requires supporting files with custom matchers and macros, etc,
112
122
  # in ./support/ and its subdirectories.
113
- Dir["#{File.dirname(__FILE__)}/support/schema.rb"].each {|f| require f}
114
123
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
@@ -45,7 +45,7 @@ class SimpleReport
45
45
  end
46
46
 
47
47
  column(:actions, :html => true) do |model|
48
- render :partial => "actions", :locals => {:model => model}
48
+ render :partial => "/actions", :locals => {:model => model}
49
49
  end
50
50
 
51
51
  column(:pet, :html => lambda {|data| content_tag :em, data}) do
@@ -2,10 +2,10 @@
2
2
  <p>Namespaced order_for partial.</p>
3
3
  <%= link_to(
4
4
  I18n.t("datagrid.table.order.asc").html_safe,
5
- url_for(grid.param_name => grid.as_query.merge(:order => column.name, :descending => false)),
5
+ url_for(grid.query_params(order: column.name, descending: false)),
6
6
  :class => "asc") %>
7
7
  <%= link_to(
8
8
  I18n.t("datagrid.table.order.desc").html_safe,
9
- url_for(grid.param_name => grid.as_query.merge(:order => column.name, :descending => true )),
9
+ url_for(grid.query_params(order: column.name, descending: true)),
10
10
  :class => "desc") %>
11
11
  </div>
@@ -13,7 +13,7 @@ Local variables:
13
13
  <% if assets.empty? %>
14
14
  <tr><td class="noresults" colspan="100%"><%= I18n.t('datagrid.no_results').html_safe %></td></tr>
15
15
  <% else %>
16
- <%= datagrid_rows(grid, assets, options) %>
16
+ <%= datagrid_rows(grid, assets, **options) %>
17
17
  <% end %>
18
18
  </tbody>
19
19
  <% end %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datagrid
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.9
4
+ version: 1.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bogdan Gusiev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-10 00:00:00.000000000 Z
11
+ date: 2020-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.3.6
103
+ version: '1.4'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.3.6
110
+ version: '1.4'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: sequel
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -171,6 +171,7 @@ executables: []
171
171
  extensions: []
172
172
  extra_rdoc_files:
173
173
  - LICENSE.txt
174
+ - Readme.markdown
174
175
  files:
175
176
  - ".document"
176
177
  - ".rspec"
@@ -284,7 +285,7 @@ homepage: http://github.com/bogdan/datagrid
284
285
  licenses:
285
286
  - MIT
286
287
  metadata: {}
287
- post_install_message:
288
+ post_install_message:
288
289
  rdoc_options: []
289
290
  require_paths:
290
291
  - lib
@@ -299,9 +300,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
299
300
  - !ruby/object:Gem::Version
300
301
  version: '0'
301
302
  requirements: []
302
- rubyforge_project:
303
- rubygems_version: 2.7.8
304
- signing_key:
303
+ rubygems_version: 3.0.8
304
+ signing_key:
305
305
  specification_version: 4
306
306
  summary: Ruby gem to create datagrids
307
307
  test_files: []