title: Heroku rejecting an app production.rb:94: syntax error, unexpected keyword_end, expecting end-of-input
body: <p>I'm trying to push my app to Heroku which it has mailing functionality but its rejecting it for a missing end which I don't see. Furthermore, the application is working fine in the local environment using gmail.</p>
  
  <h1>config/environment/production</h1>
  
  <pre><code>    ils.application.configure do
  
    config.cache_classes = true
    config.eager_load = true
    config.consider_all_requests_local       = false
    config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
    config.assets.js_compressor = :uglifier
    config.assets.compile = false
    config.assets.digest = true
    config.log_level = :debug
    config.i18n.fallbacks = true
    config.active_support.deprecation = :notify
    config.log_formatter = ::Logger::Formatter.new
    config.active_record.dump_schema_after_migration = false
  
    config.action_mailer.default_url_options = {  host: "https://personal-blog22.herokuapp.com " }
    config.action_mailer.delivery_method = :smtp
    config.action_controller.perform_caching = false
    config.action_mailer.smtp_settings = {
      address:               "smtp.gmail.com",
      port:                   587,
      domain:                "ruby.blog100.com",
      user_name:             "XXXXXXX@gmail.com",
      password:              "XXXXX",
      authentication:        :plain,
      enable_starttls_auto:  true
    }
  end
  </code></pre>
  
  <h1>config/environment/development</h1>
  
  <pre><code> For better error to work on Vagrant VM
  BetterErrors::Middleware.allow_ip! "0.0.0.0/0"
  
  Rails.application.configure do
  
    config.cache_classes = false
    config.eager_load = false
    config.consider_all_requests_local       = true
    config.action_controller.perform_caching = false
    config.action_mailer.raise_delivery_errors = true
    config.consider_all_requests_local = true
    config.active_support.deprecation = :log
    config.active_record.migration_error = :page_load
    config.assets.debug = true
    config.assets.digest = true
    config.assets.raise_runtime_errors = true
    config.action_mailer.default_url_options = { :host =&gt; 'localhost:3000' }
    config.action_mailer.perform_deliveries = true
    config.action_mailer.delivery_method = :smtp
    config.action_controller.perform_caching = false
    config.action_mailer.smtp_settings = {
      address:               "smtp.gmail.com",
      port:                   587,
      domain:                "ruby.blog100.com",
      user_name:             "XXXX@gmail.com",
      password:              "XXXXX",
      authentication:        :plain,
      enable_starttls_auto:  true
    }
  end
  </code></pre>
  
  <h1>config/application.rb</h1>
  
  <pre><code>    require File.expand_path('../boot', __FILE__)
  
  require 'rails/all'
  
  # Require the gems listed in Gemfile, including any gems
  # you've limited to :test, :development, or :production.
  Bundler.require(*Rails.groups)
  
  module PersonalBlog
    class Application &lt; Rails::Application
      # Settings in config/environments/* take precedence over those specified here.
      # Application configuration should go into files in config/initializers
      # -- all .rb files in that directory are automatically loaded.
  
      # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
      # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
      # config.time_zone = 'Central Time (US &amp; Canada)'
  
      # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
      # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
      # config.i18n.default_locale = :de
  
      # Do not swallow errors in after_commit/after_rollback callbacks.
      config.active_record.raise_in_transactional_callbacks = true
    end
  end
  </code></pre>