Class: SvelteOnRails::Lib::ToSvelteSchema

Inherits:
Object
  • Object
show all
Defined in:
lib/svelte_on_rails/lib/to_svelte_schema.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeToSvelteSchema

Returns a new instance of ToSvelteSchema.



12
13
14
15
16
# File 'lib/svelte_on_rails/lib/to_svelte_schema.rb', line 12

def initialize
  @config = SvelteOnRails::Configuration.instance
  @extract_schema = {}
  @models = []
end

Class Method Details

.instanceObject



5
6
7
8
9
10
11
# File 'lib/svelte_on_rails/lib/to_svelte_schema.rb', line 5

def self.instance
  @instance ||= new
  if SvelteOnRails::Configuration.instance.watch_changes?
    @extract_schema = {}
  end
  @instance
end

Instance Method Details

#extract_schema(model, attributes, associations, cache_key) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/svelte_on_rails/lib/to_svelte_schema.rb', line 18

def extract_schema(model, attributes, associations, cache_key)

  @extract_schema[cache_key] ||= begin
                                   @labels = {}
                                   extract_schema_recursive(model, attributes, associations)
                                 end

end