Sha256: 4308edcd73c23a61a2ececf725c0b30542e971f6aef22d48005ff57861b324e6

Contents?: true

Size: 765 Bytes

Versions: 5

Compression:

Stored size: 765 Bytes

Contents

module GraphQLPreview
  module Extensions
    module EnabledPreviews
      def enabled_previews(previews = nil)
        return @enabled_previews if previews.nil?

        unless previews.is_a?(Array)
          raise ArgumentError, "Expected `enabled_previews` to be an array, but it was `#{previews.class}`"
        end

        previews.each do |preview|
          unless preview.ancestors.any? { |ancestor| ancestor == GraphQLPreview::SchemaModification }
            raise ArgumentError, "One of your `enabled_previews` items does not descend from `GraphQLPreview::SchemaModification`"
          end
        end

        @enabled_previews = previews
      end

      def enabled_previews=(previews)
        enabled_previews(previews)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
graphql-preview-0.0.6 lib/graphql-preview/extensions/enabled_previews.rb
graphql-preview-0.0.5 lib/graphql-preview/extensions/enabled_previews.rb
graphql-preview-0.0.4 lib/graphql-preview/extensions/enabled_previews.rb
graphql-preview-0.0.3 lib/graphql-preview/extensions/enabled_previews.rb
graphql-preview-0.0.2 lib/graphql-preview/extensions/enabled_previews.rb