class EacRubyUtils::RequireSub
Attributes
file[R]
options[R]
Public Class Methods
new(file, options = {})
click to toggle source
# File lib/eac_ruby_utils/require_sub.rb, line 19 def initialize(file, options = {}) @file = file @options = self.class.lists.option.hash_keys_validate!(options) end
Public Instance Methods
apply()
click to toggle source
# File lib/eac_ruby_utils/require_sub.rb, line 24 def apply require_sub_files include_modules end
Private Instance Methods
active_support_require(path)
click to toggle source
# File lib/eac_ruby_utils/require_sub.rb, line 31 def active_support_require(path) return false unless options[OPTION_REQUIRE_DEPENDENCY] ::Kernel.require_dependency(path) true end
autoload_require(path)
click to toggle source
# File lib/eac_ruby_utils/require_sub.rb, line 38 def autoload_require(path) return false unless base? basename = ::File.basename(path, '.*') return false if basename.start_with?('_') base.autoload ::ActiveSupport::Inflector.camelize(basename), path true end
base()
click to toggle source
# File lib/eac_ruby_utils/require_sub.rb, line 59 def base options[OPTION_BASE] || raise('Option :base not setted') end
base?()
click to toggle source
# File lib/eac_ruby_utils/require_sub.rb, line 63 def base? options[OPTION_BASE] ? true : false end
include_modules()
click to toggle source
# File lib/eac_ruby_utils/require_sub.rb, line 48 def include_modules return unless options[OPTION_INCLUDE_MODULES] base.constants.each do |constant_name| constant = base.const_get(constant_name) next unless constant.is_a?(::Module) && !constant.is_a?(::Class) base.include(constant) end end
kernel_require(path)
click to toggle source
# File lib/eac_ruby_utils/require_sub.rb, line 67 def kernel_require(path) ::Kernel.require(path) end
require_sub_file(path)
click to toggle source
# File lib/eac_ruby_utils/require_sub.rb, line 77 def require_sub_file(path) active_support_require(path) || autoload_require(path) || kernel_require(path) end
require_sub_files()
click to toggle source
# File lib/eac_ruby_utils/require_sub.rb, line 71 def require_sub_files Dir["#{File.dirname(file)}/#{::File.basename(file, '.*')}/*.rb"].sort.each do |path| require_sub_file(path) end end