module Shiftable::Collection::ShiftCollectionModulizer
Creates anonymous Ruby Modules, containing dynamically built methods
Public Class Methods
to_mod(signature)
click to toggle source
# File lib/shiftable/collection.rb, line 69 def to_mod(signature) prefix = signature.method_prefix type = signature.type Module.new do define_method(:"#{prefix}shift_#{type}_column") do signature.send("shift_#{type}_column") end define_method(:"#{prefix}shift_#{type}") do |shift_to:, shift_from:, bang: false| signature.shift_data!(shift_to: shift_to, shift_from: shift_from, bang: bang) end end end
Private Instance Methods
to_mod(signature)
click to toggle source
# File lib/shiftable/collection.rb, line 69 def to_mod(signature) prefix = signature.method_prefix type = signature.type Module.new do define_method(:"#{prefix}shift_#{type}_column") do signature.send("shift_#{type}_column") end define_method(:"#{prefix}shift_#{type}") do |shift_to:, shift_from:, bang: false| signature.shift_data!(shift_to: shift_to, shift_from: shift_from, bang: bang) end end end