module Graphiti::Resource::Documentation

Public Instance Methods

attribute_description(attr_name) click to toggle source

@api private

# File lib/graphiti/resource/documentation.rb, line 26
def attribute_description(attr_name)
  desc = all_attributes[attr_name][:description]
  return desc if desc.present?

  resolve_i18n_field_description(attr_name, field_type: :attributes)
end
description() click to toggle source
# File lib/graphiti/resource/documentation.rb, line 11
def description
  return @description if @description.present?

  if defined?(::I18n)
    desc = ::I18n.t :description,
      scope: i18n_resource_scope,
      default: nil
    desc ||= ::I18n.t :description,
      scope: i18n_type_scope,
      default: nil
    desc
  end
end
description=(val) click to toggle source
# File lib/graphiti/resource/documentation.rb, line 7
def description=(val)
  @description = val
end
i18n_resource_scope() click to toggle source
# File lib/graphiti/resource/documentation.rb, line 57
def i18n_resource_scope
  [:graphiti, :resources, underscored_resource_name]
end
i18n_type_scope() click to toggle source
# File lib/graphiti/resource/documentation.rb, line 61
def i18n_type_scope
  [:graphiti, :types, type]
end
resolve_i18n_field_description(name, field_type:) click to toggle source

@api private

# File lib/graphiti/resource/documentation.rb, line 39
def resolve_i18n_field_description(name, field_type:)
  if defined?(::I18n)
    desc = ::I18n.t :description,
      scope: [*i18n_type_scope, field_type, name],
      default: nil
    desc ||= ::I18n.t :description,
      scope: [*i18n_resource_scope, field_type, name],
      default: nil
    desc
  end
end
sideload_description(sideload_name) click to toggle source

@api private

# File lib/graphiti/resource/documentation.rb, line 34
def sideload_description(sideload_name)
  sideloads[sideload_name].description
end
underscored_resource_name() click to toggle source
# File lib/graphiti/resource/documentation.rb, line 53
def underscored_resource_name
  name.gsub(/Resource$/, "").underscore
end