Module: Mongoid::DSL::CoreExt::Include

Defined in:
lib/mongoid-dsl/monkey.rb

Instance Method Summary collapse

Instance Method Details

#convert_model_nameObject Also known as: mongoise_name, mongoize_name, mongoid_name

convert mongoid name



555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
# File 'lib/mongoid-dsl/monkey.rb', line 555

def convert_model_name

  unless self.class <= ::Class || self.class <= ::String || self.class <= ::Symbol || self.class <= ::NilClass
    return super;# raise ArgumentError, "invalid input, must be Class or String: => #{self.class} (#{self})"
  end

  if self.class <= ::NilClass
    return nil
  end

  case true

    when self.class == ::Class
      return self.to_s.split('::').last.underscore

    when ![ ::Symbol, ::String].select{ |klass|self.class <= klass }.empty?

      Mongoid.models.each do |model_name|
        mongoid_model_name= model_name.mongoid_name
        if [mongoid_model_name,mongoid_model_name+'s'].any?{|mn| self.to_s == mn }
          return model_name.to_s.constantize
        end
      end

      return self.to_s.split('::').last.underscore

  end

  return nil
end