class Mongoid::Orderable::Generators::Helpers

Public Instance Methods

generate() click to toggle source
# File lib/mongoid/orderable/generators/helpers.rb, line 7
    def generate
      self_class = klass

      klass.class_eval <<~KLASS, __FILE__, __LINE__ + 1
        def orderable_top(field = nil)
          field ||= default_orderable_field
          #{self_class}.orderable_configs[field][:base]
        end

        def orderable_field(field = nil)
          field ||= default_orderable_field
          #{self_class}.orderable_configs[field][:field]
        end

        def orderable_if(field)
          #{self_class}.orderable_configs[field][:if]
        end

        def orderable_unless(field)
          #{self_class}.orderable_configs[field][:unless]
        end
      KLASS

      generate_method(:orderable_inherited_class) do
        self_class.orderable_configs.any? {|_field, conf| conf[:inherited] } ? self_class : self.class
      end
    end