From fc0a0c293e2af2e626f80a8984427804f3c0632f Mon Sep 17 00:00:00 2001 From: Eliot Jordan Date: Thu, 15 Dec 2016 19:11:52 -0600 Subject: [PATCH] force layer_modified date into XMLSchema in Rails 4 --- .../geo_concerns/discovery/document_builder/date_builder.rb | 4 +++- .../events_generator/geoblacklight_event_generator_spec.rb | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/services/geo_concerns/discovery/document_builder/date_builder.rb b/app/services/geo_concerns/discovery/document_builder/date_builder.rb index 35599801..93a71143 100644 --- a/app/services/geo_concerns/discovery/document_builder/date_builder.rb +++ b/app/services/geo_concerns/discovery/document_builder/date_builder.rb @@ -32,7 +32,9 @@ def layer_year # Returns the date the work was modified. # @return [String] date in XMLSchema format. def layer_modified - geo_concern.layer_modified.try(:xmlschema) + datetime = geo_concern.layer_modified + # TODO: Rails 4 doesn't implement the timezone correctly -- it adds "+00:00" not "Z" + Rails::VERSION::MAJOR == 4 ? datetime.utc.strftime('%FT%TZ') : datetime.utc.xmlschema end # Returns the date the layer was issued. diff --git a/spec/services/geo_concerns/events_generator/geoblacklight_event_generator_spec.rb b/spec/services/geo_concerns/events_generator/geoblacklight_event_generator_spec.rb index fde0c02d..495bc3a1 100644 --- a/spec/services/geo_concerns/events_generator/geoblacklight_event_generator_spec.rb +++ b/spec/services/geo_concerns/events_generator/geoblacklight_event_generator_spec.rb @@ -17,7 +17,7 @@ let(:layer_modified) do datetime = record.solr_document[:system_modified_dtsi] datetime = DateTime.parse(datetime.to_s).utc - Rails::VERSION::MAJOR == 4 ? datetime.utc.xmlschema : datetime.utc.strftime('%FT%TZ') + Rails::VERSION::MAJOR == 4 ? datetime.utc.strftime('%FT%TZ') : datetime.utc.xmlschema end let(:discovery_doc) { { "geoblacklight_version" => "1.0", "dc_identifier_s" => "geo-work-1",