Add bin and edit workflow
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s

This commit is contained in:
2026-09-16 13:11:16 -06:00
parent c8ac4fcae5
commit 4cee170d66
17576 changed files with 895740 additions and 2 deletions
@@ -0,0 +1,101 @@
# coding: utf-8
# typed: strict
# frozen_string_literal: true
module PDF
class Reader
# mixin for common methods in Page and FormXobjects
#
class Resources
def initialize(objects, resources)
@objects = objects
@resources = resources
end
# Returns a Hash of color spaces that are available to this page
#
# NOTE: this method de-serialise objects from the underlying PDF
# with no caching. You will want to cache the results instead
# of calling it over and over.
#
def color_spaces
@objects.deref_hash!(@resources[:ColorSpace]) || {}
end
# Returns a Hash of fonts that are available to this page
#
# NOTE: this method de-serialise objects from the underlying PDF
# with no caching. You will want to cache the results instead
# of calling it over and over.
#
def fonts
@objects.deref_hash!(@resources[:Font]) || {}
end
# Returns a Hash of external graphic states that are available to this
# page
#
# NOTE: this method de-serialise objects from the underlying PDF
# with no caching. You will want to cache the results instead
# of calling it over and over.
#
def graphic_states
@objects.deref_hash!(@resources[:ExtGState]) || {}
end
# Returns a Hash of patterns that are available to this page
#
# NOTE: this method de-serialise objects from the underlying PDF
# with no caching. You will want to cache the results instead
# of calling it over and over.
#
def patterns
@objects.deref_hash!(@resources[:Pattern]) || {}
end
# Returns an Array of procedure sets that are available to this page
#
# NOTE: this method de-serialise objects from the underlying PDF
# with no caching. You will want to cache the results instead
# of calling it over and over.
#
def procedure_sets
@objects.deref_array!(@resources[:ProcSet]) || []
end
# Returns a Hash of properties sets that are available to this page
#
# NOTE: this method de-serialise objects from the underlying PDF
# with no caching. You will want to cache the results instead
# of calling it over and over.
#
def properties
@objects.deref_hash!(@resources[:Properties]) || {}
end
# Returns a Hash of shadings that are available to this page
#
# NOTE: this method de-serialise objects from the underlying PDF
# with no caching. You will want to cache the results instead
# of calling it over and over.
#
def shadings
@objects.deref_hash!(@resources[:Shading]) || {}
end
# Returns a Hash of XObjects that are available to this page
#
# NOTE: this method de-serialise objects from the underlying PDF
# with no caching. You will want to cache the results instead
# of calling it over and over.
#
def xobjects
dict = @objects.deref_hash!(@resources[:XObject]) || {}
TypeCheck.cast_to_pdf_dict_with_stream_values!(dict)
end
end
end
end