Sha256: 8b8bf57424b4a69900818896dbcff919b35feb03a4479b879df73632058c58f5

Contents?: true

Size: 749 Bytes

Versions: 26

Compression:

Stored size: 749 Bytes

Contents

module App
  # -- app root ---------------------------------------------------------------
  
  module Root
    def self.find_starting_in(dir)
      if is_root?(dir)
        dir 
      elsif !dir.sub!(/\/[^\/]+$/, "")
        nil
      else
        find_starting_in(dir)
      end
    end

    def self.is_root?(dir)
      File.exists?("#{dir}/config.ru") || 
      File.exists?("#{dir}/Gemfile") ||
      File.exists?("#{dir}/Procfile")
    end
    
    def self.find
      find_starting_in(Dir.getwd) || raise("Could not find application root for #{dir}")
    end

    def root=(root)
      @root = root
    end

    def root
      @root ||= Root.find.tap { |root| App.logger.warn "Application root is #{root}" }
    end
  end

  extend Root
end

Version data entries

26 entries across 26 versions & 2 rubygems

Version Path
radiospieler-2014.11.28 lib/radiospieler/radiospieler/root.rb
radiospieler-2013.04.01 lib/radiospieler/radiospieler/root.rb
radiospieler-2012.09.13 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.12 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.11 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.10 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.8 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.7 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.6 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.5 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.4 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.3 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.2 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.1 lib/radiospieler/radiospieler/root.rb
radiospieler-0.3.0 lib/radiospieler/radiospieler/root.rb
radiospiel-app-0.2.10 lib/app/app/root.rb
radiospiel-app-0.2.9 lib/app/app/root.rb
radiospiel-app-0.2.7 lib/app/app/root.rb
radiospiel-app-0.2.6 lib/app/app/root.rb
radiospiel-app-0.2.5 lib/app/app/root.rb