class Addons::Generators::InstallGenerator

Public Class Methods

new(*args, &block) click to toggle source
Calls superclass method
# File lib/generators/addons/install_generator.rb, line 13
def initialize(*args, &block)
  super

  @ADDONS_API_ID = options[:apiid]
  @ADDONS_AUTH_TOKEN = options[:authtoken]

  puts "ADDONS_API_ID: #{@ADDONS_API_ID}"
  puts "ADDONS_AUTH_TOKEN: #{@ADDONS_AUTH_TOKEN}"
end

Public Instance Methods

add_application_yml_to_gitignore() click to toggle source
# File lib/generators/addons/install_generator.rb, line 29
def add_application_yml_to_gitignore
  # gitignore config/application.yml so we aren't storing sensitive info in .git
  # TODO: replace figaro with figaro-addons and application.yml with addons.yml
  gitignore = Rails.root.join('.gitignore')
  if File.readlines(gitignore).grep(/config\/application.yml/).size == 0
    File.open(gitignore, 'a') do |file|
      file.puts 'config/application.yml'
    end
  end
end
add_figaro_gem() click to toggle source
# File lib/generators/addons/install_generator.rb, line 40
def add_figaro_gem
  figaro = Rails.root.join('Gemfile')
  if File.readlines(figaro).grep(/gem 'figaro'/).size == 0
    File.open(figaro, 'a') do |file|
      file.puts ""
      file.puts "gem 'figaro', '~> 0.7.0' # Addons dependency"
    end
  end

  # bundle install
  result = `bundle install`
end
bootstrap_api_id_and_token() click to toggle source
# File lib/generators/addons/install_generator.rb, line 53
def bootstrap_api_id_and_token
  # write config/application.yml to load env vars on startup
  filename = Rails.root.join('config', 'application.yml')

  # NOTE: 'w' overwrites the previous file!
  File.open(filename, 'w') do |file|
    # add new vars to application.yml for the restart
    file.puts "ADDONS_API_ID: #{@ADDONS_API_ID}"
    file.puts "ADDONS_AUTH_TOKEN: #{@ADDONS_AUTH_TOKEN}"
  end

  puts "created application.yml"
end
create_initializer_file() click to toggle source
# File lib/generators/addons/install_generator.rb, line 25
def create_initializer_file
  create_file "config/initializers/addons.rb", "# Addons initializer content\nAddons::Config.init()"
end