class GraphQL::PersistedQueries::HashGeneratorBuilder
Builds hash generator
Public Class Methods
new(generator)
click to toggle source
# File lib/graphql/persisted_queries/hash_generator_builder.rb, line 9 def initialize(generator) @generator = generator end
Public Instance Methods
build()
click to toggle source
# File lib/graphql/persisted_queries/hash_generator_builder.rb, line 13 def build if @generator.is_a?(Proc) build_from_proc else build_from_name end end
Private Instance Methods
build_from_name()
click to toggle source
# File lib/graphql/persisted_queries/hash_generator_builder.rb, line 31 def build_from_name upcased_name = @generator.to_s.upcase digest_class = Digest.const_get(upcased_name) proc { |value| digest_class.hexdigest(value) } rescue LoadError => e raise NameError, "digest class for :#{@generator} haven't been found", e.backtrace end
build_from_proc()
click to toggle source
# File lib/graphql/persisted_queries/hash_generator_builder.rb, line 23 def build_from_proc if @generator.arity != 1 raise ArgumentError, "proc passed to :hash_generator should have exactly one argument" end @generator end