class Mongoid::Orderable::Generators::Movable
Public Instance Methods
generate(field_name)
click to toggle source
# File lib/mongoid/orderable/generators/movable.rb, line 7 def generate(field_name) generate_move_to_helpers(field_name) generate_insert_at_helpers(field_name) generate_shorthand_helpers(field_name) end
Protected Instance Methods
generate_insert_at_helpers(field_name)
click to toggle source
# File lib/mongoid/orderable/generators/movable.rb, line 30 def generate_insert_at_helpers(field_name) klass.class_eval do alias_method "insert_#{field_name}_at!", "move_#{field_name}_to!" alias_method "insert_#{field_name}_at", "move_#{field_name}_to" alias_method "insert_#{field_name}_at=", "move_#{field_name}_to=" end end
generate_move_to_helpers(field_name)
click to toggle source
# File lib/mongoid/orderable/generators/movable.rb, line 15 def generate_move_to_helpers(field_name) generate_method("move_#{field_name}_to") do |target_position| move_field_to target_position, field: field_name end generate_method("move_#{field_name}_to!") do |target_position| move_field_to target_position, field: field_name save end generate_method("move_#{field_name}_to=") do |target_position| move_field_to target_position, field: field_name end end
generate_shorthand_helpers(field_name)
click to toggle source
# File lib/mongoid/orderable/generators/movable.rb, line 38 def generate_shorthand_helpers(field_name) %i[top bottom].each do |symbol| generate_method "move_#{field_name}_to_#{symbol}" do move_to symbol, field: field_name end generate_method "move_#{field_name}_to_#{symbol}!" do move_to! symbol, field: field_name end end %i[higher lower].each do |symbol| generate_method "move_#{field_name}_#{symbol}" do move_to symbol, field: field_name end generate_method "move_#{field_name}_#{symbol}!" do move_to! symbol, field: field_name end end end