Module: ORMSupport
Class Method Summary collapse
-
.default_key ⇒ Object
class level.
- .default_key=(x) ⇒ Object
Instance Method Summary collapse
-
#classify(type = :nitro) ⇒ Object
Like classname, but returns the actual class.
-
#classname(type = :nitro) ⇒ Object
(also: #calss_name)
Converts a table name into a class name.
-
#keyname(type = nil) ⇒ Object
(also: #key_name, #foreign_key)
This is good for generating database key/id field names from class names.
-
#tablename(type = :nitro) ⇒ Object
(also: #table_name, #tableize)
Converts a class-esque name into a table name.
Class Method Details
.default_key ⇒ Object
class level
52 53 54 |
# File 'lib/mega/orm_support.rb', line 52 def self.default_key @default_key ||= '_id' end |
.default_key=(x) ⇒ Object
56 57 58 |
# File 'lib/mega/orm_support.rb', line 56 def self.default_key=(x) @default_key = x.to_s end |
Instance Method Details
#classify(type = :nitro) ⇒ Object
Like classname, but returns the actual class.
95 96 97 |
# File 'lib/mega/orm_support.rb', line 95 def classify( type=:nitro ) classname( type ).to_const end |
#classname(type = :nitro) ⇒ Object Also known as: calss_name
Converts a table name into a class name.
81 82 83 84 85 86 87 88 89 90 |
# File 'lib/mega/orm_support.rb', line 81 def classname( type=:nitro ) case type when :rails, :ar, :activerecord self.to_s.singular.camelize when :nitro self.to_s.gsub(/_/, '::').camelize else self.to_s.gsub(/_/, '::').camelize end end |
#keyname(type = nil) ⇒ Object Also known as: key_name, foreign_key
This is good for generating database key/id field names from class names. In essense, it demodulizes, underscores and appends ‘id’.
102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/mega/orm_support.rb', line 102 def keyname( type=nil ) case type when :_id self.basename.underscore + "_id" when :id self.basename.underscore + "id" when :_key self.basename.underscore + "_key" when :key self.basename.underscore + "key" else self.basename.underscore + ORMSupport.default_key end end |
#tablename(type = :nitro) ⇒ Object Also known as: table_name, tableize
Converts a class-esque name into a table name.
66 67 68 69 70 71 72 73 74 75 |
# File 'lib/mega/orm_support.rb', line 66 def tablename( type=:nitro ) case type when :rails, :ar, :activerecord self.to_s.underscore.plural when :nitro self.to_s.gsub(/::/, '_').downcase else self.to_s.gsub(/::/, '_').downcase end end |