Module: Laces::Actions

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

Instance Method Summary collapse

Instance Method Details

#action_mailer_host(rails_env, host) ⇒ Object



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

def action_mailer_host(rails_env, host)
  inject_into_file(
    "config/environments/#{rails_env}.rb",
    "\n\n  config.action_mailer.default_url_options = { :host => '#{host}' }",
    :before => "\nend"
  )
end

#concat_file(source, destination) ⇒ Object



3
4
5
6
# File 'lib/laces/actions.rb', line 3

def concat_file(source, destination)
  contents = IO.read(find_in_source_paths(source))
  append_file destination, contents
end

#download_file(uri_string, destination) ⇒ Object



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

def download_file uri_string, destination
  uri          = URI.parse uri_string
  http         = Net::HTTP.new uri.host, uri.port
  http.use_ssl = true if uri_string =~ /^https/
  request      = Net::HTTP::Get.new uri.path
  contents     = http.request(request).body
  path         = File.join destination_root, destination
  File.open(path, "w") { |file| file.write(contents) }
end

#replace_in_file(relative_path, find, replace) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/laces/actions.rb', line 8

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