Class: RailsAiBridge::Watcher::WatchDirectories

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_ai_bridge/watcher/watch_directories.rb

Overview

Resolves which configured relative paths exist under a Rails application root. Single responsibility: directory discovery for the file listener.

Constant Summary collapse

DEFAULT_PATTERNS =
%w[
  app/models
  app/controllers
  app/jobs
  app/mailers
  app/javascript/controllers
  config
  db
].freeze

Class Method Summary collapse

Class Method Details

.resolve(root, patterns: DEFAULT_PATTERNS) ⇒ Array<String>

Returns absolute paths that exist on disk.

Parameters:

  • root (String, Pathname)

    application root

  • patterns (Array<String>) (defaults to: DEFAULT_PATTERNS)

    path segments relative to +root+

Returns:

  • (Array<String>)

    absolute paths that exist on disk



21
22
23
24
# File 'lib/rails_ai_bridge/watcher/watch_directories.rb', line 21

def self.resolve(root, patterns: DEFAULT_PATTERNS)
  base = root.to_s
  patterns.map { |p| File.join(base, p) }.select { |d| Dir.exist?(d) }
end