Sha256: b73e713b8a98f5367e5fac4e8b2f7eb3eb970856f8e3ee040cd502577677111d

Contents?: true

Size: 903 Bytes

Versions: 9

Compression:

Stored size: 903 Bytes

Contents

module Slining
  module Actions
    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

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

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

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

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
slining-1.7.0 lib/slining/actions.rb
slining-1.6.0 lib/slining/actions.rb
slining-1.5.0 lib/slining/actions.rb
slining-1.4.0 lib/slining/actions.rb
slining-1.3.0 lib/slining/actions.rb
slining-1.2.0 lib/slining/actions.rb
slining-1.1.0 lib/slining/actions.rb
slining-1.0.1 lib/slining/actions.rb
slining-1.0.0 lib/slining/actions.rb