diff --git a/lib/datagrid/drivers/abstract_driver.rb b/lib/datagrid/drivers/abstract_driver.rb index 6125e532..8cf5e6bc 100644 --- a/lib/datagrid/drivers/abstract_driver.rb +++ b/lib/datagrid/drivers/abstract_driver.rb @@ -63,7 +63,7 @@ def reverse_order(scope) raise NotImplementedError end - def is_timestamp?(scope, field) + def timestamp_column?(scope, field) normalized_column_type(scope, field) == :timestamp end diff --git a/lib/datagrid/drivers/mongo_mapper.rb b/lib/datagrid/drivers/mongo_mapper.rb index 48871ac8..b0a7738a 100644 --- a/lib/datagrid/drivers/mongo_mapper.rb +++ b/lib/datagrid/drivers/mongo_mapper.rb @@ -46,7 +46,7 @@ def scope_has_column?(scope, column_name) scope.key?(column_name) end - def is_timestamp?(_scope, _column_name) + def timestamp_column?(_scope, _column_name) # TODO: implement the support false end diff --git a/lib/datagrid/filters/date_filter.rb b/lib/datagrid/filters/date_filter.rb index 2a7d29d8..12057178 100644 --- a/lib/datagrid/filters/date_filter.rb +++ b/lib/datagrid/filters/date_filter.rb @@ -25,7 +25,7 @@ def format(value) end def default_filter_where(scope, value) - value = Datagrid::Utils.format_date_as_timestamp(value) if driver.is_timestamp?(scope, name) + value = Datagrid::Utils.format_date_as_timestamp(value) if driver.timestamp_column?(scope, name) super end diff --git a/lib/datagrid/filters/dynamic_filter.rb b/lib/datagrid/filters/dynamic_filter.rb index 77e922b5..7487ab8a 100644 --- a/lib/datagrid/filters/dynamic_filter.rb +++ b/lib/datagrid/filters/dynamic_filter.rb @@ -41,7 +41,7 @@ def unapplicable_value?(filter) def default_filter_where(scope, filter) field, operation, value = filter - date_conversion = value.is_a?(Date) && driver.is_timestamp?(scope, field) + date_conversion = value.is_a?(Date) && driver.timestamp_column?(scope, field) return scope if field.blank? || operation.blank? diff --git a/lib/datagrid/utils.rb b/lib/datagrid/utils.rb index 3a2a18dd..e1142ae4 100644 --- a/lib/datagrid/utils.rb +++ b/lib/datagrid/utils.rb @@ -79,6 +79,7 @@ def parse_date(value) Array(Datagrid.configuration.date_formats).each do |format| return Date.strptime(value, format) rescue ::ArgumentError + nil end end return Date.parse(value) if value.is_a?(String) @@ -97,6 +98,7 @@ def parse_datetime(value) Array(Datagrid.configuration.datetime_formats).each do |format| return Time.strptime(value, format) rescue ::ArgumentError + nil end end return Time.parse(value) if value.is_a?(String) diff --git a/spec/datagrid/filters/boolean_filter_spec.rb b/spec/datagrid/filters/boolean_filter_spec.rb index 96ed6cdf..4b10491c 100644 --- a/spec/datagrid/filters/boolean_filter_spec.rb +++ b/spec/datagrid/filters/boolean_filter_spec.rb @@ -1,4 +1,6 @@ -require 'spec_helper' +# frozen_string_literal: true + +require "spec_helper" describe Datagrid::Filters::BooleanFilter do it "applies default filtering" do diff --git a/spec/datagrid/filters_spec.rb b/spec/datagrid/filters_spec.rb index 203ba29f..1d390f73 100644 --- a/spec/datagrid/filters_spec.rb +++ b/spec/datagrid/filters_spec.rb @@ -304,16 +304,16 @@ class TestGrid8728 end context "with delegation to attribute" do - let(:role) { OpenStruct.new("admin?" => admin) } + let(:role) { Struct.new(:admin).new(admin) } let(:klass) do test_report_class do attr_accessor :role - delegate :admin?, to: :role + delegate :admin, to: :role scope { Entry } - filter(:id, :integer, if: :admin?) + filter(:id, :integer, if: :admin) end end diff --git a/spec/datagrid/helper_spec.rb b/spec/datagrid/helper_spec.rb index a4660b53..1685d525 100644 --- a/spec/datagrid/helper_spec.rb +++ b/spec/datagrid/helper_spec.rb @@ -483,15 +483,15 @@ class FormForGrid end object = FormForGrid.new(category: "hello") expect(subject.datagrid_form_for(object, url: "/grid")).to equal_to_dom(<<~HTML) -
- - -
-
- - Reset -
-
+
+ + +
+
+ + Reset +
+
HTML end it "should support html classes for grid class with namespace" do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index fed002fd..4c60b72d 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -21,13 +21,10 @@ begin require "mongo_mapper" rescue LoadError + nil end require "datagrid" -begin - require "ruby-debug" -rescue LoadError -end require "rspec" require "logger"