Class: RequireReloader::Helper
Instance Method Summary
collapse
#const_regexp, #constantize, #deconstantize, #demodulize, #safe_constantize
Instance Method Details
#camelcase(str) ⇒ Object
78
79
80
|
# File 'lib/require_reloader/helper.rb', line 78
def camelcase(str)
str.split("_").map{|token| token.capitalize }.join("")
end
|
#full_qualified_name(gem_name) ⇒ Object
73
74
75
76
|
# File 'lib/require_reloader/helper.rb', line 73
def full_qualified_name(gem_name)
return nil unless gem_name
gem_name.split("-").map{|token| camelcase(token)}.join("::")
end
|
#module_defined?(full_name) ⇒ Boolean
62
63
64
|
# File 'lib/require_reloader/helper.rb', line 62
def module_defined?(full_name)
!!safe_constantize(full_name)
end
|
#remove_gem_module_if_defined(gem_name) ⇒ Object
53
54
55
56
|
# File 'lib/require_reloader/helper.rb', line 53
def remove_gem_module_if_defined(gem_name)
mod_name = full_qualified_name(gem_name)
remove_module_if_defined(mod_name)
end
|
#remove_module(full_name) ⇒ Object
66
67
68
69
70
71
|
# File 'lib/require_reloader/helper.rb', line 66
def remove_module(full_name)
module_namespace = deconstantize(full_name)
module_name = demodulize(full_name)
parent_module = module_namespace == "" ? Object : constantize(module_namespace)
parent_module.send(:remove_const, module_name)
end
|
#remove_module_if_defined(mod_name) ⇒ Object
58
59
60
|
# File 'lib/require_reloader/helper.rb', line 58
def remove_module_if_defined(mod_name)
remove_module(mod_name) if module_defined?(mod_name)
end
|
#to_prepare(&block) ⇒ Object
82
83
84
85
86
87
88
|
# File 'lib/require_reloader/helper.rb', line 82
def to_prepare(&block)
if Rails::VERSION::MAJOR == 5
ActiveSupport::Reloader.to_prepare(&block)
else
ActionDispatch::Callbacks.to_prepare(&block)
end
end
|