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