Sha256: 9c0011875cc805d29563a7f651fb2e588a930669089dea51aaba56e0043d1657
Contents?: true
Size: 787 Bytes
Versions: 14
Compression:
Stored size: 787 Bytes
Contents
module Chanko module UnitProxyProvider extend ActiveSupport::Concern included do extend UnitProxyProvider end # Define #unit method in this class when #unit is called in first time. # Change Config.proxy_method_name if you want to change this method name. def method_missing(method_name, *args, &block) if Array.wrap(Config.proxy_method_name).include?(method_name) UnitProxyProvider.class_eval do define_method(method_name) do |*_args| name = _args.first || Function.current_unit.try(:unit_name) if name && unit = Loader.load(name) UnitProxy.new(unit, self) end end end send(method_name, args.first) else super end end end end
Version data entries
14 entries across 14 versions & 1 rubygems