Module: Onotole::Actions

Included in:
AppBuilder
Defined in:
lib/onotole/actions.rb

Instance Method Summary collapse

Instance Method Details

#action_mailer_host(rails_env, host) ⇒ Object



13
14
15
16
# File 'lib/onotole/actions.rb', line 13

def action_mailer_host(rails_env, host)
  config = "config.action_mailer.default_url_options = { host: #{host} }"
  configure_environment(rails_env, config)
end

#ask_stylish(str) ⇒ Object



34
35
36
# File 'lib/onotole/actions.rb', line 34

def ask_stylish(str)
  ask "#{BOLDGREEN}  #{str} #{COLOR_OFF}".rjust(10)
end

#configure_application_file(config) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/onotole/actions.rb', line 18

def configure_application_file(config)
  inject_into_file(
    'config/application.rb',
    "\n\n    #{config}",
    before: "\n  end"
  )
end

#configure_environment(rails_env, config) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/onotole/actions.rb', line 26

def configure_environment(rails_env, config)
  inject_into_file(
    "config/environments/#{rails_env}.rb",
    "\n\n  #{config}",
    before: "\nend"
  )
end

#replace_in_file(relative_path, find, replace, quiet_err = false) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/onotole/actions.rb', line 4

def replace_in_file(relative_path, find, replace, quiet_err = false)
  path = File.join(destination_root, relative_path)
  contents = IO.read(path)
  unless contents.gsub!(find, replace)
    raise "#{find.inspect} not found in #{relative_path}" if quiet_err == false
  end
  File.open(path, 'w') { |file| file.write(contents) }
end

#say_color(color, str) ⇒ Object



38
39
40
# File 'lib/onotole/actions.rb', line 38

def say_color(color, str)
  say "#{color}#{str}#{COLOR_OFF}".rjust(4)
end