Module: GraphQLPreview::Extensions::EnabledPreviews

Defined in:
lib/graphql-preview/extensions/enabled_previews.rb

Instance Method Summary collapse

Instance Method Details

#enabled_previews(previews = nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/graphql-preview/extensions/enabled_previews.rb', line 4

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 < GraphQLPreview::SchemaModification
      raise ArgumentError, "Preview #{preview} must inherit from `GraphQLPreview::SchemaModification`"
    end
  end

  previews.each { |preview| preview.apply_to_schema(self) }

  @enabled_previews = previews
end

#enabled_previews=(previews) ⇒ Object



22
23
24
# File 'lib/graphql-preview/extensions/enabled_previews.rb', line 22

def enabled_previews=(previews)
  enabled_previews(previews)
end