Steps to include the engine in the app:
1. Add the gem to the gemfile :
gem 'fu', :github => 'quantiguous/fu'
2. Add the js in application.js
//= require fu/fu.js
3. Add the css in application.sass
*= require fu/fu.css
4. Add the engine route in the application
mount Fu::Engine, at: '/fu'
5. Add the following env's in the application
CONFIG_FILE_UPLOAD_PATH = "<value>"
CONFIG_SCP_IIB_FILE_MGR = "<value>"
CONFIG_URL_IIB_FILE_MGR = "<value>"
6. Generate the migrations for the module
bundle exec rails generate fu:migrations <module>
7. Generate the models for the module
bundle exec rails generate fu:models <module>
8. Generate the controllers for the module
bundle exec rails generate fu:controllers <module>
9. Generate the views for the module
bundle exec rails generate fu:views <module>
10. The following routes should be added in routes.rb
resources :<module>_incoming_records
get '<module>_incoming_records_file_summary' => '<module>_incoming_records#incoming_file_summary'
Example for a module:
The following models are in the engine: 1. sc_services - 'Contains entries for service modules' 2. incoming_file_types - 'file types for the service modules' 3. incoming_files - 'the uploaded files' 4. incoming_file_records - 'details for the records created after upload' 5. fm_audit_logs - 'the audit details for the job after upload' For each module, the following models are generated: Eg: if the module name is 'cl' 1. cl_incoming_records - contains the records created after the upload 2. cl_incoming_files - contains some details related to the module for the file the index page can be accessed as follows: fu/incoming_files?sc_service=CL where 'CL' is the code for the module in sc_services table
This project rocks and uses MIT-LICENSE.