diff --git a/Gemfile b/Gemfile index 2865321201..9182e03c27 100644 --- a/Gemfile +++ b/Gemfile @@ -10,6 +10,7 @@ gem 'i18n-js', '~> 3.1.0' # Patched version. See http://rubysec.com/advisories/CVE-2015-5312/. gem 'nokogiri', '>= 1.6.7.1' +gem "order_management", path: "./engines/order_management" gem 'web', path: './engines/web' gem 'pg' diff --git a/Gemfile.lock b/Gemfile.lock index be3639fd40..a69449b3b2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -133,6 +133,11 @@ GIT activemodel (>= 3.0) railties (>= 3.0) +PATH + remote: engines/order_management + specs: + order_management (0.0.1) + PATH remote: engines/web specs: @@ -826,6 +831,7 @@ DEPENDENCIES oauth2 (~> 1.4.1) ofn-qz! oj + order_management! paper_trail (~> 5.2.3) paperclip pg diff --git a/config/routes.rb b/config/routes.rb index 4804e4cae2..34d681fe11 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -118,8 +118,9 @@ Openfoodnetwork::Application.routes.draw do get 'sitemap.xml', to: 'sitemap#index', defaults: { format: 'xml' } - # Mount Web engine routes + # Mount engine routes mount Web::Engine, :at => '/' + mount OrderManagement::Engine, :at => '/' # Mount Spree's routes mount Spree::Core::Engine, :at => '/' diff --git a/engines/order_management/README.md b/engines/order_management/README.md new file mode 100644 index 0000000000..179330e20a --- /dev/null +++ b/engines/order_management/README.md @@ -0,0 +1,5 @@ +# Order Management + +This is the rails engine for the Order Management domain. + +See our wiki for [more info about domains and engines in OFN](https://github.com/openfoodfoundation/openfoodnetwork/wiki/Tech-Doc:-How-OFN-is-organized-in-Domains-using-Rails-Engines). diff --git a/engines/order_management/app/assets/javascripts/order_management/all.js b/engines/order_management/app/assets/javascripts/order_management/all.js new file mode 100644 index 0000000000..2c03f2d7ab --- /dev/null +++ b/engines/order_management/app/assets/javascripts/order_management/all.js @@ -0,0 +1 @@ +//= require_tree . diff --git a/engines/order_management/app/assets/javascripts/order_management/order_management.js b/engines/order_management/app/assets/javascripts/order_management/order_management.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/engines/order_management/app/assets/stylesheets/order_management/all.css.scss b/engines/order_management/app/assets/stylesheets/order_management/all.css.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/engines/order_management/app/controllers/order_management/application_controller.rb b/engines/order_management/app/controllers/order_management/application_controller.rb new file mode 100644 index 0000000000..ba61b2290b --- /dev/null +++ b/engines/order_management/app/controllers/order_management/application_controller.rb @@ -0,0 +1,5 @@ +module OrderManagement + class ApplicationController < ActionController::Base + protect_from_forgery with: :exception + end +end diff --git a/engines/order_management/config/routes.rb b/engines/order_management/config/routes.rb new file mode 100644 index 0000000000..d366f73ef2 --- /dev/null +++ b/engines/order_management/config/routes.rb @@ -0,0 +1,2 @@ +OrderManagement::Engine.routes.draw do +end diff --git a/engines/order_management/lib/order_management.rb b/engines/order_management/lib/order_management.rb new file mode 100644 index 0000000000..816ef31b89 --- /dev/null +++ b/engines/order_management/lib/order_management.rb @@ -0,0 +1,4 @@ +require "order_management/engine" + +module OrderManagement +end diff --git a/engines/order_management/lib/order_management/engine.rb b/engines/order_management/lib/order_management/engine.rb new file mode 100644 index 0000000000..a79bb4d0c7 --- /dev/null +++ b/engines/order_management/lib/order_management/engine.rb @@ -0,0 +1,5 @@ +module OrderManagement + class Engine < ::Rails::Engine + isolate_namespace OrderManagement + end +end diff --git a/engines/order_management/lib/order_management/version.rb b/engines/order_management/lib/order_management/version.rb new file mode 100644 index 0000000000..ccdf0928b4 --- /dev/null +++ b/engines/order_management/lib/order_management/version.rb @@ -0,0 +1,3 @@ +module OrderManagement + VERSION = "0.0.1".freeze +end diff --git a/engines/order_management/order_management.gemspec b/engines/order_management/order_management.gemspec new file mode 100644 index 0000000000..0ab11f2800 --- /dev/null +++ b/engines/order_management/order_management.gemspec @@ -0,0 +1,13 @@ +$LOAD_PATH.push File.expand_path('lib', __dir__) + +require "order_management/version" + +Gem::Specification.new do |s| + s.name = "order_management" + s.version = OrderManagement::VERSION + s.authors = ["developers@ofn"] + s.summary = "Order Management domain of the OFN solution." + + s.files = Dir["{app,config,db,lib}/**/*"] + ["LICENSE.txt", "Rakefile", "README.rdoc"] + s.test_files = Dir["spec/**/*"] +end diff --git a/engines/order_management/spec/spec_helper.rb b/engines/order_management/spec/spec_helper.rb new file mode 100644 index 0000000000..c4ab08aaf9 --- /dev/null +++ b/engines/order_management/spec/spec_helper.rb @@ -0,0 +1,9 @@ +ENV["RAILS_ENV"] = "test" + +require "../../spec/spec_helper" + +# Require factories in Spree and main application. +require 'spree/testing_support/factories' +require '../../spec/factories' + +Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }