Class: Lit::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/lit/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_lit_initializerObject



39
40
41
42
43
44
45
46
47
# File 'lib/generators/lit/install_generator.rb', line 39

def add_lit_initializer
  path = "#{::Rails.root}/config/initializers/lit.rb"
  if File.exist?(path)
    puts 'Skipping config/initializers/lit.rb creation, file already exists!'
  else
    puts 'Adding lit initializer (config/initializers/lit.rb)...'
    template 'initializer.rb', path
  end
end

#add_redis_dependencyObject



25
26
27
28
29
30
31
32
33
# File 'lib/generators/lit/install_generator.rb', line 25

def add_redis_dependency
  if @key_value_engine == 'redis'
    puts 'Adding redis dependency'
    gem 'redis'
    Bundler.with_clean_env do
      run 'bundle install'
    end
  end
end

#clear_cacheObject



56
57
58
# File 'lib/generators/lit/install_generator.rb', line 56

def clear_cache
  Lit.init.cache.reset
end

#generate_api_keyObject



35
36
37
# File 'lib/generators/lit/install_generator.rb', line 35

def generate_api_key
  @api_key = SecureRandom.base64 32
end

#mount_engineObject



60
61
62
63
# File 'lib/generators/lit/install_generator.rb', line 60

def mount_engine
  puts "Mounting Lit::Engine at \"/lit\" in config/routes.rb..."
  route "mount Lit::Engine => '/lit'"
end

#run_migrationsObject



49
50
51
52
53
54
# File 'lib/generators/lit/install_generator.rb', line 49

def run_migrations
  unless options['no-migrate']
    puts 'Running rake db:migrate'
    `rake db:migrate`
  end
end

#set_authentication_functionObject



13
14
15
16
17
# File 'lib/generators/lit/install_generator.rb', line 13

def set_authentication_function
  @authentication_function = options['authentication-function'].presence ||
        ask("What's the authentication function, ie. :authenticate_user! :").presence ||
        nil
end

#set_key_value_engineObject



19
20
21
22
23
# File 'lib/generators/lit/install_generator.rb', line 19

def set_key_value_engine
  @key_value_engine = options['key-value-engine'].presence ||
        ask("What's the key value engine? ([hash] OR redis):").presence ||
        :hash
end