class R2OAS::Schema::V3::Store

Attributes

appended_components_request_body_name_list[RW]
appended_components_schema_name_list[RW]
components_request_body_name_list[RW]
components_schema_name_list[RW]
root_doc[RW]

Public Class Methods

create(type = :obj) click to toggle source
# File lib/r2-oas/schema/v3/object/store.rb, line 40
def create(type = :obj)
  instance(type)
end
new(type = :obj) click to toggle source
# File lib/r2-oas/schema/v3/object/store.rb, line 11
def initialize(type = :obj)
  @data = {}
  @data['type'] = type
  @data['data'] = {}
  @root_doc = {}
  @components_schema_name_list = []
  @appended_components_schema_name_list = []
  @components_request_body_name_list = []
  @appended_components_request_body_name_list = []
end

Private Class Methods

instance(type) click to toggle source
# File lib/r2-oas/schema/v3/object/store.rb, line 46
def instance(type)
  @instance ||= {}
  @instance[type] ||= new(type)
end

Public Instance Methods

add(obj_type, key, value) click to toggle source
# File lib/r2-oas/schema/v3/object/store.rb, line 22
def add(obj_type, key, value)
  @data['data'][obj_type] ||= {}
  # MEMO:
  # Do not save the same thing in store by using unique contents for schema name
  @data['data'][obj_type][key] ||= value
end
gets(obj_type) click to toggle source
# File lib/r2-oas/schema/v3/object/store.rb, line 29
def gets(obj_type)
  (@data['data'][obj_type] || {}).values.present? ? @data['data'][obj_type].values : []
end