Class: PuzzlyApiPlugin::ContextView

Inherits:
Renderable show all
Defined in:
lib/puzzly_api_plugin/view/context.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Renderable

#apis, #caches, #contexts, #modules, #path, #queries, #render, #schemas, #tables, #topics

Methods inherited from JSONable

#copy_to_hash, #to_s

Constructor Details

#initialize(context, modules, schemas, apis, caches, queries, tables, topics) ⇒ ContextView

Returns a new instance of ContextView.



26
27
28
29
30
31
32
33
34
35
# File 'lib/puzzly_api_plugin/view/context.rb', line 26

def initialize(context, modules, schemas, apis, caches, queries, tables, topics)
  context.copy_to_hash self
  self.modules modules
  self.schemas schemas
  self.apis apis
  self.caches caches
  self.queries queries
  self.tables tables
  self.topics topics
end

Class Method Details

.create(context) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/puzzly_api_plugin/view/context.rb', line 5

def self.create(context)
  modules = ModulesCollection.instance.get_by_context context
  schemas = SchemasCollection.instance.get_by_context context

  apis = ApisCollection.instance.get_by_modules modules
  caches = CachesCollection.instance.get_by_modules modules
  queries = QueriesCollection.instance.get_by_modules modules
  tables = TablesCollection.instance.get_by_modules modules
  
  topics = TopicsCollection.instance.get_by_modules modules

  ContextView.new(context,
                  modules.map { |_id, mod| mod.to_identity },
                  schemas.map { |_id, schema| schema.to_identity },
                  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 },
                  topics.map { |topic| topic.to_identity })
end