Class: PuzzlyApiPlugin::ModuleView
- Inherits:
-
Renderable
- Object
- Hash
- JSONable
- Renderable
- PuzzlyApiPlugin::ModuleView
- Defined in:
- lib/puzzly_api_plugin/view/module.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(context, mod, apis, caches, queries, tables, consumesTopics, producesTopics) ⇒ ModuleView
constructor
A new instance of ModuleView.
Methods inherited from Renderable
#apis, #caches, #contexts, #modules, #path, #queries, #render, #schemas, #tables, #topics
Methods inherited from JSONable
Constructor Details
#initialize(context, mod, apis, caches, queries, tables, consumesTopics, producesTopics) ⇒ ModuleView
Returns a new instance of ModuleView.
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/puzzly_api_plugin/view/module.rb', line 34 def initialize(context, mod, apis, caches, queries, tables, consumesTopics, producesTopics) mod.copy_to_hash self self.delete MetadataFields::CONTEXT_ID self[MetadataFields::CONTEXT] = context self.apis apis self.caches caches self.queries queries self.tables tables self[MetadataFields::CONSUMES_TOPICS] = consumesTopics self[MetadataFields::PRODUCES_TOPICS] = producesTopics end |
Class Method Details
.create(mod) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/puzzly_api_plugin/view/module.rb', line 5 def self.create(mod) context = ContextsCollection.instance.get_by_id mod.context_id apis = ApisCollection.instance.get_by_module mod caches = CachesCollection.instance.get_by_module mod queries = QueriesCollection.instance.get_by_module mod tables = TablesCollection.instance.get_by_module mod consumesTopics = [] mod.consumesTopics.each do |topic_id| topic = TopicsCollection.instance.get_by_id topic_id consumesTopics.push topic.to_identity end producesTopics = [] mod.producesTopics.each do |topic_id| topic = TopicsCollection.instance.get_by_id topic_id producesTopics.push topic.to_identity end ModuleView.new(context.to_identity, mod, apis.map { |_id, api| api.to_identity }, caches.map { |_id, cache| cache.to_identity }, queries.map { |_id, query| query.to_identity }, tables.map { |_id, table| table.to_identity }, consumesTopics, producesTopics) end |