Module: Suma::ExpressSchema::Type
- Defined in:
- lib/suma/express_schema.rb
Constant Summary collapse
- RESOURCE =
:resource- MODULE_ARM =
:module_arm- MODULE_MIM =
:module_mim- BUSINESS_OBJECT_MODEL =
:business_object_model- CORE_MODEL =
:core_model- STANDALONE =
:standalone- ID_SUFFIXES =
{ "_arm" => :MODULE_ARM, "_mim" => :MODULE_MIM, "_bom" => :BUSINESS_OBJECT_MODEL, }.freeze
- PATH_SEGMENTS =
{ "/resources/" => :RESOURCE, "/modules/" => :MODULE_ARM, "/core_model/" => :CORE_MODEL, }.freeze
Class Method Summary collapse
Class Method Details
.classify(id:, path:) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/suma/express_schema.rb', line 29 def self.classify(id:, path:) name = id&.downcase || "" ID_SUFFIXES.each do |suffix, type| return const_get(type) if name.end_with?(suffix) end path_str = path.to_s PATH_SEGMENTS.each do |segment, type| return const_get(type) if path_str.include?(segment) end STANDALONE end |