Module: Mechanic::Actions
- Included in:
- EngineBuilder
- Defined in:
- lib/mechanic/actions.rb
Instance Method Summary collapse
- #action_mailer_host(rails_env, host) ⇒ Object
- #concat_file(source, destination) ⇒ Object
- #download_file(uri_string, destination) ⇒ Object
- #replace_in_file(relative_path, find, replace) ⇒ Object
Instance Method Details
#action_mailer_host(rails_env, host) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/mechanic/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/mechanic/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/mechanic/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/mechanic/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 |