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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94a9a3ff232cd83f323e280e35a805ebd4ec725b74b531c18328c4de27952f2f
4
- data.tar.gz: c91f39764fa86f0d8b016de33eeabfd37b47d16411f3f52ec796f2bf1d14d534
3
+ metadata.gz: bd828dc639436b3eedd26fad706bb0ba844b62229209dc941019a09e63301d77
4
+ data.tar.gz: 05c04ebc0ecd2f7b780964ea08677c451ac5c00353dda901af57cc8a447b18ec
5
5
  SHA512:
6
- metadata.gz: b999afc64d7094dfd47a2e4f393824df58edf15769c445a9d16712dc6f531f3b30f872046cd657bc9323df6a460b4d1a74334fc4b498de141a9998d3aa6c34bc
7
- data.tar.gz: 89d0e83bd75e28ee33dc890d2f5f82de6391a9d32b0723e77afa8dfc0856d126c1fe0ee4c8ab5b0b2f5491e5908b45e14de0bd18669c2786764faeac8c6fc0c2
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", :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: [: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
@@ -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.0
@@ -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.9 ruby lib
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.5.9"
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 = "2019-05-10"
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 = "2.7.8".freeze
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.3.6"])
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.3.6"])
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.3.6"])
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"])
@@ -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 = []
@@ -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)
@@ -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 = 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.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
@@ -389,14 +386,14 @@ describe Datagrid::Helper do
389
386
  end
390
387
 
391
388
  it "should escape html" do
392
- entry.update_attributes!(:name => "<div>hello</div>")
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">&lt;div&gt;hello&lt;/div&gt;</td></tr>
395
392
  HTML
396
393
  end
397
394
 
398
395
  it "should not escape safe html" do
399
- entry.update_attributes!(:name => "<div>hello</div>")
396
+ entry.update!(:name => "<div>hello</div>")
400
397
  grid.column(:safe_name) do |model|
401
398
  model.name.html_safe
402
399
  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
 
@@ -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
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.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: 2019-05-10 00:00:00.000000000 Z
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.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
@@ -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
- rubyforge_project:
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