waiting-for-dev / front_matter_parser

Ruby library to parse files or strings with a front matter. It has automatic syntax detection.
MIT License
105 stars 12 forks source link

Tried to load unspecified class: Time (Psych::DisallowedClass) #17

Closed palladius closed 8 hours ago

palladius commented 8 hours ago

I'm importing a front matter with time stuff. How do I set up psych to add further classes?

Code:

  parsed = FrontMatterParser::Parser.parse_file(file_name)

Error

/Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/class_loader.rb:99:in `find': Tried to load unspecified class: Time (Psych::DisallowedClass)
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/class_loader.rb:28:in `load'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/scalar_scanner.rb:116:in `parse_time'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/scalar_scanner.rb:59:in `tokenize'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:65:in `deserialize'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:130:in `visit_Psych_Nodes_Scalar'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/visitor.rb:30:in `visit'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/visitor.rb:6:in `accept'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:35:in `accept'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:347:in `block in revive_hash'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:345:in `each'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:345:in `each_slice'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:345:in `revive_hash'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:169:in `visit_Psych_Nodes_Mapping'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/visitor.rb:30:in `visit'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/visitor.rb:6:in `accept'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:35:in `accept'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:320:in `visit_Psych_Nodes_Document'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/visitor.rb:30:in `visit'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/visitor.rb:6:in `accept'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych/visitors/to_ruby.rb:35:in `accept'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/psych-5.1.2/lib/psych.rb:334:in `safe_load'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/front_matter_parser-1.0.1/lib/front_matter_parser/loader/yaml.rb:22:in `call'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/front_matter_parser-1.0.1/lib/front_matter_parser/parser.rb:67:in `call'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/front_matter_parser-1.0.1/lib/front_matter_parser/parser.rb:25:in `block in parse_file'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/front_matter_parser-1.0.1/lib/front_matter_parser/parser.rb:24:in `open'
        from /Users/ricc/.rbenv/versions/3.2.4/lib/ruby/gems/3.2.0/gems/front_matter_parser-1.0.1/lib/front_matter_parser/parser.rb:24:in `parse_file'
        from /Users/ricc/git/ricc.rocks/gemini/lib/gemini/translator.rb:38:in `alter_front_matter'
        from /Users/ricc/git/ricc.rocks/gemini/lib/gemini/translator.rb:49:in `translate_with_gemini'
        from /Users/ricc/git/ricc.rocks/gemini/lib/hugo/filesystem_iterator.rb:39:in `block (3 levels) in iterate_through'
        from /Users/ricc/git/ricc.rocks/gemini/lib/hugo/filesystem_iterator.rb:15:in `each'
        from /Users/ricc/git/ricc.rocks/gemini/lib/hugo/filesystem_iterator.rb:15:in `block (2 levels) in iterate_through'
        from /Users/ricc/git/ricc.rocks/gemini/lib/hugo/filesystem_iterator.rb:9:in `each'
        from /Users/ricc/git/ricc.rocks/gemini/lib/hugo/filesystem_iterator.rb:9:in `block in iterate_through'
        from /Users/ricc/git/ricc.rocks/gemini/lib/hugo/filesystem_iterator.rb:8:in `each'
        from /Users/ricc/git/ricc.rocks/gemini/lib/hugo/filesystem_iterator.rb:8:in `iterate_through'
        from bin/build-all.rb:29:in `<main>'
make: *** [force-rebuild] Error 1

original matter:

---
title: "♊ [Geminocks] Setting a ⬣ Cloud Build trigger with 🧹Pulumi in 🐍 Python"
date: 2022-09-22T21:17:43+01:00
draft: false
tags: [symlink, GCP, pulumi, CloudBuild, Medium]
# paperMod
canonicalURL: https://medium.com/google-cloud/setting-cloudbuild-with-pulumi-in-python-330e8b54b2cf
# ANANKE :)
featured_image: /images/gohugo-default-sample-hero-image.jpg
image: /images/mtg-clone.jpg
---

The Original article here:  https://medium.com/google-cloud/setting-cloudbuild-with-pulumi-in-python-330e8b54b2cf
palladius commented 8 hours ago

sorry found it:

loader = FrontMatterParser::Loader::Yaml.new(allowlist_classes: [Time])
parsed = FrontMatterParser::Parser.parse_file('example.md', loader: loader)
puts parsed['timestamp']