From 2ba70b9c4535bb27b4705b32044fb005ac60cf5c Mon Sep 17 00:00:00 2001 From: Chris Beer Date: Wed, 6 Jul 2016 15:22:32 -0700 Subject: [PATCH] Re-add deprecated DocumentPresenter#render_values until Blacklight 7.x --- .../blacklight/document_presenter.rb | 8 +++++- app/presenters/blacklight/index_presenter.rb | 18 +++++++++++++ app/presenters/blacklight/show_presenter.rb | 18 +++++++++++++ spec/presenters/document_presenter_spec.rb | 8 ++++++ spec/presenters/index_presenter_spec.rb | 26 +++++++++++++++++++ spec/presenters/show_presenter_spec.rb | 26 +++++++++++++++++++ 6 files changed, 103 insertions(+), 1 deletion(-) diff --git a/app/presenters/blacklight/document_presenter.rb b/app/presenters/blacklight/document_presenter.rb index 77bc0e4d12..1268b7123b 100644 --- a/app/presenters/blacklight/document_presenter.rb +++ b/app/presenters/blacklight/document_presenter.rb @@ -127,10 +127,16 @@ def field_values(field_config, options={}) # @deprecated def render_field_value(values, field_config = Configuration::NullField.new) - FieldPresenter.new(@controller, @document, field_config, value: values).render + field_value(field_config, value: Array(values)) end deprecation_deprecate render_field_value: 'Use FieldPresenter instead' + # @deprecated + def render_values(values, field_config = Configuration::NullField.new) + field_value(field_config, value: Array(values)) + end + deprecation_deprecate render_values: 'Use FieldPresenter instead' + private def index_presenter diff --git a/app/presenters/blacklight/index_presenter.rb b/app/presenters/blacklight/index_presenter.rb index 357235dc02..0a621b9774 100644 --- a/app/presenters/blacklight/index_presenter.rb +++ b/app/presenters/blacklight/index_presenter.rb @@ -45,6 +45,24 @@ def field_value field, options = {} field_values(field_config, options) end + # @deprecated + def get_field_values(field_config, options={}) + field_values(field_config, options) + end + deprecation_deprecate get_field_values: "replaced by #field_value" + + # @deprecated + def render_field_values(values, field_config = Configuration::NullField.new) + field_values(field_config, value: Array(values)) + end + deprecation_deprecate render_field_values: "replaced by #field_value" + + # @deprecated + def render_values(values, field_config = Configuration::NullField.new) + field_values(field_config, value: Array(values)) + end + deprecation_deprecate render_values: "replaced by #field_value" + private ## diff --git a/app/presenters/blacklight/show_presenter.rb b/app/presenters/blacklight/show_presenter.rb index 7a32dfb696..836484b462 100644 --- a/app/presenters/blacklight/show_presenter.rb +++ b/app/presenters/blacklight/show_presenter.rb @@ -74,6 +74,24 @@ def field_value field, options={} field_values(field_config(field), options) end + # @deprecated + def get_field_values(field_config, options={}) + field_values(field_config, options) + end + deprecation_deprecate get_field_values: "replaced by #field_value" + + # @deprecated + def render_field_values(values, field_config = Configuration::NullField.new) + field_values(field_config, value: Array(values)) + end + deprecation_deprecate render_field_values: "replaced by #field_value" + + # @deprecated + def render_values(values, field_config = Configuration::NullField.new) + field_values(field_config, value: Array(values)) + end + deprecation_deprecate render_values: "replaced by #field_value" + private ## diff --git a/spec/presenters/document_presenter_spec.rb b/spec/presenters/document_presenter_spec.rb index 0a0e84644c..f4d8d6d28b 100644 --- a/spec/presenters/document_presenter_spec.rb +++ b/spec/presenters/document_presenter_spec.rb @@ -428,4 +428,12 @@ def mock_document_app_helper_url *args end end end + + describe '#render_values' do + it 'renders field values as a string' do + expect(subject.render_values('x')).to eq 'x' + expect(subject.render_values(['x', 'y'])).to eq 'x and y' + expect(subject.render_values(['x', 'y', 'z'])).to eq 'x, y, and z' + end + end end diff --git a/spec/presenters/index_presenter_spec.rb b/spec/presenters/index_presenter_spec.rb index 3e37cd1d44..b07b63ea2d 100644 --- a/spec/presenters/index_presenter_spec.rb +++ b/spec/presenters/index_presenter_spec.rb @@ -143,5 +143,31 @@ end end end + + describe 'deprecated methods' do + before do + allow(Deprecation).to receive(:warn) + end + + let(:field_config) { config.add_index_field 'qwerty' } + + describe '#get_field_values' do + it 'renders values for the given field' do + expect(subject.get_field_values(field_config, value: ['x', 'y'])).to eq 'x and y' + end + end + + describe '#render_field_values' do + it 'renders values for the given field' do + expect(subject.render_field_values('x')).to eq 'x' + end + end + + describe '#render_values' do + it 'renders values for the given field' do + expect(subject.render_values(['x', 'y', 'z'])).to eq 'x, y, and z' + end + end + end end diff --git a/spec/presenters/show_presenter_spec.rb b/spec/presenters/show_presenter_spec.rb index 3f3030ba69..e4521c6a6c 100644 --- a/spec/presenters/show_presenter_spec.rb +++ b/spec/presenters/show_presenter_spec.rb @@ -283,5 +283,31 @@ def mock_document_app_helper_url *args end end end + + describe 'deprecated methods' do + before do + allow(Deprecation).to receive(:warn) + end + + let(:field_config) { config.add_index_field 'qwerty' } + + describe '#get_field_values' do + it 'renders values for the given field' do + expect(subject.get_field_values(field_config, value: ['x', 'y'])).to eq 'x and y' + end + end + + describe '#render_field_values' do + it 'renders values for the given field' do + expect(subject.render_field_values('x')).to eq 'x' + end + end + + describe '#render_values' do + it 'renders values for the given field' do + expect(subject.render_values(['x', 'y', 'z'])).to eq 'x, y, and z' + end + end + end end