typelizer 0.5.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -1
- data/lib/typelizer/generator.rb +7 -1
- data/lib/typelizer/version.rb +1 -1
- metadata +15 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: d3deaa0f184a8406a1bcca5994b75565a861c32e4afd2af6e7c48643422127f6
         | 
| 4 | 
            +
              data.tar.gz: d270f2596b33c68d7cd426866618d573c9798648376e66b8e1e0bf76d3967c28
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 67fcb4958821e25180c5a8493ca1d16b2e9f590959d2ef97f347018e692b3d94b9f084222355db547b1de27b0a9758049e3da391c640553a81aa33a4ab821bda
         | 
| 7 | 
            +
              data.tar.gz: e1fba11ea9af7e654da8dde504582748a2d1046d15cb52a343895c9453d5e779215bc15f9827fa8604a822b04e2e2acef72f7176f77bd52783df2094e8b68d37
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -7,8 +7,16 @@ and this project adheres to [Semantic Versioning]. | |
| 7 7 |  | 
| 8 8 | 
             
            ## [Unreleased]
         | 
| 9 9 |  | 
| 10 | 
            +
            ## [0.5.2] - 2025-11-25
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            ## Fixed
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            - Ignore trace points if they return errors on class checks to fix Rails 8.1 compatibility. ([@skryukov])
         | 
| 15 | 
            +
             | 
| 10 16 | 
             
            ## [0.5.2] - 2025-10-06
         | 
| 11 17 |  | 
| 18 | 
            +
            ## Added
         | 
| 19 | 
            +
             | 
| 12 20 | 
             
            - Infer type for `<relation>_ids`. ([@skryukov])
         | 
| 13 21 |  | 
| 14 22 | 
             
            ## [0.5.1] - 2025-09-11
         | 
| @@ -199,7 +207,8 @@ and this project adheres to [Semantic Versioning]. | |
| 199 207 | 
             
            [@prog-supdex]: https://github.com/prog-supdex
         | 
| 200 208 | 
             
            [@ventsislaf]: https://github.com/ventsislaf
         | 
| 201 209 |  | 
| 202 | 
            -
            [Unreleased]: https://github.com/skryukov/typelizer/compare/v0.5. | 
| 210 | 
            +
            [Unreleased]: https://github.com/skryukov/typelizer/compare/v0.5.3...HEAD
         | 
| 211 | 
            +
            [0.5.3]: https://github.com/skryukov/typelizer/compare/v0.5.2...v0.5.3
         | 
| 203 212 | 
             
            [0.5.2]: https://github.com/skryukov/typelizer/compare/v0.5.1...v0.5.2
         | 
| 204 213 | 
             
            [0.5.1]: https://github.com/skryukov/typelizer/compare/v0.5.0...v0.5.1
         | 
| 205 214 | 
             
            [0.5.0]: https://github.com/skryukov/typelizer/compare/v0.4.2...v0.5.0
         | 
    
        data/lib/typelizer/generator.rb
    CHANGED
    
    | @@ -46,7 +46,7 @@ module Typelizer | |
| 46 46 | 
             
                  files ||= Typelizer.dirs.flat_map { |dir| Dir["#{dir}/**/*.rb"] }
         | 
| 47 47 | 
             
                  files.each do |file|
         | 
| 48 48 | 
             
                    trace = TracePoint.new(:call) do |tp|
         | 
| 49 | 
            -
                      next unless  | 
| 49 | 
            +
                      next unless typelized_class?(tp.self)
         | 
| 50 50 |  | 
| 51 51 | 
             
                      serializer_plugin = build_scan_plugin_for(tp.self)
         | 
| 52 52 | 
             
                      next unless serializer_plugin
         | 
| @@ -65,6 +65,12 @@ module Typelizer | |
| 65 65 | 
             
                  end
         | 
| 66 66 | 
             
                end
         | 
| 67 67 |  | 
| 68 | 
            +
                def typelized_class?(klass)
         | 
| 69 | 
            +
                  klass.is_a?(Class) && klass.respond_to?(:typelizer_config)
         | 
| 70 | 
            +
                rescue
         | 
| 71 | 
            +
                  false
         | 
| 72 | 
            +
                end
         | 
| 73 | 
            +
             | 
| 68 74 | 
             
                # Builds a minimal plugin instance used only during scan time for TracePoint
         | 
| 69 75 | 
             
                def build_scan_plugin_for(serializer_klass)
         | 
| 70 76 | 
             
                  return @scan_plugin_cache[serializer_klass] if @scan_plugin_cache&.key?(serializer_klass)
         | 
    
        data/lib/typelizer/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: typelizer
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.5. | 
| 4 | 
            +
              version: 0.5.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Svyatoslav Kryukov
         | 
| @@ -23,6 +23,20 @@ dependencies: | |
| 23 23 | 
             
                - - ">="
         | 
| 24 24 | 
             
                  - !ruby/object:Gem::Version
         | 
| 25 25 | 
             
                    version: 6.0.0
         | 
| 26 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 27 | 
            +
              name: benchmark
         | 
| 28 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 29 | 
            +
                requirements:
         | 
| 30 | 
            +
                - - ">="
         | 
| 31 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 32 | 
            +
                    version: '0'
         | 
| 33 | 
            +
              type: :runtime
         | 
| 34 | 
            +
              prerelease: false
         | 
| 35 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 36 | 
            +
                requirements:
         | 
| 37 | 
            +
                - - ">="
         | 
| 38 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 39 | 
            +
                    version: '0'
         | 
| 26 40 | 
             
            description: A TypeScript type generator for Ruby serializers.
         | 
| 27 41 | 
             
            email:
         | 
| 28 42 | 
             
            - me@skryukov.dev
         |