Class: Addons::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Addons::Generators::InstallGenerator
- Defined in:
- lib/generators/addons/install_generator.rb
Instance Method Summary collapse
- #add_application_yml_to_gitignore ⇒ Object
- #add_figaro_gem ⇒ Object
- #bootstrap_app_id_and_token ⇒ Object
- #create_initializer_file ⇒ Object
-
#initialize(*args, &block) ⇒ InstallGenerator
constructor
A new instance of InstallGenerator.
Constructor Details
#initialize(*args, &block) ⇒ InstallGenerator
Returns a new instance of InstallGenerator.
13 14 15 16 17 18 19 20 21 |
# File 'lib/generators/addons/install_generator.rb', line 13 def initialize(*args, &block) super @addons_app_id = [:appid] @addons_app_token = [:apptoken] puts "ADDONS_APP_ID: #{@addons_app_id}" puts "ADDONS_APP_TOKEN: #{@addons_app_token}" end |
Instance Method Details
#add_application_yml_to_gitignore ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# 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 ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# 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' # Addons dependency" end end # bundle install result = `bundle install` end |
#bootstrap_app_id_and_token ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/generators/addons/install_generator.rb', line 53 def bootstrap_app_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_APP_ID: #{@addons_app_id}" file.puts "ADDONS_APP_TOKEN: #{@addons_app_token}" end puts "created application.yml" end |
#create_initializer_file ⇒ Object
25 26 27 |
# 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 |