lotusrb 0.5.0 → 0.6.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/CHANGELOG.md +57 -14
- data/FEATURES.md +21 -0
- data/LICENSE.md +1 -1
- data/README.md +8 -7
- data/bin/lotus +1 -0
- data/lib/lotus.rb +6 -0
- data/lib/lotus/action/csrf_protection.rb +1 -1
- data/lib/lotus/application.rb +4 -4
- data/lib/lotus/application_name.rb +8 -6
- data/lib/lotus/cli.rb +75 -66
- data/lib/lotus/cli_sub_commands/assets.rb +29 -0
- data/lib/lotus/{commands → cli_sub_commands}/db.rb +24 -29
- data/lib/lotus/cli_sub_commands/destroy.rb +102 -0
- data/lib/lotus/cli_sub_commands/generate.rb +127 -0
- data/lib/lotus/commands/assets/precompile.rb +35 -0
- data/lib/lotus/commands/console.rb +28 -8
- data/lib/lotus/commands/db/abstract.rb +6 -2
- data/lib/lotus/commands/db/console.rb +5 -5
- data/lib/lotus/commands/generate/abstract.rb +63 -0
- data/lib/lotus/commands/generate/action.rb +262 -0
- data/lib/lotus/commands/generate/app.rb +116 -0
- data/lib/lotus/commands/generate/mailer.rb +118 -0
- data/lib/lotus/commands/generate/migration.rb +63 -0
- data/lib/lotus/commands/generate/model.rb +96 -0
- data/lib/lotus/commands/new/abstract.rb +128 -0
- data/lib/lotus/commands/new/app.rb +116 -0
- data/lib/lotus/commands/new/container.rb +102 -0
- data/lib/lotus/commands/routes.rb +19 -2
- data/lib/lotus/commands/server.rb +16 -2
- data/lib/lotus/config/framework_configuration.rb +13 -1
- data/lib/lotus/configuration.rb +24 -76
- data/lib/lotus/container.rb +15 -2
- data/lib/lotus/environment.rb +43 -4
- data/lib/lotus/frameworks.rb +1 -0
- data/lib/lotus/generators/action/action_spec.minitest.tt +1 -1
- data/lib/lotus/generators/action/action_spec.rspec.tt +1 -1
- data/lib/lotus/generators/action/view_spec.minitest.tt +1 -1
- data/lib/lotus/generators/action/view_spec.rspec.tt +1 -1
- data/lib/lotus/generators/{slice → app}/.gitkeep.tt +0 -0
- data/lib/lotus/generators/{slice → app}/application.rb.tt +61 -23
- data/lib/lotus/generators/app/config/initializers/.gitkeep +0 -0
- data/lib/lotus/generators/{slice → app}/config/routes.rb.tt +0 -0
- data/lib/lotus/generators/app/favicon.ico +0 -0
- data/lib/lotus/generators/{slice → app}/templates/application.html.erb.tt +2 -1
- data/lib/lotus/generators/app/views/application_layout.rb.tt +7 -0
- data/lib/lotus/generators/application/app/.env.development.tt +1 -0
- data/lib/lotus/generators/application/app/.env.test.tt +1 -0
- data/lib/lotus/generators/application/app/Gemfile.tt +1 -0
- data/lib/lotus/generators/application/app/Rakefile.minitest.tt +1 -0
- data/lib/lotus/generators/application/app/Rakefile.rspec.tt +1 -0
- data/lib/lotus/generators/application/app/config/application.rb.tt +56 -18
- data/lib/lotus/generators/application/app/config/initializers/.gitkeep +0 -0
- data/lib/lotus/generators/application/app/favicon.ico +0 -0
- data/lib/lotus/generators/application/app/gitignore.tt +2 -0
- data/lib/lotus/generators/application/app/lotusrc.tt +3 -3
- data/lib/lotus/generators/application/app/spec_helper.rb.rspec.tt +5 -1
- data/lib/lotus/generators/application/app/templates/application.html.erb.tt +1 -0
- data/lib/lotus/generators/application/container/.env.development.tt +1 -0
- data/lib/lotus/generators/application/container/.env.test.tt +1 -0
- data/lib/lotus/generators/application/container/Gemfile.tt +1 -1
- data/lib/lotus/generators/application/container/Rakefile.minitest.tt +1 -0
- data/lib/lotus/generators/application/container/Rakefile.rspec.tt +1 -0
- data/lib/lotus/generators/application/container/config/initializers/.gitkeep +0 -0
- data/lib/lotus/generators/application/container/gitignore.tt +2 -0
- data/lib/lotus/generators/application/container/lib/chirp/mailers/.gitkeep +0 -0
- data/lib/lotus/generators/application/container/lib/chirp/mailers/templates/.gitkeep +0 -0
- data/lib/lotus/generators/application/container/lotusrc.tt +3 -3
- data/lib/lotus/generators/application/container/spec_helper.rb.rspec.tt +5 -1
- data/lib/lotus/generators/database_config.rb +17 -4
- data/lib/lotus/generators/generatable.rb +51 -0
- data/lib/lotus/generators/generator.rb +35 -0
- data/lib/lotus/generators/test_framework.rb +42 -0
- data/lib/lotus/loader.rb +43 -0
- data/lib/lotus/lotusrc.rb +50 -49
- data/lib/lotus/middleware.rb +28 -10
- data/lib/lotus/rake_helper.rb +68 -0
- data/lib/lotus/rake_tasks.rb +2 -0
- data/lib/lotus/rendering_policy.rb +2 -2
- data/lib/lotus/repositories/car_repository.rb +3 -0
- data/lib/lotus/repositories/name_repository.rb +3 -0
- data/lib/lotus/setup.rb +1 -3
- data/lib/lotus/static.rb +77 -0
- data/lib/lotus/templates/welcome.html.erb +7 -4
- data/lib/lotus/version.rb +1 -1
- data/lib/lotus/views/default.rb +2 -1
- data/lib/lotus/views/default_template_finder.rb +4 -3
- data/lotusrb.gemspec +11 -9
- metadata +79 -60
- data/lib/lotus/commands/generate.rb +0 -97
- data/lib/lotus/commands/new.rb +0 -43
- data/lib/lotus/config/assets.rb +0 -81
- data/lib/lotus/generators/abstract.rb +0 -31
- data/lib/lotus/generators/action.rb +0 -235
- data/lib/lotus/generators/app.rb +0 -39
- data/lib/lotus/generators/app/.gitkeep +0 -1
- data/lib/lotus/generators/application/app.rb +0 -129
- data/lib/lotus/generators/application/container.rb +0 -111
- data/lib/lotus/generators/mailer.rb +0 -112
- data/lib/lotus/generators/migration.rb +0 -58
- data/lib/lotus/generators/model.rb +0 -90
- data/lib/lotus/generators/slice.rb +0 -94
- data/lib/lotus/generators/slice/views/application_layout.rb.tt +0 -7
    
        data/lib/lotus/middleware.rb
    CHANGED
    
    | @@ -52,7 +52,7 @@ module Lotus | |
| 52 52 | 
             
                  @builder.call(env)
         | 
| 53 53 | 
             
                end
         | 
| 54 54 |  | 
| 55 | 
            -
                #  | 
| 55 | 
            +
                # Append a middleware to the stack.
         | 
| 56 56 | 
             
                #
         | 
| 57 57 | 
             
                # @param middleware [Object] a Rack middleware
         | 
| 58 58 | 
             
                # @param args [Array] optional arguments to pass to the Rack middleware
         | 
| @@ -61,7 +61,24 @@ module Lotus | |
| 61 61 | 
             
                # @return [Array] the middleware that was added
         | 
| 62 62 | 
             
                #
         | 
| 63 63 | 
             
                # @since 0.2.0
         | 
| 64 | 
            +
                #
         | 
| 65 | 
            +
                # @see Lotus::Middleware#prepend
         | 
| 64 66 | 
             
                def use(middleware, *args, &blk)
         | 
| 67 | 
            +
                  @stack.push [middleware, args, blk]
         | 
| 68 | 
            +
                end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                # Prepend a middleware to the stack.
         | 
| 71 | 
            +
                #
         | 
| 72 | 
            +
                # @param middleware [Object] a Rack middleware
         | 
| 73 | 
            +
                # @param args [Array] optional arguments to pass to the Rack middleware
         | 
| 74 | 
            +
                # @param blk [Proc] an optional block to pass to the Rack middleware
         | 
| 75 | 
            +
                #
         | 
| 76 | 
            +
                # @return [Array] the middleware that was added
         | 
| 77 | 
            +
                #
         | 
| 78 | 
            +
                # @since 0.6.0
         | 
| 79 | 
            +
                #
         | 
| 80 | 
            +
                # @see Lotus::Middleware#use
         | 
| 81 | 
            +
                def prepend(middleware, *args, &blk)
         | 
| 65 82 | 
             
                  @stack.unshift [middleware, args, blk]
         | 
| 66 83 | 
             
                end
         | 
| 67 84 |  | 
| @@ -80,8 +97,8 @@ module Lotus | |
| 80 97 | 
             
                # @since 0.2.0
         | 
| 81 98 | 
             
                def load_default_stack(application)
         | 
| 82 99 | 
             
                  @default_stack_loaded ||= begin
         | 
| 100 | 
            +
                    _load_assets_middleware
         | 
| 83 101 | 
             
                    _load_session_middleware
         | 
| 84 | 
            -
                    _load_asset_middlewares
         | 
| 85 102 | 
             
                    _load_default_welcome_page_for(application)
         | 
| 86 103 | 
             
                    use Rack::MethodOverride
         | 
| 87 104 |  | 
| @@ -106,19 +123,20 @@ module Lotus | |
| 106 123 | 
             
                # @since 0.2.0
         | 
| 107 124 | 
             
                def _load_session_middleware
         | 
| 108 125 | 
             
                  if @configuration.sessions.enabled?
         | 
| 109 | 
            -
                     | 
| 126 | 
            +
                    prepend(*@configuration.sessions.middleware)
         | 
| 110 127 | 
             
                  end
         | 
| 111 128 | 
             
                end
         | 
| 112 129 |  | 
| 113 | 
            -
                #  | 
| 130 | 
            +
                # Use static assets middleware
         | 
| 114 131 | 
             
                #
         | 
| 115 132 | 
             
                # @api private
         | 
| 116 | 
            -
                #  | 
| 117 | 
            -
                def  | 
| 118 | 
            -
                   | 
| 119 | 
            -
             | 
| 120 | 
            -
             | 
| 121 | 
            -
                     | 
| 133 | 
            +
                # @since 0.6.0
         | 
| 134 | 
            +
                def _load_assets_middleware
         | 
| 135 | 
            +
                  env = Lotus.environment
         | 
| 136 | 
            +
             | 
| 137 | 
            +
                  if !env.container? && env.serve_static_assets?
         | 
| 138 | 
            +
                    require 'lotus/static'
         | 
| 139 | 
            +
                    use Lotus::Static
         | 
| 122 140 | 
             
                  end
         | 
| 123 141 | 
             
                end
         | 
| 124 142 | 
             
              end
         | 
| @@ -0,0 +1,68 @@ | |
| 1 | 
            +
            require 'rake'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Lotus
         | 
| 4 | 
            +
              # Install Rake tasks in projects
         | 
| 5 | 
            +
              #
         | 
| 6 | 
            +
              # @since 0.6.0
         | 
| 7 | 
            +
              # @api private
         | 
| 8 | 
            +
              class RakeHelper
         | 
| 9 | 
            +
                include Rake::DSL
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                # @since 0.6.0
         | 
| 12 | 
            +
                # @api private
         | 
| 13 | 
            +
                def self.install_tasks
         | 
| 14 | 
            +
                  new.install
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                # @since 0.6.0
         | 
| 18 | 
            +
                # @api private
         | 
| 19 | 
            +
                def install
         | 
| 20 | 
            +
                  desc "Preload project configuration"
         | 
| 21 | 
            +
                  task :preload do
         | 
| 22 | 
            +
                    require 'lotus/environment'
         | 
| 23 | 
            +
                    Lotus::Environment.new
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  desc "Load the full project"
         | 
| 27 | 
            +
                  task environment: :preload do
         | 
| 28 | 
            +
                    require Lotus::Environment.new.env_config
         | 
| 29 | 
            +
                    Lotus::Application.preload_applications!
         | 
| 30 | 
            +
                  end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                  # Ruby ecosystem compatibility
         | 
| 33 | 
            +
                  #
         | 
| 34 | 
            +
                  # Most of the SaaS automatic tasks are designed after Ruby on Rails.
         | 
| 35 | 
            +
                  # They expect the following Rake tasks to be present:
         | 
| 36 | 
            +
                  #
         | 
| 37 | 
            +
                  #   * db:migrate
         | 
| 38 | 
            +
                  #   * assets:precompile
         | 
| 39 | 
            +
                  #
         | 
| 40 | 
            +
                  # See https://github.com/heroku/heroku-buildpack-ruby/issues/442
         | 
| 41 | 
            +
                  #
         | 
| 42 | 
            +
                  # ===
         | 
| 43 | 
            +
                  #
         | 
| 44 | 
            +
                  # These Rake tasks aren't listed when someone runs `rake -T`, because we
         | 
| 45 | 
            +
                  # want to encourage developers to use `lotus` commands.
         | 
| 46 | 
            +
                  #
         | 
| 47 | 
            +
                  # In order to migrate the database or precompile assets a developer should
         | 
| 48 | 
            +
                  # use:
         | 
| 49 | 
            +
                  #
         | 
| 50 | 
            +
                  #   * lotus db migrate
         | 
| 51 | 
            +
                  #   * lotus assets precompile
         | 
| 52 | 
            +
                  #
         | 
| 53 | 
            +
                  # This is the preferred way to run Lotus command line tasks.
         | 
| 54 | 
            +
                  # Please use them when you're in control of your deployment environment.
         | 
| 55 | 
            +
                  namespace :db do
         | 
| 56 | 
            +
                    task :migrate do
         | 
| 57 | 
            +
                      system "bundle exec lotus db migrate"
         | 
| 58 | 
            +
                    end
         | 
| 59 | 
            +
                  end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                  namespace :assets do
         | 
| 62 | 
            +
                    task :precompile do
         | 
| 63 | 
            +
                      system "bundle exec lotus assets precompile"
         | 
| 64 | 
            +
                    end
         | 
| 65 | 
            +
                  end
         | 
| 66 | 
            +
                end
         | 
| 67 | 
            +
              end
         | 
| 68 | 
            +
            end
         | 
| @@ -27,7 +27,7 @@ module Lotus | |
| 27 27 | 
             
                def render(env, response)
         | 
| 28 28 | 
             
                  body = _render(env, response)
         | 
| 29 29 |  | 
| 30 | 
            -
                  response[BODY] = Array(body) unless body.nil?
         | 
| 30 | 
            +
                  response[BODY] = Array(body) unless body.nil? || body.respond_to?(:each)
         | 
| 31 31 | 
             
                  response
         | 
| 32 32 | 
             
                end
         | 
| 33 33 |  | 
| @@ -66,7 +66,7 @@ module Lotus | |
| 66 66 | 
             
                end
         | 
| 67 67 |  | 
| 68 68 | 
             
                def view_for(action, response)
         | 
| 69 | 
            -
                  if response[BODY].empty?
         | 
| 69 | 
            +
                  if response[BODY].respond_to?(:empty?) && response[BODY].empty?
         | 
| 70 70 | 
             
                    captures = @controller_pattern.match(action.class.name)
         | 
| 71 71 | 
             
                    Utils::Class.load!(@view_pattern % { controller: captures[:controller], action: captures[:action] }, @namespace)
         | 
| 72 72 | 
             
                  else
         | 
    
        data/lib/lotus/setup.rb
    CHANGED
    
    
    
        data/lib/lotus/static.rb
    ADDED
    
    | @@ -0,0 +1,77 @@ | |
| 1 | 
            +
            require 'rack/static'
         | 
| 2 | 
            +
            require 'lotus/assets/compiler'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module Lotus
         | 
| 5 | 
            +
              class Static < ::Rack::Static
         | 
| 6 | 
            +
                PATH_INFO        = 'PATH_INFO'.freeze
         | 
| 7 | 
            +
                PUBLIC_DIRECTORY = Lotus.public_directory.join('**', '*').to_s.freeze
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                def initialize(app)
         | 
| 10 | 
            +
                  super(app, root: Lotus.public_directory, header_rules: _header_rules)
         | 
| 11 | 
            +
                  @sources = _sources_from_applications
         | 
| 12 | 
            +
                end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                def call(env)
         | 
| 15 | 
            +
                  path           = env[PATH_INFO]
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                  prefix, config = @sources.find {|p, _| path.start_with?(p) }
         | 
| 18 | 
            +
                  original       = if prefix && config
         | 
| 19 | 
            +
                    config.sources.find(path.sub(prefix, ''))
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  if can_serve(path, original)
         | 
| 23 | 
            +
                    super
         | 
| 24 | 
            +
                  else
         | 
| 25 | 
            +
                    precompile(original, config) ?
         | 
| 26 | 
            +
                      call(env) :
         | 
| 27 | 
            +
                      @app.call(env)
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
                end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                private
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                def can_serve(path, original = nil)
         | 
| 34 | 
            +
                  destination = Dir[PUBLIC_DIRECTORY].find do |file|
         | 
| 35 | 
            +
                    file.index(path).to_i > 0
         | 
| 36 | 
            +
                  end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                  (super(path) || !!destination) && _fresh?(original, destination)
         | 
| 39 | 
            +
                end
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                def _fresh?(original, destination)
         | 
| 42 | 
            +
                  # At this point we're sure that destination exist.
         | 
| 43 | 
            +
                  #
         | 
| 44 | 
            +
                  # If original is missing, it could be a file that a developer manually
         | 
| 45 | 
            +
                  # created into public directory without having the corresponding original.
         | 
| 46 | 
            +
                  # In this case we return true, so the destination file can be served.
         | 
| 47 | 
            +
                  return true if original.nil? || !::File.exist?(original.to_s)
         | 
| 48 | 
            +
             | 
| 49 | 
            +
                  ::File.mtime(destination) >
         | 
| 50 | 
            +
                    ::File.mtime(original)
         | 
| 51 | 
            +
                end
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                def precompile(original, config)
         | 
| 54 | 
            +
                  return unless original && config
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  Lotus::Assets::Compiler.compile(config, original)
         | 
| 57 | 
            +
                  true
         | 
| 58 | 
            +
                end
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                def _sources_from_applications
         | 
| 61 | 
            +
                  Lotus::Application.applications.each_with_object({}) do |application, result|
         | 
| 62 | 
            +
                    config = _assets_configuration(application)
         | 
| 63 | 
            +
                    result["#{ config.prefix }/"] = config
         | 
| 64 | 
            +
                  end
         | 
| 65 | 
            +
                end
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                def _assets_configuration(application)
         | 
| 68 | 
            +
                  application.configuration.namespace::Assets.configuration
         | 
| 69 | 
            +
                end
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                def _header_rules
         | 
| 72 | 
            +
                  unless Lotus.env?(:development, :test)
         | 
| 73 | 
            +
                    [[:all, {'Cache-Control' => 'public, max-age=31536000'}]]
         | 
| 74 | 
            +
                  end
         | 
| 75 | 
            +
                end
         | 
| 76 | 
            +
              end
         | 
| 77 | 
            +
            end
         | 
| @@ -2,11 +2,12 @@ | |
| 2 2 | 
             
            <html>
         | 
| 3 3 | 
             
              <head>
         | 
| 4 4 | 
             
                <title>Lotus — A complete web framework for Ruby</title>
         | 
| 5 | 
            +
                <link rel="shortcut icon" type="image/x-icon" href="/assets/favicon.ico">
         | 
| 5 6 | 
             
                <style>
         | 
| 6 7 | 
             
                  * { margin: 0; padding: 0; }
         | 
| 7 8 | 
             
                  body { font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; color: #333; background-color: #ecf0f1; font-size: 16px; line-height: 24px; }
         | 
| 8 | 
            -
                   | 
| 9 | 
            -
                   | 
| 9 | 
            +
                  h2, h3 { margin: -20px; line-height: 100px; text-align: center; }
         | 
| 10 | 
            +
                  .logo { text-align: center; margin-top: 0.5em; }
         | 
| 10 11 | 
             
                  h2 { font-size: 30px; }
         | 
| 11 12 | 
             
                  h3 { font-size: 20px; line-height: 22px; color: #666; }
         | 
| 12 13 | 
             
                  hr { margin: 2em; color: #ecf0f1; }
         | 
| @@ -23,7 +24,9 @@ | |
| 23 24 | 
             
              </head>
         | 
| 24 25 | 
             
              <body>
         | 
| 25 26 | 
             
                <div id="container">
         | 
| 26 | 
            -
                  < | 
| 27 | 
            +
                  <div class="logo">
         | 
| 28 | 
            +
                    <img alt="Lotus Logo" src="data:image/png;base64,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"/>
         | 
| 29 | 
            +
                  </div>
         | 
| 27 30 | 
             
                  <hr />
         | 
| 28 31 | 
             
                  <h2>A complete web framework for Ruby</h2>
         | 
| 29 32 |  | 
| @@ -44,7 +47,7 @@ | |
| 44 47 | 
             
                  </div>
         | 
| 45 48 | 
             
                </div>
         | 
| 46 49 | 
             
                <div id="footer">
         | 
| 47 | 
            -
                  © 2014  | 
| 50 | 
            +
                  © 2014 ‐ <%= Time.now.year %> Luca Guidi — Lotus is released under the MIT License.
         | 
| 48 51 | 
             
                </div>
         | 
| 49 52 | 
             
              </body>
         | 
| 50 53 | 
             
            </html>
         | 
    
        data/lib/lotus/version.rb
    CHANGED
    
    
    
        data/lib/lotus/views/default.rb
    CHANGED
    
    | @@ -8,6 +8,7 @@ module Lotus | |
| 8 8 | 
             
                # @api private
         | 
| 9 9 | 
             
                class Default
         | 
| 10 10 | 
             
                  include Lotus::View
         | 
| 11 | 
            +
             | 
| 11 12 | 
             
                  configuration.reset!
         | 
| 12 13 |  | 
| 13 14 | 
             
                  layout nil
         | 
| @@ -20,7 +21,7 @@ module Lotus | |
| 20 21 |  | 
| 21 22 | 
             
                  def self.render(root, template_name, context)
         | 
| 22 23 | 
             
                    format   = context[:format]
         | 
| 23 | 
            -
                    template = DefaultTemplateFinder.new(root, template_name, format).find
         | 
| 24 | 
            +
                    template = DefaultTemplateFinder.new(self, root, template_name, format).find
         | 
| 24 25 |  | 
| 25 26 | 
             
                    if template
         | 
| 26 27 | 
             
                      new(template, context).render
         | 
| @@ -5,9 +5,10 @@ module Lotus | |
| 5 5 | 
             
                  #
         | 
| 6 6 | 
             
                  # @since 0.2.0
         | 
| 7 7 | 
             
                  # @api private
         | 
| 8 | 
            -
                  def initialize(root, template_name, format)
         | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 8 | 
            +
                  def initialize(view, root, template_name, format)
         | 
| 9 | 
            +
                    @view    = view
         | 
| 10 | 
            +
                    @root    = root
         | 
| 11 | 
            +
                    @options = { template: template_name, format: format }
         | 
| 11 12 | 
             
                  end
         | 
| 12 13 |  | 
| 13 14 | 
             
                  private
         | 
    
        data/lotusrb.gemspec
    CHANGED
    
    | @@ -19,18 +19,20 @@ Gem::Specification.new do |spec| | |
| 19 19 | 
             
              spec.require_paths = ['lib']
         | 
| 20 20 | 
             
              spec.required_ruby_version = '>= 2.0.0'
         | 
| 21 21 |  | 
| 22 | 
            -
              spec.add_dependency 'lotus-utils',      '~> 0. | 
| 23 | 
            -
              spec.add_dependency 'lotus-router',     '~> 0. | 
| 24 | 
            -
              spec.add_dependency 'lotus-controller', '~> 0. | 
| 25 | 
            -
              spec.add_dependency 'lotus-view',       '~> 0. | 
| 26 | 
            -
              spec.add_dependency 'lotus-helpers',    '~> 0.2', '>= 0.2. | 
| 22 | 
            +
              spec.add_dependency 'lotus-utils',      '~> 0.6'
         | 
| 23 | 
            +
              spec.add_dependency 'lotus-router',     '~> 0.5'
         | 
| 24 | 
            +
              spec.add_dependency 'lotus-controller', '~> 0.5'
         | 
| 25 | 
            +
              spec.add_dependency 'lotus-view',       '~> 0.5'
         | 
| 26 | 
            +
              spec.add_dependency 'lotus-helpers',    '~> 0.2', '>= 0.2.6'
         | 
| 27 27 | 
             
              spec.add_dependency 'lotus-mailer',     '~> 0.1'
         | 
| 28 | 
            +
              spec.add_dependency 'lotus-assets',     '~> 0.1'
         | 
| 28 29 | 
             
              spec.add_dependency 'shotgun',          '~> 0.9'
         | 
| 29 30 | 
             
              spec.add_dependency 'dotenv',           '~> 2.0'
         | 
| 30 31 | 
             
              spec.add_dependency 'thor',             '~> 0.19'
         | 
| 32 | 
            +
              spec.add_dependency 'bundler',          '~> 1.6'
         | 
| 31 33 |  | 
| 32 | 
            -
              spec.add_development_dependency ' | 
| 33 | 
            -
              spec.add_development_dependency ' | 
| 34 | 
            -
              spec.add_development_dependency ' | 
| 35 | 
            -
              spec.add_development_dependency ' | 
| 34 | 
            +
              spec.add_development_dependency 'minispec-metadata', '~> 3.2.1'
         | 
| 35 | 
            +
              spec.add_development_dependency 'minitest',          '~> 5'
         | 
| 36 | 
            +
              spec.add_development_dependency 'rack-test',         '~> 0.6'
         | 
| 37 | 
            +
              spec.add_development_dependency 'rake',              '~> 10'
         | 
| 36 38 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: lotusrb
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.6.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Luca Guidi
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire: 
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date:  | 
| 13 | 
            +
            date: 2016-01-12 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: lotus-utils
         | 
| @@ -18,80 +18,56 @@ dependencies: | |
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - "~>"
         | 
| 20 20 | 
             
                  - !ruby/object:Gem::Version
         | 
| 21 | 
            -
                    version: '0. | 
| 22 | 
            -
                - - ">="
         | 
| 23 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 24 | 
            -
                    version: 0.5.2
         | 
| 21 | 
            +
                    version: '0.6'
         | 
| 25 22 | 
             
              type: :runtime
         | 
| 26 23 | 
             
              prerelease: false
         | 
| 27 24 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 28 25 | 
             
                requirements:
         | 
| 29 26 | 
             
                - - "~>"
         | 
| 30 27 | 
             
                  - !ruby/object:Gem::Version
         | 
| 31 | 
            -
                    version: '0. | 
| 32 | 
            -
                - - ">="
         | 
| 33 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 34 | 
            -
                    version: 0.5.2
         | 
| 28 | 
            +
                    version: '0.6'
         | 
| 35 29 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 36 30 | 
             
              name: lotus-router
         | 
| 37 31 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 38 32 | 
             
                requirements:
         | 
| 39 33 | 
             
                - - "~>"
         | 
| 40 34 | 
             
                  - !ruby/object:Gem::Version
         | 
| 41 | 
            -
                    version: '0. | 
| 42 | 
            -
                - - ">="
         | 
| 43 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 44 | 
            -
                    version: 0.4.3
         | 
| 35 | 
            +
                    version: '0.5'
         | 
| 45 36 | 
             
              type: :runtime
         | 
| 46 37 | 
             
              prerelease: false
         | 
| 47 38 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 48 39 | 
             
                requirements:
         | 
| 49 40 | 
             
                - - "~>"
         | 
| 50 41 | 
             
                  - !ruby/object:Gem::Version
         | 
| 51 | 
            -
                    version: '0. | 
| 52 | 
            -
                - - ">="
         | 
| 53 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: 0.4.3
         | 
| 42 | 
            +
                    version: '0.5'
         | 
| 55 43 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 44 | 
             
              name: lotus-controller
         | 
| 57 45 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 46 | 
             
                requirements:
         | 
| 59 47 | 
             
                - - "~>"
         | 
| 60 48 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            -
                    version: '0. | 
| 62 | 
            -
                - - ">="
         | 
| 63 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 64 | 
            -
                    version: 0.4.5
         | 
| 49 | 
            +
                    version: '0.5'
         | 
| 65 50 | 
             
              type: :runtime
         | 
| 66 51 | 
             
              prerelease: false
         | 
| 67 52 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 68 53 | 
             
                requirements:
         | 
| 69 54 | 
             
                - - "~>"
         | 
| 70 55 | 
             
                  - !ruby/object:Gem::Version
         | 
| 71 | 
            -
                    version: '0. | 
| 72 | 
            -
                - - ">="
         | 
| 73 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 74 | 
            -
                    version: 0.4.5
         | 
| 56 | 
            +
                    version: '0.5'
         | 
| 75 57 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 76 58 | 
             
              name: lotus-view
         | 
| 77 59 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 78 60 | 
             
                requirements:
         | 
| 79 61 | 
             
                - - "~>"
         | 
| 80 62 | 
             
                  - !ruby/object:Gem::Version
         | 
| 81 | 
            -
                    version: '0. | 
| 82 | 
            -
                - - ">="
         | 
| 83 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 84 | 
            -
                    version: 0.4.4
         | 
| 63 | 
            +
                    version: '0.5'
         | 
| 85 64 | 
             
              type: :runtime
         | 
| 86 65 | 
             
              prerelease: false
         | 
| 87 66 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 88 67 | 
             
                requirements:
         | 
| 89 68 | 
             
                - - "~>"
         | 
| 90 69 | 
             
                  - !ruby/object:Gem::Version
         | 
| 91 | 
            -
                    version: '0. | 
| 92 | 
            -
                - - ">="
         | 
| 93 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 94 | 
            -
                    version: 0.4.4
         | 
| 70 | 
            +
                    version: '0.5'
         | 
| 95 71 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 96 72 | 
             
              name: lotus-helpers
         | 
| 97 73 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -101,7 +77,7 @@ dependencies: | |
| 101 77 | 
             
                    version: '0.2'
         | 
| 102 78 | 
             
                - - ">="
         | 
| 103 79 | 
             
                  - !ruby/object:Gem::Version
         | 
| 104 | 
            -
                    version: 0.2. | 
| 80 | 
            +
                    version: 0.2.6
         | 
| 105 81 | 
             
              type: :runtime
         | 
| 106 82 | 
             
              prerelease: false
         | 
| 107 83 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -111,7 +87,7 @@ dependencies: | |
| 111 87 | 
             
                    version: '0.2'
         | 
| 112 88 | 
             
                - - ">="
         | 
| 113 89 | 
             
                  - !ruby/object:Gem::Version
         | 
| 114 | 
            -
                    version: 0.2. | 
| 90 | 
            +
                    version: 0.2.6
         | 
| 115 91 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 116 92 | 
             
              name: lotus-mailer
         | 
| 117 93 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -126,6 +102,20 @@ dependencies: | |
| 126 102 | 
             
                - - "~>"
         | 
| 127 103 | 
             
                  - !ruby/object:Gem::Version
         | 
| 128 104 | 
             
                    version: '0.1'
         | 
| 105 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 106 | 
            +
              name: lotus-assets
         | 
| 107 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 108 | 
            +
                requirements:
         | 
| 109 | 
            +
                - - "~>"
         | 
| 110 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 111 | 
            +
                    version: '0.1'
         | 
| 112 | 
            +
              type: :runtime
         | 
| 113 | 
            +
              prerelease: false
         | 
| 114 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 115 | 
            +
                requirements:
         | 
| 116 | 
            +
                - - "~>"
         | 
| 117 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 118 | 
            +
                    version: '0.1'
         | 
| 129 119 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 130 120 | 
             
              name: shotgun
         | 
| 131 121 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -175,7 +165,7 @@ dependencies: | |
| 175 165 | 
             
                - - "~>"
         | 
| 176 166 | 
             
                  - !ruby/object:Gem::Version
         | 
| 177 167 | 
             
                    version: '1.6'
         | 
| 178 | 
            -
              type: : | 
| 168 | 
            +
              type: :runtime
         | 
| 179 169 | 
             
              prerelease: false
         | 
| 180 170 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 181 171 | 
             
                requirements:
         | 
| @@ -183,19 +173,19 @@ dependencies: | |
| 183 173 | 
             
                  - !ruby/object:Gem::Version
         | 
| 184 174 | 
             
                    version: '1.6'
         | 
| 185 175 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 186 | 
            -
              name:  | 
| 176 | 
            +
              name: minispec-metadata
         | 
| 187 177 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 188 178 | 
             
                requirements:
         | 
| 189 179 | 
             
                - - "~>"
         | 
| 190 180 | 
             
                  - !ruby/object:Gem::Version
         | 
| 191 | 
            -
                    version:  | 
| 181 | 
            +
                    version: 3.2.1
         | 
| 192 182 | 
             
              type: :development
         | 
| 193 183 | 
             
              prerelease: false
         | 
| 194 184 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 195 185 | 
             
                requirements:
         | 
| 196 186 | 
             
                - - "~>"
         | 
| 197 187 | 
             
                  - !ruby/object:Gem::Version
         | 
| 198 | 
            -
                    version:  | 
| 188 | 
            +
                    version: 3.2.1
         | 
| 199 189 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 200 190 | 
             
              name: minitest
         | 
| 201 191 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -224,6 +214,20 @@ dependencies: | |
| 224 214 | 
             
                - - "~>"
         | 
| 225 215 | 
             
                  - !ruby/object:Gem::Version
         | 
| 226 216 | 
             
                    version: '0.6'
         | 
| 217 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 218 | 
            +
              name: rake
         | 
| 219 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 220 | 
            +
                requirements:
         | 
| 221 | 
            +
                - - "~>"
         | 
| 222 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 223 | 
            +
                    version: '10'
         | 
| 224 | 
            +
              type: :development
         | 
| 225 | 
            +
              prerelease: false
         | 
| 226 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 227 | 
            +
                requirements:
         | 
| 228 | 
            +
                - - "~>"
         | 
| 229 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 230 | 
            +
                    version: '10'
         | 
| 227 231 | 
             
            description: A complete web framework for Ruby
         | 
| 228 232 | 
             
            email:
         | 
| 229 233 | 
             
            - me@lucaguidi.com
         | 
| @@ -245,8 +249,12 @@ files: | |
| 245 249 | 
             
            - lib/lotus/application.rb
         | 
| 246 250 | 
             
            - lib/lotus/application_name.rb
         | 
| 247 251 | 
             
            - lib/lotus/cli.rb
         | 
| 252 | 
            +
            - lib/lotus/cli_sub_commands/assets.rb
         | 
| 253 | 
            +
            - lib/lotus/cli_sub_commands/db.rb
         | 
| 254 | 
            +
            - lib/lotus/cli_sub_commands/destroy.rb
         | 
| 255 | 
            +
            - lib/lotus/cli_sub_commands/generate.rb
         | 
| 256 | 
            +
            - lib/lotus/commands/assets/precompile.rb
         | 
| 248 257 | 
             
            - lib/lotus/commands/console.rb
         | 
| 249 | 
            -
            - lib/lotus/commands/db.rb
         | 
| 250 258 | 
             
            - lib/lotus/commands/db/abstract.rb
         | 
| 251 259 | 
             
            - lib/lotus/commands/db/apply.rb
         | 
| 252 260 | 
             
            - lib/lotus/commands/db/console.rb
         | 
| @@ -255,11 +263,17 @@ files: | |
| 255 263 | 
             
            - lib/lotus/commands/db/migrate.rb
         | 
| 256 264 | 
             
            - lib/lotus/commands/db/prepare.rb
         | 
| 257 265 | 
             
            - lib/lotus/commands/db/version.rb
         | 
| 258 | 
            -
            - lib/lotus/commands/generate.rb
         | 
| 259 | 
            -
            - lib/lotus/commands/ | 
| 266 | 
            +
            - lib/lotus/commands/generate/abstract.rb
         | 
| 267 | 
            +
            - lib/lotus/commands/generate/action.rb
         | 
| 268 | 
            +
            - lib/lotus/commands/generate/app.rb
         | 
| 269 | 
            +
            - lib/lotus/commands/generate/mailer.rb
         | 
| 270 | 
            +
            - lib/lotus/commands/generate/migration.rb
         | 
| 271 | 
            +
            - lib/lotus/commands/generate/model.rb
         | 
| 272 | 
            +
            - lib/lotus/commands/new/abstract.rb
         | 
| 273 | 
            +
            - lib/lotus/commands/new/app.rb
         | 
| 274 | 
            +
            - lib/lotus/commands/new/container.rb
         | 
| 260 275 | 
             
            - lib/lotus/commands/routes.rb
         | 
| 261 276 | 
             
            - lib/lotus/commands/server.rb
         | 
| 262 | 
            -
            - lib/lotus/config/assets.rb
         | 
| 263 277 | 
             
            - lib/lotus/config/configure.rb
         | 
| 264 278 | 
             
            - lib/lotus/config/cookies.rb
         | 
| 265 279 | 
             
            - lib/lotus/config/framework_configuration.rb
         | 
| @@ -273,8 +287,6 @@ files: | |
| 273 287 | 
             
            - lib/lotus/container.rb
         | 
| 274 288 | 
             
            - lib/lotus/environment.rb
         | 
| 275 289 | 
             
            - lib/lotus/frameworks.rb
         | 
| 276 | 
            -
            - lib/lotus/generators/abstract.rb
         | 
| 277 | 
            -
            - lib/lotus/generators/action.rb
         | 
| 278 290 | 
             
            - lib/lotus/generators/action/action.rb.tt
         | 
| 279 291 | 
             
            - lib/lotus/generators/action/action_spec.minitest.tt
         | 
| 280 292 | 
             
            - lib/lotus/generators/action/action_spec.rspec.tt
         | 
| @@ -283,9 +295,13 @@ files: | |
| 283 295 | 
             
            - lib/lotus/generators/action/view.rb.tt
         | 
| 284 296 | 
             
            - lib/lotus/generators/action/view_spec.minitest.tt
         | 
| 285 297 | 
             
            - lib/lotus/generators/action/view_spec.rspec.tt
         | 
| 286 | 
            -
            - lib/lotus/generators/app. | 
| 287 | 
            -
            - lib/lotus/generators/app | 
| 288 | 
            -
            - lib/lotus/generators/ | 
| 298 | 
            +
            - lib/lotus/generators/app/.gitkeep.tt
         | 
| 299 | 
            +
            - lib/lotus/generators/app/application.rb.tt
         | 
| 300 | 
            +
            - lib/lotus/generators/app/config/initializers/.gitkeep
         | 
| 301 | 
            +
            - lib/lotus/generators/app/config/routes.rb.tt
         | 
| 302 | 
            +
            - lib/lotus/generators/app/favicon.ico
         | 
| 303 | 
            +
            - lib/lotus/generators/app/templates/application.html.erb.tt
         | 
| 304 | 
            +
            - lib/lotus/generators/app/views/application_layout.rb.tt
         | 
| 289 305 | 
             
            - lib/lotus/generators/application/app/.env.development.tt
         | 
| 290 306 | 
             
            - lib/lotus/generators/application/app/.env.test.tt
         | 
| 291 307 | 
             
            - lib/lotus/generators/application/app/.env.tt
         | 
| @@ -299,8 +315,10 @@ files: | |
| 299 315 | 
             
            - lib/lotus/generators/application/app/config.ru.tt
         | 
| 300 316 | 
             
            - lib/lotus/generators/application/app/config/application.rb.tt
         | 
| 301 317 | 
             
            - lib/lotus/generators/application/app/config/environment.rb.tt
         | 
| 318 | 
            +
            - lib/lotus/generators/application/app/config/initializers/.gitkeep
         | 
| 302 319 | 
             
            - lib/lotus/generators/application/app/config/routes.rb.tt
         | 
| 303 320 | 
             
            - lib/lotus/generators/application/app/db/.gitkeep
         | 
| 321 | 
            +
            - lib/lotus/generators/application/app/favicon.ico
         | 
| 304 322 | 
             
            - lib/lotus/generators/application/app/features_helper.rb.minitest.tt
         | 
| 305 323 | 
             
            - lib/lotus/generators/application/app/features_helper.rb.rspec.tt
         | 
| 306 324 | 
             
            - lib/lotus/generators/application/app/gitignore.tt
         | 
| @@ -315,7 +333,6 @@ files: | |
| 315 333 | 
             
            - lib/lotus/generators/application/app/spec_helper.rb.rspec.tt
         | 
| 316 334 | 
             
            - lib/lotus/generators/application/app/templates/application.html.erb.tt
         | 
| 317 335 | 
             
            - lib/lotus/generators/application/app/views/application_layout.rb.tt
         | 
| 318 | 
            -
            - lib/lotus/generators/application/container.rb
         | 
| 319 336 | 
             
            - lib/lotus/generators/application/container/.env.development.tt
         | 
| 320 337 | 
             
            - lib/lotus/generators/application/container/.env.test.tt
         | 
| 321 338 | 
             
            - lib/lotus/generators/application/container/.env.tt
         | 
| @@ -327,12 +344,15 @@ files: | |
| 327 344 | 
             
            - lib/lotus/generators/application/container/capybara.rb.rspec.tt
         | 
| 328 345 | 
             
            - lib/lotus/generators/application/container/config.ru.tt
         | 
| 329 346 | 
             
            - lib/lotus/generators/application/container/config/environment.rb.tt
         | 
| 347 | 
            +
            - lib/lotus/generators/application/container/config/initializers/.gitkeep
         | 
| 330 348 | 
             
            - lib/lotus/generators/application/container/db/.gitkeep
         | 
| 331 349 | 
             
            - lib/lotus/generators/application/container/features_helper.rb.minitest.tt
         | 
| 332 350 | 
             
            - lib/lotus/generators/application/container/features_helper.rb.rspec.tt
         | 
| 333 351 | 
             
            - lib/lotus/generators/application/container/gitignore.tt
         | 
| 334 352 | 
             
            - lib/lotus/generators/application/container/lib/app_name.rb.tt
         | 
| 335 353 | 
             
            - lib/lotus/generators/application/container/lib/chirp/entities/.gitkeep
         | 
| 354 | 
            +
            - lib/lotus/generators/application/container/lib/chirp/mailers/.gitkeep
         | 
| 355 | 
            +
            - lib/lotus/generators/application/container/lib/chirp/mailers/templates/.gitkeep
         | 
| 336 356 | 
             
            - lib/lotus/generators/application/container/lib/chirp/repositories/.gitkeep
         | 
| 337 357 | 
             
            - lib/lotus/generators/application/container/lib/config/mapping.rb.tt
         | 
| 338 358 | 
             
            - lib/lotus/generators/application/container/lotusrc.tt
         | 
| @@ -341,35 +361,34 @@ files: | |
| 341 361 | 
             
            - lib/lotus/generators/application/container/spec_helper.rb.minitest.tt
         | 
| 342 362 | 
             
            - lib/lotus/generators/application/container/spec_helper.rb.rspec.tt
         | 
| 343 363 | 
             
            - lib/lotus/generators/database_config.rb
         | 
| 344 | 
            -
            - lib/lotus/generators/ | 
| 364 | 
            +
            - lib/lotus/generators/generatable.rb
         | 
| 365 | 
            +
            - lib/lotus/generators/generator.rb
         | 
| 345 366 | 
             
            - lib/lotus/generators/mailer/mailer.rb.tt
         | 
| 346 367 | 
             
            - lib/lotus/generators/mailer/mailer_spec.rb.tt
         | 
| 347 368 | 
             
            - lib/lotus/generators/mailer/template.html.tt
         | 
| 348 369 | 
             
            - lib/lotus/generators/mailer/template.txt.tt
         | 
| 349 | 
            -
            - lib/lotus/generators/migration.rb
         | 
| 350 370 | 
             
            - lib/lotus/generators/migration/migration.rb.tt
         | 
| 351 | 
            -
            - lib/lotus/generators/model.rb
         | 
| 352 371 | 
             
            - lib/lotus/generators/model/entity.rb.tt
         | 
| 353 372 | 
             
            - lib/lotus/generators/model/entity_spec.minitest.tt
         | 
| 354 373 | 
             
            - lib/lotus/generators/model/entity_spec.rspec.tt
         | 
| 355 374 | 
             
            - lib/lotus/generators/model/repository.rb.tt
         | 
| 356 375 | 
             
            - lib/lotus/generators/model/repository_spec.minitest.tt
         | 
| 357 376 | 
             
            - lib/lotus/generators/model/repository_spec.rspec.tt
         | 
| 358 | 
            -
            - lib/lotus/generators/ | 
| 359 | 
            -
            - lib/lotus/generators/slice/.gitkeep.tt
         | 
| 360 | 
            -
            - lib/lotus/generators/slice/application.rb.tt
         | 
| 361 | 
            -
            - lib/lotus/generators/slice/config/routes.rb.tt
         | 
| 362 | 
            -
            - lib/lotus/generators/slice/templates/application.html.erb.tt
         | 
| 363 | 
            -
            - lib/lotus/generators/slice/views/application_layout.rb.tt
         | 
| 377 | 
            +
            - lib/lotus/generators/test_framework.rb
         | 
| 364 378 | 
             
            - lib/lotus/loader.rb
         | 
| 365 379 | 
             
            - lib/lotus/lotusrc.rb
         | 
| 366 380 | 
             
            - lib/lotus/mailer/glue.rb
         | 
| 367 381 | 
             
            - lib/lotus/middleware.rb
         | 
| 382 | 
            +
            - lib/lotus/rake_helper.rb
         | 
| 383 | 
            +
            - lib/lotus/rake_tasks.rb
         | 
| 368 384 | 
             
            - lib/lotus/rendering_policy.rb
         | 
| 385 | 
            +
            - lib/lotus/repositories/car_repository.rb
         | 
| 386 | 
            +
            - lib/lotus/repositories/name_repository.rb
         | 
| 369 387 | 
             
            - lib/lotus/root.rb
         | 
| 370 388 | 
             
            - lib/lotus/routes.rb
         | 
| 371 389 | 
             
            - lib/lotus/routing/default.rb
         | 
| 372 390 | 
             
            - lib/lotus/setup.rb
         | 
| 391 | 
            +
            - lib/lotus/static.rb
         | 
| 373 392 | 
             
            - lib/lotus/templates/default.html.erb
         | 
| 374 393 | 
             
            - lib/lotus/templates/welcome.html.erb
         | 
| 375 394 | 
             
            - lib/lotus/version.rb
         | 
| @@ -399,7 +418,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 399 418 | 
             
                  version: '0'
         | 
| 400 419 | 
             
            requirements: []
         | 
| 401 420 | 
             
            rubyforge_project: 
         | 
| 402 | 
            -
            rubygems_version: 2. | 
| 421 | 
            +
            rubygems_version: 2.5.1
         | 
| 403 422 | 
             
            signing_key: 
         | 
| 404 423 | 
             
            specification_version: 4
         | 
| 405 424 | 
             
            summary: A complete web framework for Ruby
         |