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)


74
75
76
# File 'lib/rails_development_boost/dependencies_patch.rb', line 74

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

#anonymous_const_name?(const_name) ⇒ Boolean

Returns:

  • (Boolean)


78
79
80
# File 'lib/rails_development_boost/dependencies_patch.rb', line 78

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

#first_non_anonymous_superclass(klass) ⇒ Object



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

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)


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

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