lib/graphql-preview.rb in graphql-preview-0.1.0 vs lib/graphql-preview.rb in graphql-preview-0.1.1
- old
+ new
@@ -12,14 +12,22 @@
unless context.key?(:schema_previews)
raise ArgumentError, "[GraphQLPreview] `:schema_previews` was not provided to the `context`"
end
- context[:schema_previews].include?(member.metadata[:preview_toggled_by].toggled_by)
+ schema_preview_environment = context[:schema_preview_environment] || SchemaModification::DEFAULT_ENVIRONMENT
+
+ toggled_by_preview = member.metadata[:preview_toggled_by][schema_preview_environment]
+
+ if toggled_by_preview
+ context[:schema_previews].include?(toggled_by_preview.toggled_by)
+ else
+ false
+ end
end
- def self.use(schema_def, enabled_previews: [])
+ def self.use(schema_def, enabled_previews: [], possible_environments: [SchemaModification::DEFAULT_ENVIRONMENT])
unless enabled_previews.is_a?(Array)
raise ArgumentError, "Expected `enabled_previews` to be an array, but it was `#{enabled_previews.class}`"
end
enabled_previews.each do |preview|
@@ -27,11 +35,11 @@
raise ArgumentError, "Preview #{preview} must inherit from `GraphQLPreview::SchemaModification`"
end
end
schema = schema_def.target
- schema_def.instrument(:field, Instrumenter.new(enabled_previews))
- enabled_previews.each { |preview| preview.apply_to_schema(schema) }
+ schema_def.instrument(:field, Instrumenter.new(enabled_previews, possible_environments))
+ enabled_previews.each { |preview| preview.apply_to_schema(schema, possible_environments) }
schema.metadata[:enabled_previews] = enabled_previews
end
end
module GraphQL