module Sanity::Queryable::ClassMethods

Constants

DEFAULT_KLASS_QUERIES
QUERY_ENDPOINTS

See www.sanity.io/docs/http-query & www.sanity.io/docs/http-doc

Private Instance Methods

queryable(**options) click to toggle source

@private

# File lib/sanity/queryable.rb, line 40
def queryable(**options)
  options.fetch(:only, DEFAULT_KLASS_QUERIES).each do |query|
    define_singleton_method(query) do |**args|
      Module.const_get("Sanity::Http::#{query.to_s.classify}").call(**args.merge(resource_klass: self))
    end
    define_singleton_method("#{query}_api_endpoint") { QUERY_ENDPOINTS[query] }
  end
end