datagrid 1.5.9 → 1.6.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/Gemfile +7 -3
- data/Readme.markdown +2 -1
- data/VERSION +1 -1
- data/datagrid.gemspec +7 -7
- data/lib/datagrid/columns.rb +1 -0
- data/lib/datagrid/drivers/mongoid.rb +5 -1
- data/spec/datagrid/filters/date_filter_spec.rb +6 -3
- data/spec/datagrid/form_builder_spec.rb +3 -6
- data/spec/datagrid/helper_spec.rb +4 -7
- data/spec/datagrid_spec.rb +13 -2
- data/spec/spec_helper.rb +16 -7
- data/spec/support/simple_report.rb +1 -1
- metadata +5 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bd828dc639436b3eedd26fad706bb0ba844b62229209dc941019a09e63301d77
|
|
4
|
+
data.tar.gz: 05c04ebc0ecd2f7b780964ea08677c451ac5c00353dda901af57cc8a447b18ec
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a7f7d6ab72a350bf5f88b5e41707204fa0d1791cc1b382b66d704b2380bffb96280e508b68896ac4e8bf158d7e36bf030c3aa4744134b07c3c0f41651c7fe256
|
|
7
|
+
data.tar.gz: b07edf4527a83375d94b5cb9d1730c855e595f029bcdd77e9a311e0745a14acc3797b2e9af2d0335977f2718a7e9756bf753a468280511920d2908a385283878
|
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: [:ruby_23, :ruby_24, :ruby_25, :ruby_26], git: 'git@github.com:technicalpickles/jeweler.git'
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
#gem "json", ">= 1.9"
|
|
14
|
-
gem "pry-byebug"
|
|
14
|
+
gem "pry-byebug"
|
|
15
15
|
|
|
16
16
|
gem "rspec", ">= 3"
|
|
17
17
|
gem "nokogiri" # used to test html output
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
if RUBY_VERSION >= "2.5"
|
|
20
|
+
gem "sqlite3", "~> 1.4", platform: [:ruby_25, :ruby_26]
|
|
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
|
[](https://travis-ci.org/bogdan/datagrid)
|
|
4
|
+
|
|
4
5
|
[](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
|
-
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fbogdan%2Fdatagrid?ref=badge_large)
|
|
205
|
+
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fbogdan%2Fdatagrid?ref=badge_large)
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.6.0
|
data/datagrid.gemspec
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
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
|
+
# stub: datagrid 1.6.0 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
8
|
s.name = "datagrid".freeze
|
|
9
|
-
s.version = "1.
|
|
9
|
+
s.version = "1.6.0"
|
|
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 = "
|
|
14
|
+
s.date = "2020-03-31"
|
|
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 = [
|
|
@@ -130,7 +130,7 @@ Gem::Specification.new do |s|
|
|
|
130
130
|
s.homepage = "http://github.com/bogdan/datagrid".freeze
|
|
131
131
|
s.licenses = ["MIT".freeze]
|
|
132
132
|
s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze)
|
|
133
|
-
s.rubygems_version = "
|
|
133
|
+
s.rubygems_version = "3.0.8".freeze
|
|
134
134
|
s.summary = "Ruby gem to create datagrids".freeze
|
|
135
135
|
|
|
136
136
|
if s.respond_to? :specification_version then
|
|
@@ -143,7 +143,7 @@ Gem::Specification.new do |s|
|
|
|
143
143
|
s.add_development_dependency(%q<pry-byebug>.freeze, [">= 0"])
|
|
144
144
|
s.add_development_dependency(%q<rspec>.freeze, [">= 3"])
|
|
145
145
|
s.add_development_dependency(%q<nokogiri>.freeze, [">= 0"])
|
|
146
|
-
s.add_development_dependency(%q<sqlite3>.freeze, ["~> 1.
|
|
146
|
+
s.add_development_dependency(%q<sqlite3>.freeze, ["~> 1.4"])
|
|
147
147
|
s.add_development_dependency(%q<sequel>.freeze, [">= 0"])
|
|
148
148
|
s.add_development_dependency(%q<mongoid>.freeze, [">= 0"])
|
|
149
149
|
s.add_development_dependency(%q<bson>.freeze, [">= 0"])
|
|
@@ -155,7 +155,7 @@ Gem::Specification.new do |s|
|
|
|
155
155
|
s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
|
|
156
156
|
s.add_dependency(%q<rspec>.freeze, [">= 3"])
|
|
157
157
|
s.add_dependency(%q<nokogiri>.freeze, [">= 0"])
|
|
158
|
-
s.add_dependency(%q<sqlite3>.freeze, ["~> 1.
|
|
158
|
+
s.add_dependency(%q<sqlite3>.freeze, ["~> 1.4"])
|
|
159
159
|
s.add_dependency(%q<sequel>.freeze, [">= 0"])
|
|
160
160
|
s.add_dependency(%q<mongoid>.freeze, [">= 0"])
|
|
161
161
|
s.add_dependency(%q<bson>.freeze, [">= 0"])
|
|
@@ -168,7 +168,7 @@ Gem::Specification.new do |s|
|
|
|
168
168
|
s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
|
|
169
169
|
s.add_dependency(%q<rspec>.freeze, [">= 3"])
|
|
170
170
|
s.add_dependency(%q<nokogiri>.freeze, [">= 0"])
|
|
171
|
-
s.add_dependency(%q<sqlite3>.freeze, ["~> 1.
|
|
171
|
+
s.add_dependency(%q<sqlite3>.freeze, ["~> 1.4"])
|
|
172
172
|
s.add_dependency(%q<sequel>.freeze, [">= 0"])
|
|
173
173
|
s.add_dependency(%q<mongoid>.freeze, [">= 0"])
|
|
174
174
|
s.add_dependency(%q<bson>.freeze, [">= 0"])
|
data/lib/datagrid/columns.rb
CHANGED
|
@@ -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
|
-
|
|
126
|
+
date = Date.new(2018, 01, 07)
|
|
127
|
+
time = date.to_time + 2.hours + 2.minutes
|
|
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
|
|
132
|
-
expect(report.assets).to include(Entry.create!(:created_at =>
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
@@ -389,14 +386,14 @@ describe Datagrid::Helper do
|
|
|
389
386
|
end
|
|
390
387
|
|
|
391
388
|
it "should escape html" do
|
|
392
|
-
entry.
|
|
389
|
+
entry.update!(:name => "<div>hello</div>")
|
|
393
390
|
expect(subject.datagrid_rows(grid, [entry], :columns => [:name])).to equal_to_dom(<<-HTML)
|
|
394
391
|
<tr><td class="name"><div>hello</div></td></tr>
|
|
395
392
|
HTML
|
|
396
393
|
end
|
|
397
394
|
|
|
398
395
|
it "should not escape safe html" do
|
|
399
|
-
entry.
|
|
396
|
+
entry.update!(:name => "<div>hello</div>")
|
|
400
397
|
grid.column(:safe_name) do |model|
|
|
401
398
|
model.name.html_safe
|
|
402
399
|
end
|
data/spec/datagrid_spec.rb
CHANGED
|
@@ -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
|
|
64
|
-
expect(subject.batch_size).to eq(
|
|
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
|
-
|
|
59
|
-
|
|
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
|
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.
|
|
4
|
+
version: 1.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Bogdan Gusiev
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-03-31 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.
|
|
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.
|
|
110
|
+
version: '1.4'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
112
|
name: sequel
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -299,8 +299,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
299
299
|
- !ruby/object:Gem::Version
|
|
300
300
|
version: '0'
|
|
301
301
|
requirements: []
|
|
302
|
-
|
|
303
|
-
rubygems_version: 2.7.8
|
|
302
|
+
rubygems_version: 3.0.8
|
|
304
303
|
signing_key:
|
|
305
304
|
specification_version: 4
|
|
306
305
|
summary: Ruby gem to create datagrids
|