Module: RailsDevelopmentBoost::DependenciesPatch::Util

Extended by:
Util
Included in:
Util
Defined in:
lib/rails_development_boost/dependencies_patch.rb

Constant Summary collapse

NOTHING =
''

Instance Method Summary collapse

Instance Method Details

#anonymous_const?(mod) ⇒ Boolean

Returns:

  • (Boolean)


84
85
86
# File 'lib/rails_development_boost/dependencies_patch.rb', line 84

def anonymous_const?(mod)
  anonymous_const_name?(mod._mod_name)
end

#anonymous_const_name?(const_name) ⇒ Boolean

Returns:

  • (Boolean)


88
89
90
# File 'lib/rails_development_boost/dependencies_patch.rb', line 88

def anonymous_const_name?(const_name)
  !const_name || const_name.empty?
end

#first_non_anonymous_superclass(klass) ⇒ Object



92
93
94
95
# File 'lib/rails_development_boost/dependencies_patch.rb', line 92

def first_non_anonymous_superclass(klass)
  while (klass = klass.superclass) && anonymous_const?(klass); end
  klass
end

#in_autoloaded_namespace?(const_name) ⇒ Boolean

careful, modifies passed in const_name!

Returns:

  • (Boolean)


98
99
100
101
102
103
# File 'lib/rails_development_boost/dependencies_patch.rb', line 98

def in_autoloaded_namespace?(const_name) # careful, modifies passed in const_name!
  begin
    return true if LoadedFile.loaded_constant?(const_name)
  end while const_name.sub!(/::[^:]+\Z/, NOTHING)
  false
end

#load_path_to_real_path(path) ⇒ Object



105
106
107
108
109
# File 'lib/rails_development_boost/dependencies_patch.rb', line 105

def load_path_to_real_path(path)
  expanded_path = File.expand_path(path)
  expanded_path << '.rb' unless path =~ /\.r(?:b|ake)\Z/
  expanded_path
end