express-cmd 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +16 -5
- data/lib/express_cmd/generator.rb +2 -0
- data/lib/express_cmd/version.rb +1 -1
- data/templates/config/mongo.js +58 -0
- data/templates/config/mongo.yml +23 -0
- data/templates/package.json.erb +2 -1
- data/templates/server.js +4 -0
- metadata +4 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 08bc2c1db119896d78c2afbad2ffa8f6b8c47071
         | 
| 4 | 
            +
              data.tar.gz: e663d753bd60f5950421b1d386febba7eb4e78d1
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 235db8b1e75cc2d5e2a46b13df3f6c4bfa849838449c21d19e36dbbc912fb3ed24d53d40fec82ddd822d5f82d26163562e260d8300b7bf92ed5e96014ed3bfad
         | 
| 7 | 
            +
              data.tar.gz: b512c1b15c55c6861ddbff2c44da4af8a9efff746188ae8d260225453436ebc0a0b742ab949535f1db61a7bbf63735b212399f242fc9c6cc16a23c51335378a3
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,9 +1,5 @@ | |
| 1 1 | 
             
            # ExpressCmd
         | 
| 2 2 |  | 
| 3 | 
            -
            Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/express/cmd`. To experiment with that code, run `bin/console` for an interactive prompt.
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            TODO: Delete this and the text above, and describe your gem
         | 
| 6 | 
            -
             | 
| 7 3 | 
             
            ## Installation
         | 
| 8 4 |  | 
| 9 5 | 
             
            Add this line to your application's Gemfile:
         | 
| @@ -22,7 +18,22 @@ Or install it yourself as: | |
| 22 18 |  | 
| 23 19 | 
             
            ## Usage
         | 
| 24 20 |  | 
| 25 | 
            -
             | 
| 21 | 
            +
            I choose `mongodb` as my datastore, and I perfer to use `mongoose`.
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            ```bash
         | 
| 24 | 
            +
            # make sure you have installed node-inspector (debug tool) and nodemon (node auto reload after saved).
         | 
| 25 | 
            +
            npm install -g node-inspector
         | 
| 26 | 
            +
            npm install -g nodemon
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            gem install express-cmd
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            express project-name
         | 
| 31 | 
            +
            ```
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            ## Test
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            I choose `mocha` and `chai`, and use `Makefile` to run test. Run `make jenkins` to generate test report.
         | 
| 36 | 
            +
             | 
| 26 37 |  | 
| 27 38 | 
             
            ## Development
         | 
| 28 39 |  | 
    
        data/lib/express_cmd/version.rb
    CHANGED
    
    
| @@ -0,0 +1,58 @@ | |
| 1 | 
            +
            var yaml = require('js-yaml');
         | 
| 2 | 
            +
            var ejs = require('ejs');
         | 
| 3 | 
            +
            var fs = require('fs');
         | 
| 4 | 
            +
            var path = require('path');
         | 
| 5 | 
            +
            var queryString = require('query-string');
         | 
| 6 | 
            +
            var mongoose = require('mongoose');
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            var logger = require('../lib/logger');
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            var dbURI = 'mongodb://';
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            // CONNECTION EVENTS
         | 
| 13 | 
            +
            // When successfully connected
         | 
| 14 | 
            +
            mongoose.connection.on('connected', function (aaa, bbb, ccc) {
         | 
| 15 | 
            +
              logger.info('Mongoose default connection open to ' + dbURI);
         | 
| 16 | 
            +
            });
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            // If the connection throws an error
         | 
| 19 | 
            +
            mongoose.connection.on('error',function (err) {
         | 
| 20 | 
            +
              logger.error('Mongoose default connection error: ' + err);
         | 
| 21 | 
            +
            });
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            // When the connection is disconnected
         | 
| 24 | 
            +
            mongoose.connection.on('disconnected', function () {
         | 
| 25 | 
            +
              logger.info('Mongoose default connection disconnected');
         | 
| 26 | 
            +
            });
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            // When the connection is open
         | 
| 29 | 
            +
            mongoose.connection.on('open', function () {
         | 
| 30 | 
            +
              logger.info('Mongoose default connection is open');
         | 
| 31 | 
            +
            });
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            // If the Node process ends, close the Mongoose connection
         | 
| 34 | 
            +
            process.on('SIGINT', function() {
         | 
| 35 | 
            +
              mongoose.connection.close(function () {
         | 
| 36 | 
            +
                logger.info('Mongoose default connection disconnected through app termination');
         | 
| 37 | 
            +
                process.exit(0);
         | 
| 38 | 
            +
              });
         | 
| 39 | 
            +
            });
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            module.exports.connect = function (env) {
         | 
| 42 | 
            +
              var dbFile = yaml.safeLoad(ejs.render(fs.readFileSync(path.resolve(__dirname, '../config/mongo.yml'), 'UTF-8')));
         | 
| 43 | 
            +
              var dbcf = dbFile[env];
         | 
| 44 | 
            +
             | 
| 45 | 
            +
              // Build the connection string
         | 
| 46 | 
            +
              if (dbcf.username && dbcf.password) {
         | 
| 47 | 
            +
                dbURI += encodeURIComponent(dbcf.username) + ':' + encodeURIComponent(dbcf.password) + '@';
         | 
| 48 | 
            +
              }
         | 
| 49 | 
            +
             | 
| 50 | 
            +
              dbURI += dbcf.host + ':' + dbcf.port + '/' + dbcf.database + '?v=1&';
         | 
| 51 | 
            +
             | 
| 52 | 
            +
              if (dbcf.options) {
         | 
| 53 | 
            +
                dbURI += queryString.stringify(dbcf.options);
         | 
| 54 | 
            +
              }
         | 
| 55 | 
            +
             | 
| 56 | 
            +
              // Create the database connection
         | 
| 57 | 
            +
              mongoose.connect(dbURI);
         | 
| 58 | 
            +
            }
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            development:
         | 
| 2 | 
            +
              host: localhost
         | 
| 3 | 
            +
              port: 27017
         | 
| 4 | 
            +
              database: demo-dev
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            test:
         | 
| 7 | 
            +
              host: localhost
         | 
| 8 | 
            +
              port: 27017
         | 
| 9 | 
            +
              database: demo-test
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            production:
         | 
| 12 | 
            +
              host: <%= process.env.MONGO_HOST %>
         | 
| 13 | 
            +
              port: <%= process.env.MONGO_PORT %>
         | 
| 14 | 
            +
              database: <%=process.env.MONGO_DBNAME %>
         | 
| 15 | 
            +
              username: <%= process.env.MONGO_USERNAME %>
         | 
| 16 | 
            +
              password: <%= process.env.MONGO_PASSWORD %>
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            staging:
         | 
| 19 | 
            +
              host: <%= process.env.MONGO_HOST %>
         | 
| 20 | 
            +
              port: <%= process.env.MONGO_PORT %>
         | 
| 21 | 
            +
              database: <%= process.env.MONGO_DBNAME %>
         | 
| 22 | 
            +
              username: <%= process.env.MONGO_USERNAME %>
         | 
| 23 | 
            +
              password: <%= process.env.MONGO_PASSWORD %>
         | 
    
        data/templates/package.json.erb
    CHANGED
    
    | @@ -10,7 +10,7 @@ | |
| 10 10 | 
             
              },
         | 
| 11 11 | 
             
              "keywords": [
         | 
| 12 12 | 
             
              ],
         | 
| 13 | 
            -
              "author": " | 
| 13 | 
            +
              "author": "",
         | 
| 14 14 | 
             
              "license": "ISC",
         | 
| 15 15 | 
             
              "dependencies": {
         | 
| 16 16 | 
             
                "async": "^1.2.1",
         | 
| @@ -24,6 +24,7 @@ | |
| 24 24 | 
             
                "mocha": "^2.2.5",
         | 
| 25 25 | 
             
                "mocha-jenkins-reporter": "^0.1.8",
         | 
| 26 26 | 
             
                "moment": "^2.10.3",
         | 
| 27 | 
            +
                "mongoose": "^4.0.8",
         | 
| 27 28 | 
             
                "morgan": "^1.5.2",
         | 
| 28 29 | 
             
                "multer": "^0.1.8",
         | 
| 29 30 | 
             
                "path": "^0.11.14",
         | 
    
        data/templates/server.js
    CHANGED
    
    | @@ -4,6 +4,8 @@ var bodyParser = require('body-parser'); | |
| 4 4 | 
             
            var multer = require('multer');
         | 
| 5 5 | 
             
            var cookieParser = require('cookie-parser');
         | 
| 6 6 |  | 
| 7 | 
            +
            // mongo connect
         | 
| 8 | 
            +
            var mongo = require('./config/mongo');
         | 
| 7 9 | 
             
            var logger = require('./lib/logger');
         | 
| 8 10 |  | 
| 9 11 | 
             
            // MiddleWare
         | 
| @@ -40,6 +42,8 @@ app.use('/api', apiRouter); | |
| 40 42 |  | 
| 41 43 | 
             
            app.listen(app.get('port'), function() {
         | 
| 42 44 | 
             
              logger.info('Server started, listened on ' + app.get('port') + '.');
         | 
| 45 | 
            +
              // connect with mongodb.
         | 
| 46 | 
            +
              mongo.connect(app.get('env'));
         | 
| 43 47 | 
             
            });
         | 
| 44 48 |  | 
| 45 49 | 
             
            module.exports = app;
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: express-cmd
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - wluo
         | 
| @@ -133,6 +133,8 @@ files: | |
| 133 133 | 
             
            - templates/.gitignore
         | 
| 134 134 | 
             
            - templates/Makefile
         | 
| 135 135 | 
             
            - templates/README.md.erb
         | 
| 136 | 
            +
            - templates/config/mongo.js
         | 
| 137 | 
            +
            - templates/config/mongo.yml
         | 
| 136 138 | 
             
            - templates/lib/errors.js
         | 
| 137 139 | 
             
            - templates/lib/logger.js
         | 
| 138 140 | 
             
            - templates/middlewares/before-filter.js
         | 
| @@ -165,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 165 167 | 
             
                  version: '0'
         | 
| 166 168 | 
             
            requirements: []
         | 
| 167 169 | 
             
            rubyforge_project: 
         | 
| 168 | 
            -
            rubygems_version: 2.4. | 
| 170 | 
            +
            rubygems_version: 2.4.6
         | 
| 169 171 | 
             
            signing_key: 
         | 
| 170 172 | 
             
            specification_version: 4
         | 
| 171 173 | 
             
            summary: Command for generating express project
         |