From 3f84d0008a8d8cc521db324a797f4de1cb97ba7d Mon Sep 17 00:00:00 2001 From: Kristina Lim Date: Fri, 14 Dec 2018 18:26:34 +1100 Subject: [PATCH] Move some in OpenFoodNetwork to engine services This removes the OpenFoodNetwork namespace from these too. --- .../enterprise_fee_summaries_controller.rb | 5 ++--- .../order_management/app/services/reports.rb | 3 +++ .../app/services/reports/authorizer.rb | 12 +++++++++++ .../app/services/reports/parameters/base.rb | 19 +++++++++++++++++ .../app/services/reports/permissions.rb | 9 ++++++++ .../app/services/reports/renderers/base.rb | 11 ++++++++++ .../app/services/reports/report_data/base.rb | 11 ++++++++++ .../enterprise_fee_summary/authorizer.rb | 6 ++---- .../enterprise_fee_summary/parameters.rb | 4 +--- .../enterprise_fee_summary/permissions.rb | 4 +--- .../renderers/csv_renderer.rb | 4 +--- .../renderers/html_renderer.rb | 4 +--- .../report_data/enterprise_fee_type_total.rb | 4 +--- .../report_data/enterprise_fee_type_totals.rb | 4 +--- .../enterprise_fee_summary/authorizer_spec.rb | 13 ++++++------ .../enterprise_fee_summary/parameters_spec.rb | 2 +- lib/open_food_network/reports.rb | 5 ----- lib/open_food_network/reports/authorizer.rb | 14 ------------- .../reports/parameters/base.rb | 21 ------------------- lib/open_food_network/reports/permissions.rb | 11 ---------- .../reports/renderers/base.rb | 13 ------------ .../reports/report_data/base.rb | 13 ------------ 22 files changed, 82 insertions(+), 110 deletions(-) create mode 100644 engines/order_management/app/services/reports.rb create mode 100644 engines/order_management/app/services/reports/authorizer.rb create mode 100644 engines/order_management/app/services/reports/parameters/base.rb create mode 100644 engines/order_management/app/services/reports/permissions.rb create mode 100644 engines/order_management/app/services/reports/renderers/base.rb create mode 100644 engines/order_management/app/services/reports/report_data/base.rb delete mode 100644 lib/open_food_network/reports.rb delete mode 100644 lib/open_food_network/reports/authorizer.rb delete mode 100644 lib/open_food_network/reports/parameters/base.rb delete mode 100644 lib/open_food_network/reports/permissions.rb delete mode 100644 lib/open_food_network/reports/renderers/base.rb delete mode 100644 lib/open_food_network/reports/report_data/base.rb diff --git a/app/controllers/spree/admin/reports/enterprise_fee_summaries_controller.rb b/app/controllers/spree/admin/reports/enterprise_fee_summaries_controller.rb index d0d0cd89b6..db88a3bca0 100644 --- a/app/controllers/spree/admin/reports/enterprise_fee_summaries_controller.rb +++ b/app/controllers/spree/admin/reports/enterprise_fee_summaries_controller.rb @@ -1,4 +1,3 @@ -require "open_food_network/reports" require "order_management/reports/enterprise_fee_summary/parameters" require "order_management/reports/enterprise_fee_summary/permissions" require "order_management/reports/enterprise_fee_summary/authorizer" @@ -22,7 +21,7 @@ module Spree @report = report_klass::ReportService.new(@permissions, @report_parameters) renderer.render(self) - rescue OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError => e + rescue ::Reports::Authorizer::ParameterNotAllowedError => e flash[:error] = e.message render_report_form end @@ -61,7 +60,7 @@ module Spree when nil, "", "html" report_klass::Renderers::HtmlRenderer else - raise OpenFoodNetwork::Reports::UnsupportedReportFormatException + raise Reports::UnsupportedReportFormatException end end diff --git a/engines/order_management/app/services/reports.rb b/engines/order_management/app/services/reports.rb new file mode 100644 index 0000000000..ec85236122 --- /dev/null +++ b/engines/order_management/app/services/reports.rb @@ -0,0 +1,3 @@ +module Reports + class UnsupportedReportFormatException < StandardError; end +end diff --git a/engines/order_management/app/services/reports/authorizer.rb b/engines/order_management/app/services/reports/authorizer.rb new file mode 100644 index 0000000000..279952249a --- /dev/null +++ b/engines/order_management/app/services/reports/authorizer.rb @@ -0,0 +1,12 @@ +module Reports + class Authorizer + class ParameterNotAllowedError < StandardError; end + + attr_accessor :parameters, :permissions + + def initialize(parameters, permissions) + @parameters = parameters + @permissions = permissions + end + end +end diff --git a/engines/order_management/app/services/reports/parameters/base.rb b/engines/order_management/app/services/reports/parameters/base.rb new file mode 100644 index 0000000000..8debc06b1d --- /dev/null +++ b/engines/order_management/app/services/reports/parameters/base.rb @@ -0,0 +1,19 @@ +module Reports + module Parameters + class Base + extend ActiveModel::Naming + extend ActiveModel::Translation + include ActiveModel::Validations + include ActiveModel::Validations::Callbacks + + def initialize(attributes = {}) + attributes.each do |key, value| + public_send("#{key}=", value) + end + end + + # The parameters are never persisted. + def to_key; end + end + end +end diff --git a/engines/order_management/app/services/reports/permissions.rb b/engines/order_management/app/services/reports/permissions.rb new file mode 100644 index 0000000000..df8588670f --- /dev/null +++ b/engines/order_management/app/services/reports/permissions.rb @@ -0,0 +1,9 @@ +module Reports + class Permissions + attr_accessor :user + + def initialize(user) + @user = user + end + end +end diff --git a/engines/order_management/app/services/reports/renderers/base.rb b/engines/order_management/app/services/reports/renderers/base.rb new file mode 100644 index 0000000000..73fda10231 --- /dev/null +++ b/engines/order_management/app/services/reports/renderers/base.rb @@ -0,0 +1,11 @@ +module Reports + module Renderers + class Base + attr_reader :report_data + + def initialize(report_data) + @report_data = report_data + end + end + end +end diff --git a/engines/order_management/app/services/reports/report_data/base.rb b/engines/order_management/app/services/reports/report_data/base.rb new file mode 100644 index 0000000000..a7d0595078 --- /dev/null +++ b/engines/order_management/app/services/reports/report_data/base.rb @@ -0,0 +1,11 @@ +module Reports + module ReportData + class Base + def initialize(attributes = {}) + attributes.each do |key, value| + public_send("#{key}=", value) + end + end + end + end +end diff --git a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/authorizer.rb b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/authorizer.rb index 073c0282b5..8b091577dd 100644 --- a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/authorizer.rb +++ b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/authorizer.rb @@ -1,9 +1,7 @@ -require "open_food_network/reports/authorizer" - module OrderManagement module Reports module EnterpriseFeeSummary - class Authorizer < OpenFoodNetwork::Reports::Authorizer + class Authorizer < ::Reports::Authorizer @i18n_scope = "order_management.reports.enterprise_fee_summary" PARAMETER_NOT_ALLOWED_ERROR = I18n.t("parameter_not_allowed_error", scope: @i18n_scope) @@ -28,7 +26,7 @@ module OrderManagement end def require_ids_allowed(array, allowed_objects) - error_klass = OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError + error_klass = ::Reports::Authorizer::ParameterNotAllowedError error_message = PARAMETER_NOT_ALLOWED_ERROR ids_allowed = (array - allowed_objects.map(&:id).map(&:to_s)).blank? diff --git a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/parameters.rb b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/parameters.rb index 7545f636e9..2082d64c9e 100644 --- a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/parameters.rb +++ b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/parameters.rb @@ -1,9 +1,7 @@ -require "open_food_network/reports/parameters/base" - module OrderManagement module Reports module EnterpriseFeeSummary - class Parameters < OpenFoodNetwork::Reports::Parameters::Base + class Parameters < ::Reports::Parameters::Base @i18n_scope = "order_management.reports.enterprise_fee_summary" DATE_END_BEFORE_START_ERROR = I18n.t("date_end_before_start_error", scope: @i18n_scope) diff --git a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/permissions.rb b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/permissions.rb index 8dea4c7f6d..2077931627 100644 --- a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/permissions.rb +++ b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/permissions.rb @@ -1,9 +1,7 @@ -require "open_food_network/reports/permissions" - module OrderManagement module Reports module EnterpriseFeeSummary - class Permissions < OpenFoodNetwork::Reports::Permissions + class Permissions < ::Reports::Permissions def allowed_order_cycles @allowed_order_cycles ||= OrderCycle.accessible_by(user) end diff --git a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/renderers/csv_renderer.rb b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/renderers/csv_renderer.rb index 7479d940fd..32ab1188f5 100644 --- a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/renderers/csv_renderer.rb +++ b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/renderers/csv_renderer.rb @@ -1,10 +1,8 @@ -require "open_food_network/reports/renderers/base" - module OrderManagement module Reports module EnterpriseFeeSummary module Renderers - class CsvRenderer < OpenFoodNetwork::Reports::Renderers::Base + class CsvRenderer < ::Reports::Renderers::Base def render(context) context.send_data(generate, filename: filename) end diff --git a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/renderers/html_renderer.rb b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/renderers/html_renderer.rb index fd54febc2e..beace472ee 100644 --- a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/renderers/html_renderer.rb +++ b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/renderers/html_renderer.rb @@ -1,10 +1,8 @@ -require "open_food_network/reports/renderers/base" - module OrderManagement module Reports module EnterpriseFeeSummary module Renderers - class HtmlRenderer < OpenFoodNetwork::Reports::Renderers::Base + class HtmlRenderer < ::Reports::Renderers::Base def render(context) context.instance_variable_set :@renderer, self context.render(action: :create, renderer: self) diff --git a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/report_data/enterprise_fee_type_total.rb b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/report_data/enterprise_fee_type_total.rb index 9f1561824d..ca781af4e4 100644 --- a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/report_data/enterprise_fee_type_total.rb +++ b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/report_data/enterprise_fee_type_total.rb @@ -1,10 +1,8 @@ -require "open_food_network/reports/report_data/base" - module OrderManagement module Reports module EnterpriseFeeSummary module ReportData - class EnterpriseFeeTypeTotal < OpenFoodNetwork::Reports::ReportData::Base + class EnterpriseFeeTypeTotal < ::Reports::ReportData::Base attr_accessor :fee_type, :enterprise_name, :fee_name, :customer_name, :fee_placement, :fee_calculated_on_transfer_through_name, :tax_category_name, :total_amount diff --git a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/report_data/enterprise_fee_type_totals.rb b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/report_data/enterprise_fee_type_totals.rb index b88e4475e1..dcc54ccf29 100644 --- a/engines/order_management/lib/order_management/reports/enterprise_fee_summary/report_data/enterprise_fee_type_totals.rb +++ b/engines/order_management/lib/order_management/reports/enterprise_fee_summary/report_data/enterprise_fee_type_totals.rb @@ -1,10 +1,8 @@ -require "open_food_network/reports/report_data/base" - module OrderManagement module Reports module EnterpriseFeeSummary module ReportData - class EnterpriseFeeTypeTotals < OpenFoodNetwork::Reports::ReportData::Base + class EnterpriseFeeTypeTotals < ::Reports::ReportData::Base attr_accessor :list def initialize(*args) diff --git a/engines/order_management/spec/lib/order_management/reports/enterprise_fee_summary/authorizer_spec.rb b/engines/order_management/spec/lib/order_management/reports/enterprise_fee_summary/authorizer_spec.rb index 334a0b4726..e1b857868e 100644 --- a/engines/order_management/spec/lib/order_management/reports/enterprise_fee_summary/authorizer_spec.rb +++ b/engines/order_management/spec/lib/order_management/reports/enterprise_fee_summary/authorizer_spec.rb @@ -3,7 +3,6 @@ require "spec_helper" require "order_management/reports/enterprise_fee_summary/parameters" require "order_management/reports/enterprise_fee_summary/permissions" require "order_management/reports/enterprise_fee_summary/authorizer" -require "open_food_network/reports/authorizer" describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do let(:report_klass) { OrderManagement::Reports::EnterpriseFeeSummary } @@ -33,7 +32,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do it "raises ParameterNotAllowedError" do expect { authorizer.authorize! } - .to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError) + .to raise_error(Reports::Authorizer::ParameterNotAllowedError) end end end @@ -58,7 +57,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do it "raises ParameterNotAllowedError" do expect { authorizer.authorize! } - .to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError) + .to raise_error(Reports::Authorizer::ParameterNotAllowedError) end end end @@ -83,7 +82,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do it "raises ParameterNotAllowedError" do expect { authorizer.authorize! } - .to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError) + .to raise_error(Reports::Authorizer::ParameterNotAllowedError) end end end @@ -108,7 +107,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do it "raises ParameterNotAllowedError" do expect { authorizer.authorize! } - .to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError) + .to raise_error(Reports::Authorizer::ParameterNotAllowedError) end end end @@ -133,7 +132,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do it "raises ParameterNotAllowedError" do expect { authorizer.authorize! } - .to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError) + .to raise_error(Reports::Authorizer::ParameterNotAllowedError) end end end @@ -158,7 +157,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Authorizer do it "raises ParameterNotAllowedError" do expect { authorizer.authorize! } - .to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError) + .to raise_error(Reports::Authorizer::ParameterNotAllowedError) end end end diff --git a/engines/order_management/spec/lib/order_management/reports/enterprise_fee_summary/parameters_spec.rb b/engines/order_management/spec/lib/order_management/reports/enterprise_fee_summary/parameters_spec.rb index e27508159d..d490393f7b 100644 --- a/engines/order_management/spec/lib/order_management/reports/enterprise_fee_summary/parameters_spec.rb +++ b/engines/order_management/spec/lib/order_management/reports/enterprise_fee_summary/parameters_spec.rb @@ -77,7 +77,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummary::Parameters do it "raises error when the parameters are not allowed" do parameters = described_class.new(order_cycle_ids: [(order_cycle.id + 1).to_s]) - expect { parameters.authorize!(permissions) }.to raise_error(OpenFoodNetwork::Reports::Authorizer::ParameterNotAllowedError) + expect { parameters.authorize!(permissions) }.to raise_error(Reports::Authorizer::ParameterNotAllowedError) end end diff --git a/lib/open_food_network/reports.rb b/lib/open_food_network/reports.rb deleted file mode 100644 index 5e6886b178..0000000000 --- a/lib/open_food_network/reports.rb +++ /dev/null @@ -1,5 +0,0 @@ -module OpenFoodNetwork - module Reports - class UnsupportedReportFormatException < StandardError; end - end -end diff --git a/lib/open_food_network/reports/authorizer.rb b/lib/open_food_network/reports/authorizer.rb deleted file mode 100644 index c8c77c6512..0000000000 --- a/lib/open_food_network/reports/authorizer.rb +++ /dev/null @@ -1,14 +0,0 @@ -module OpenFoodNetwork - module Reports - class Authorizer - class ParameterNotAllowedError < StandardError; end - - attr_accessor :parameters, :permissions - - def initialize(parameters, permissions) - @parameters = parameters - @permissions = permissions - end - end - end -end diff --git a/lib/open_food_network/reports/parameters/base.rb b/lib/open_food_network/reports/parameters/base.rb deleted file mode 100644 index 9b97558ad3..0000000000 --- a/lib/open_food_network/reports/parameters/base.rb +++ /dev/null @@ -1,21 +0,0 @@ -module OpenFoodNetwork - module Reports - module Parameters - class Base - extend ActiveModel::Naming - extend ActiveModel::Translation - include ActiveModel::Validations - include ActiveModel::Validations::Callbacks - - def initialize(attributes = {}) - attributes.each do |key, value| - public_send("#{key}=", value) - end - end - - # The parameters are never persisted. - def to_key; end - end - end - end -end diff --git a/lib/open_food_network/reports/permissions.rb b/lib/open_food_network/reports/permissions.rb deleted file mode 100644 index 1e8a8e3978..0000000000 --- a/lib/open_food_network/reports/permissions.rb +++ /dev/null @@ -1,11 +0,0 @@ -module OpenFoodNetwork - module Reports - class Permissions - attr_accessor :user - - def initialize(user) - @user = user - end - end - end -end diff --git a/lib/open_food_network/reports/renderers/base.rb b/lib/open_food_network/reports/renderers/base.rb deleted file mode 100644 index 9720202bc7..0000000000 --- a/lib/open_food_network/reports/renderers/base.rb +++ /dev/null @@ -1,13 +0,0 @@ -module OpenFoodNetwork - module Reports - module Renderers - class Base - attr_reader :report_data - - def initialize(report_data) - @report_data = report_data - end - end - end - end -end diff --git a/lib/open_food_network/reports/report_data/base.rb b/lib/open_food_network/reports/report_data/base.rb deleted file mode 100644 index b29ced4684..0000000000 --- a/lib/open_food_network/reports/report_data/base.rb +++ /dev/null @@ -1,13 +0,0 @@ -module OpenFoodNetwork - module Reports - module ReportData - class Base - def initialize(attributes = {}) - attributes.each do |key, value| - public_send("#{key}=", value) - end - end - end - end - end -end