Sha256: e38e68c1b2986ab970a0f5dbcb60504e08682c2d833672f56c5f02dc4a8417eb

Contents?: true

Size: 739 Bytes

Versions: 5

Compression:

Stored size: 739 Bytes

Contents

module Sublayer
  module Components
    class ListOfObjects < OutputFunction
      def initialize(options)
        @name = options[:name]
        @description = options[:description]
        @structure = options[:structure]
      end

      def to_hash
        {
          name: @name,
          description: @description,
          parameters: {
            type: "object",
            properties: {
              @name.to_sym => {
                type: "array",
                items: {
                  type: "object",
                  properties: @structure.transform_values { |desc| { type: "string", description: desc.capitalize } }
                }
              }
            }
          }
        }
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
clag-0.0.5 vendor/gems/sublayer/lib/sublayer/components/output_function_formats/list_of_objects.rb
clag-0.0.4 vendor/gems/sublayer/lib/sublayer/components/output_function_formats/list_of_objects.rb
clag-0.0.3 vendor/gems/sublayer/lib/sublayer/components/output_function_formats/list_of_objects.rb
clag-0.0.2 vendor/gems/sublayer/lib/sublayer/components/output_function_formats/list_of_objects.rb
clag-0.0.1 vendor/gems/sublayer/lib/sublayer/components/output_function_formats/list_of_objects.rb