Sha256: b0540f3a24c06123239c2aa2964f6cf0c184929d2ddf5f575cb84c4aea208b95
Contents?: true
Size: 957 Bytes
Versions: 3
Compression:
Stored size: 957 Bytes
Contents
# frozen_string_literal: true module Mongoid module Orderable module Generators class Helpers < Base 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 end end end end
Version data entries
3 entries across 3 versions & 1 rubygems