Class: Workato::Connector::Sdk::WorkatoSchemas

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/workato/connector/sdk/workato_schemas.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.from_json(path = DEFAULT_SCHEMAS_PATH) ⇒ Object



13
14
15
# File 'lib/workato/connector/sdk/workato_schemas.rb', line 13

def from_json(path = DEFAULT_SCHEMAS_PATH)
  load_data(JSON.parse(File.read(path)))
end

Instance Method Details

#find(id) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/workato/connector/sdk/workato_schemas.rb', line 27

def find(id)
  unless @schemas_by_id
    raise 'Workato Schemas are not initialized. ' \
          'Init data by calling WorkatoSchemas.from_json or WorkatoSchemas.load_data'
  end

  @schemas_by_id.fetch(id.to_s)
end

#load_data(data) ⇒ Object



22
23
24
25
# File 'lib/workato/connector/sdk/workato_schemas.rb', line 22

def load_data(data)
  @schemas_by_id ||= {}.with_indifferent_access
  @schemas_by_id.merge!(data.stringify_keys)
end