AZ.
AZ.

Reputation: 7583

Why heroku detects my sinatra app as rails and fails?

# Gemfile:
source 'https://rubygems.org'
ruby '1.9.3'
gem 'sinatra'
gem 'figaro'
gem 'octokit'

# app.rb
require 'sinatra'
require 'json'
require 'cgi'
require 'octokit'
require 'figaro'

class Application < Sinatra::Base
  get '/' do
    'Hi'
  end
end

# config.ru
require './app'
$stdout.sync = true
run Application

When push:
-----> Ruby/Rails app detected

However, if I remove figaro gem and repush it works fine.

Upvotes: 4

Views: 127

Answers (1)

Martin
Martin

Reputation: 7723

You answered it yourself: figaro depend on Rails (see the gemspec: https://github.com/laserlemon/figaro/blob/master/figaro.gemspec). Heroku detect rails application by looking if their Gemfile.lock contains the Railties gem, which is a dependency of rails.

So: yourapp -> figaro -> rails -> railties.

Hence the identification of your gem as a Rails App. Why are you using Figaro if not to help configure a Rails application anyway?

Upvotes: 3

Related Questions