use std::path::Path;
pub(crate) const OMAKASE_DEFAULT_YAML: &str =
"inherit_gem:\n rubocop-rails-omakase:\n - rubocop.yml\n";
pub(crate) fn is_rails_app(dir: &Path) -> bool {
dir.join("config/application.rb").is_file() || dir.join("bin/rails").is_file()
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn detects_application_rb() {
let dir = tempfile::tempdir().unwrap();
assert!(!is_rails_app(dir.path()));
std::fs::create_dir_all(dir.path().join("config")).unwrap();
std::fs::write(dir.path().join("config/application.rb"), "").unwrap();
assert!(is_rails_app(dir.path()));
}
#[test]
fn detects_bin_rails() {
let dir = tempfile::tempdir().unwrap();
std::fs::create_dir_all(dir.path().join("bin")).unwrap();
std::fs::write(dir.path().join("bin/rails"), "").unwrap();
assert!(is_rails_app(dir.path()));
}
#[test]
fn plain_ruby_project_is_not_rails() {
let dir = tempfile::tempdir().unwrap();
std::fs::write(dir.path().join("Gemfile"), "gem \"rake\"\n").unwrap();
assert!(!is_rails_app(dir.path()));
}
}