Module: Tins::FromModule
Instance Method Summary collapse
Methods included from ParameterizedModule
Instance Method Details
#parameterize(opts = {}) ⇒ Object
526 527 528 529 530 531 532 533 534 535 536 537 538 |
# File 'lib/tins/dslkit.rb', line 526 def parameterize(opts = {}) modul = opts[:module] or raise ArgumentError, 'option :module is required' import_methods = Array(opts[:methods]) result = modul.dup remove_methods = modul.instance_methods.map(&:to_sym) - import_methods.map(&:to_sym) remove_methods.each do |m| begin result.__send__ :remove_method, m rescue NameError end end result end |