Sha256: e25ac59fa635adab328b20420f9dde29a49ccd2c217ea0565d45996a9e70749c

Contents?: true

Size: 1.48 KB

Versions: 6

Compression:

Stored size: 1.48 KB

Contents

# https://robots.thoughtbot.com/mygem-configure-block
module Graphiti
  class Configuration
    # @return [Boolean] Should we raise when the client requests a relationship not defined on the server?
    #   Defaults to true.
    attr_accessor :raise_on_missing_sideload
    # @return [Boolean] Concurrently fetch sideloads?
    #   Defaults to false OR if classes are cached (Rails-only)
    attr_accessor :concurrency

    attr_accessor :respond_to
    attr_accessor :context_for_endpoint
    attr_accessor :schema_path
    attr_accessor :links_on_demand
    attr_accessor :typecast_reads
    attr_accessor :debug
    attr_accessor :debug_models

    # Set defaults
    # @api private
    def initialize
      @raise_on_missing_sideload = true
      @concurrency = false
      @respond_to = [:json, :jsonapi, :xml]
      @links_on_demand = false
      @typecast_reads = true
      self.debug = ENV.fetch('GRAPHITI_DEBUG', true)
      self.debug_models = ENV.fetch('GRAPHITI_DEBUG_MODELS', false)

      if defined?(::Rails)
        @schema_path = "#{::Rails.root}/public/schema.json"
        self.debug = ::Rails.logger.level.zero?
        Graphiti.logger = ::Rails.logger
      end
    end

    def schema_path
      @schema_path ||= raise('No schema_path defined! Set Graphiti.config.schema_path to save your schema.')
    end

    def debug=(val)
      @debug = val
      Debugger.enabled = val
    end

    def debug_models=(val)
      @debug_models = val
      Debugger.debug_models = val
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
graphiti-1.0.beta.11 lib/graphiti/configuration.rb
graphiti-1.0.beta.10 lib/graphiti/configuration.rb
graphiti-1.0.beta.9 lib/graphiti/configuration.rb
graphiti-1.0.beta.8 lib/graphiti/configuration.rb
graphiti-1.0.beta.7 lib/graphiti/configuration.rb
graphiti-1.0.beta.6 lib/graphiti/configuration.rb