Module: RailsloveSuspenders::Actions
- Included in:
- AppBuilder
- Defined in:
- lib/railslove-suspenders/actions.rb
Instance Method Summary collapse
- #action_mailer_host(rails_env, host) ⇒ Object
- #concat_file(source, destination) ⇒ Object
- #configure_environment(rails_env, config) ⇒ 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 |
# File 'lib/railslove-suspenders/actions.rb', line 17 def action_mailer_host(rails_env, host) host_config = "config.action_mailer.default_url_options = { host: '#{host}' }" configure_environment(rails_env, host_config) end |
#concat_file(source, destination) ⇒ Object
3 4 5 6 |
# File 'lib/railslove-suspenders/actions.rb', line 3 def concat_file(source, destination) contents = IO.read(find_in_source_paths(source)) append_file destination, contents end |
#configure_environment(rails_env, config) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/railslove-suspenders/actions.rb', line 22 def configure_environment(rails_env, config) inject_into_file( "config/environments/#{rails_env}.rb", "\n\n #{config}", before: "\nend" ) end |
#download_file(uri_string, destination) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/railslove-suspenders/actions.rb', line 30 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/railslove-suspenders/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 |