class Swarker::Serializers::ServiceSerializer

Attributes

schema[R]
service[R]

Public Class Methods

new(service) click to toggle source
# File lib/swarker/serializers/service_serializer.rb, line 6
def initialize(service)
  @service = service
  @schema  = build_hash
end

Private Instance Methods

build_hash() click to toggle source
# File lib/swarker/serializers/service_serializer.rb, line 15
def build_hash
  service.schema.merge(nested_objects)
end
nested_objects() click to toggle source
# File lib/swarker/serializers/service_serializer.rb, line 19
def nested_objects
  {
    definitions: objects_hash(service.definitions),
    paths:       objects_hash(service.paths)
  }
end
objects_hash(objects) click to toggle source
# File lib/swarker/serializers/service_serializer.rb, line 26
def objects_hash(objects)
  objects.each_with_object({}) do |object, result|
    result[object.name] ||= HashWithIndifferentAccess.new
    result[object.name].merge!(object.schema)
  end
end
to_json() click to toggle source
# File lib/swarker/serializers/service_serializer.rb, line 33
def to_json
  schema.to_json
end