Sha256: e3a6b9aace907136deef39feeb16863203be08f92ef08e59b9de480085b0728f

Contents?: true

Size: 1.33 KB

Versions: 29

Compression:

Stored size: 1.33 KB

Contents

require 'rails/generators'

class ErrplaneGenerator < Rails::Generators::Base
  desc "Description:\n  This creates a Rails initializer for Errplane."

  begin
    puts "Contacting Errplane API"
    application_name = Rails.application.class.parent_name
    api_key = ARGV.last
    http = Net::HTTP.new("app.errplane.com", "80")
    url = "/api/v1/applications?api_key=#{api_key}&name=#{application_name}"
    response = http.post(url, nil)
    @application = JSON.parse(response.body)

    unless response.is_a?(Net::HTTPSuccess)
      raise "The Errplane API returned an error: #{response.inspect}"
    end
  rescue => e
    puts "We ran into a problem creating your application via the API!"
    puts "If this issue persists, contact us at support@errplane.com with the following details:"
    puts "#{e.class}: #{e.message}"
  end

  source_root File.expand_path('../templates', __FILE__)
  argument :api_key,
    :required => true,
    :type => :string,
    :description => "API key for your Errplane organization"
  argument :application_id,
    :required => false,
    :default => @application["key"],
    :type => :string,
    :description => "Identifier for this application (Leave blank and a new one will be generated for you)"

  def copy_initializer_file
    template "initializer.rb", "config/initializers/errplane.rb"
  end

  def install
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
errplane-0.6.0 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.30 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.29 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.28 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.27 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.26 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.25 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.24 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.23 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.22 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.21 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.20 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.19 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.18 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.17 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.15 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.14 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.13 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.12 lib/rails/generators/errplane/errplane_generator.rb
errplane-0.5.11 lib/rails/generators/errplane/errplane_generator.rb