lazy_names 0.2.0 → 1.0.0
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 +5 -5
 - data/.github/dependabot.yml +11 -0
 - data/.github/workflows/codecov.yml +24 -0
 - data/.github/workflows/codeql.yml +98 -0
 - data/.github/workflows/rake.yml +24 -0
 - data/.gitignore +1 -0
 - data/.rubocop.yml +9 -12
 - data/.ruby-version +1 -1
 - data/Gemfile +11 -1
 - data/Gemfile.lock +65 -19
 - data/LICENSE.txt +1 -1
 - data/README.md +12 -1
 - data/Rakefile +8 -2
 - data/bin/console +1 -0
 - data/lazy_names.gemspec +4 -5
 - data/lib/lazy_names/config.rb +2 -0
 - data/lib/lazy_names/config_loader.rb +10 -7
 - data/lib/lazy_names/config_validator.rb +5 -5
 - data/lib/lazy_names/definer.rb +4 -2
 - data/lib/lazy_names/find_namespace.rb +2 -0
 - data/lib/lazy_names/logger.rb +2 -0
 - data/lib/lazy_names/version.rb +3 -1
 - data/lib/lazy_names.rb +4 -2
 - metadata +11 -63
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 2 
     | 
    
         
            +
            SHA256:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: d0507f34b2f1f59a72734ddeb41c5b867f5114fd117ba73baa33293b46773d05
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 3d9e34b1beeba0a4ef3ac8b87e3faf295614efcee1da770d40ee5f5619c9752e
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 26231616eaa3a461ff281553300503d678952a3e4957593473b7db00fa00454848a6fa1cf4071de52d2e04b4afd4030ccd27c5988e69b17606ef3a027973481c
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 81f910b280c65f62d9316a34b67d932950d991ba13a4dea3df18dcf78b8459d5745581d9422b1078eed624336e3a88985a4741710785530ee50aa9e79934f067
         
     | 
| 
         @@ -0,0 +1,11 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # To get started with Dependabot version updates, you'll need to specify which
         
     | 
| 
      
 2 
     | 
    
         
            +
            # package ecosystems to update and where the package manifests are located.
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Please see the documentation for all configuration options:
         
     | 
| 
      
 4 
     | 
    
         
            +
            # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            version: 2
         
     | 
| 
      
 7 
     | 
    
         
            +
            updates:
         
     | 
| 
      
 8 
     | 
    
         
            +
              - package-ecosystem: "github-actions"
         
     | 
| 
      
 9 
     | 
    
         
            +
                directory: "/" # Location of package manifests
         
     | 
| 
      
 10 
     | 
    
         
            +
                schedule:
         
     | 
| 
      
 11 
     | 
    
         
            +
                  interval: "weekly"
         
     | 
| 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: codecov
         
     | 
| 
      
 3 
     | 
    
         
            +
            'on':
         
     | 
| 
      
 4 
     | 
    
         
            +
              push:
         
     | 
| 
      
 5 
     | 
    
         
            +
                branches:
         
     | 
| 
      
 6 
     | 
    
         
            +
                  - master
         
     | 
| 
      
 7 
     | 
    
         
            +
            jobs:
         
     | 
| 
      
 8 
     | 
    
         
            +
              codecov:
         
     | 
| 
      
 9 
     | 
    
         
            +
                timeout-minutes: 15
         
     | 
| 
      
 10 
     | 
    
         
            +
                runs-on: ubuntu-24.04
         
     | 
| 
      
 11 
     | 
    
         
            +
                steps:
         
     | 
| 
      
 12 
     | 
    
         
            +
                  - uses: actions/checkout@v4
         
     | 
| 
      
 13 
     | 
    
         
            +
                  - uses: ruby/setup-ruby@v1
         
     | 
| 
      
 14 
     | 
    
         
            +
                    with:
         
     | 
| 
      
 15 
     | 
    
         
            +
                      ruby-version: 3.1
         
     | 
| 
      
 16 
     | 
    
         
            +
                      bundler-cache: true
         
     | 
| 
      
 17 
     | 
    
         
            +
                  - run: bundle config set --global path "$(pwd)/vendor/bundle"
         
     | 
| 
      
 18 
     | 
    
         
            +
                  - run: bundle install --no-color
         
     | 
| 
      
 19 
     | 
    
         
            +
                  - run: bundle exec rake
         
     | 
| 
      
 20 
     | 
    
         
            +
                  - uses: codecov/codecov-action@v5
         
     | 
| 
      
 21 
     | 
    
         
            +
                    with:
         
     | 
| 
      
 22 
     | 
    
         
            +
                      token: ${{ secrets.CODECOV_TOKEN }}
         
     | 
| 
      
 23 
     | 
    
         
            +
                      files: coverage/.resultset.json
         
     | 
| 
      
 24 
     | 
    
         
            +
                      fail_ci_if_error: true
         
     | 
| 
         @@ -0,0 +1,98 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # For most projects, this workflow file will not need changing; you simply need
         
     | 
| 
      
 2 
     | 
    
         
            +
            # to commit it to your repository.
         
     | 
| 
      
 3 
     | 
    
         
            +
            #
         
     | 
| 
      
 4 
     | 
    
         
            +
            # You may wish to alter this file to override the set of languages analyzed,
         
     | 
| 
      
 5 
     | 
    
         
            +
            # or to provide custom queries or build logic.
         
     | 
| 
      
 6 
     | 
    
         
            +
            #
         
     | 
| 
      
 7 
     | 
    
         
            +
            # ******** NOTE ********
         
     | 
| 
      
 8 
     | 
    
         
            +
            # We have attempted to detect the languages in your repository. Please check
         
     | 
| 
      
 9 
     | 
    
         
            +
            # the `language` matrix defined below to confirm you have the correct set of
         
     | 
| 
      
 10 
     | 
    
         
            +
            # supported CodeQL languages.
         
     | 
| 
      
 11 
     | 
    
         
            +
            #
         
     | 
| 
      
 12 
     | 
    
         
            +
            name: "CodeQL Advanced"
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            on:
         
     | 
| 
      
 15 
     | 
    
         
            +
              push:
         
     | 
| 
      
 16 
     | 
    
         
            +
                branches: [ "master" ]
         
     | 
| 
      
 17 
     | 
    
         
            +
              pull_request:
         
     | 
| 
      
 18 
     | 
    
         
            +
                branches: [ "master" ]
         
     | 
| 
      
 19 
     | 
    
         
            +
              schedule:
         
     | 
| 
      
 20 
     | 
    
         
            +
                - cron: '40 18 * * 3'
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            jobs:
         
     | 
| 
      
 23 
     | 
    
         
            +
              analyze:
         
     | 
| 
      
 24 
     | 
    
         
            +
                name: Analyze (${{ matrix.language }})
         
     | 
| 
      
 25 
     | 
    
         
            +
                # Runner size impacts CodeQL analysis time. To learn more, please see:
         
     | 
| 
      
 26 
     | 
    
         
            +
                #   - https://gh.io/recommended-hardware-resources-for-running-codeql
         
     | 
| 
      
 27 
     | 
    
         
            +
                #   - https://gh.io/supported-runners-and-hardware-resources
         
     | 
| 
      
 28 
     | 
    
         
            +
                #   - https://gh.io/using-larger-runners (GitHub.com only)
         
     | 
| 
      
 29 
     | 
    
         
            +
                # Consider using larger runners or machines with greater resources for possible analysis time improvements.
         
     | 
| 
      
 30 
     | 
    
         
            +
                runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
         
     | 
| 
      
 31 
     | 
    
         
            +
                permissions:
         
     | 
| 
      
 32 
     | 
    
         
            +
                  # required for all workflows
         
     | 
| 
      
 33 
     | 
    
         
            +
                  security-events: write
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                  # required to fetch internal or private CodeQL packs
         
     | 
| 
      
 36 
     | 
    
         
            +
                  packages: read
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                  # only required for workflows in private repositories
         
     | 
| 
      
 39 
     | 
    
         
            +
                  actions: read
         
     | 
| 
      
 40 
     | 
    
         
            +
                  contents: read
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                strategy:
         
     | 
| 
      
 43 
     | 
    
         
            +
                  fail-fast: false
         
     | 
| 
      
 44 
     | 
    
         
            +
                  matrix:
         
     | 
| 
      
 45 
     | 
    
         
            +
                    include:
         
     | 
| 
      
 46 
     | 
    
         
            +
                    - language: ruby
         
     | 
| 
      
 47 
     | 
    
         
            +
                      build-mode: none
         
     | 
| 
      
 48 
     | 
    
         
            +
                    # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
         
     | 
| 
      
 49 
     | 
    
         
            +
                    # Use `c-cpp` to analyze code written in C, C++ or both
         
     | 
| 
      
 50 
     | 
    
         
            +
                    # Use 'java-kotlin' to analyze code written in Java, Kotlin or both
         
     | 
| 
      
 51 
     | 
    
         
            +
                    # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
         
     | 
| 
      
 52 
     | 
    
         
            +
                    # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
         
     | 
| 
      
 53 
     | 
    
         
            +
                    # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
         
     | 
| 
      
 54 
     | 
    
         
            +
                    # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
         
     | 
| 
      
 55 
     | 
    
         
            +
                    # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
         
     | 
| 
      
 56 
     | 
    
         
            +
                steps:
         
     | 
| 
      
 57 
     | 
    
         
            +
                - name: Checkout repository
         
     | 
| 
      
 58 
     | 
    
         
            +
                  uses: actions/checkout@v4
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                # Add any setup steps before running the `github/codeql-action/init` action.
         
     | 
| 
      
 61 
     | 
    
         
            +
                # This includes steps like installing compilers or runtimes (`actions/setup-node`
         
     | 
| 
      
 62 
     | 
    
         
            +
                # or others). This is typically only required for manual builds.
         
     | 
| 
      
 63 
     | 
    
         
            +
                # - name: Setup runtime (example)
         
     | 
| 
      
 64 
     | 
    
         
            +
                #   uses: actions/setup-example@v1
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
                # Initializes the CodeQL tools for scanning.
         
     | 
| 
      
 67 
     | 
    
         
            +
                - name: Initialize CodeQL
         
     | 
| 
      
 68 
     | 
    
         
            +
                  uses: github/codeql-action/init@v3
         
     | 
| 
      
 69 
     | 
    
         
            +
                  with:
         
     | 
| 
      
 70 
     | 
    
         
            +
                    languages: ${{ matrix.language }}
         
     | 
| 
      
 71 
     | 
    
         
            +
                    build-mode: ${{ matrix.build-mode }}
         
     | 
| 
      
 72 
     | 
    
         
            +
                    # If you wish to specify custom queries, you can do so here or in a config file.
         
     | 
| 
      
 73 
     | 
    
         
            +
                    # By default, queries listed here will override any specified in a config file.
         
     | 
| 
      
 74 
     | 
    
         
            +
                    # Prefix the list here with "+" to use these queries and those in the config file.
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
                    # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
         
     | 
| 
      
 77 
     | 
    
         
            +
                    # queries: security-extended,security-and-quality
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
                # If the analyze step fails for one of the languages you are analyzing with
         
     | 
| 
      
 80 
     | 
    
         
            +
                # "We were unable to automatically build your code", modify the matrix above
         
     | 
| 
      
 81 
     | 
    
         
            +
                # to set the build mode to "manual" for that language. Then modify this step
         
     | 
| 
      
 82 
     | 
    
         
            +
                # to build your code.
         
     | 
| 
      
 83 
     | 
    
         
            +
                # ℹ️ Command-line programs to run using the OS shell.
         
     | 
| 
      
 84 
     | 
    
         
            +
                # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
         
     | 
| 
      
 85 
     | 
    
         
            +
                - if: matrix.build-mode == 'manual'
         
     | 
| 
      
 86 
     | 
    
         
            +
                  shell: bash
         
     | 
| 
      
 87 
     | 
    
         
            +
                  run: |
         
     | 
| 
      
 88 
     | 
    
         
            +
                    echo 'If you are using a "manual" build mode for one or more of the' \
         
     | 
| 
      
 89 
     | 
    
         
            +
                      'languages you are analyzing, replace this with the commands to build' \
         
     | 
| 
      
 90 
     | 
    
         
            +
                      'your code, for example:'
         
     | 
| 
      
 91 
     | 
    
         
            +
                    echo '  make bootstrap'
         
     | 
| 
      
 92 
     | 
    
         
            +
                    echo '  make release'
         
     | 
| 
      
 93 
     | 
    
         
            +
                    exit 1
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
                - name: Perform CodeQL Analysis
         
     | 
| 
      
 96 
     | 
    
         
            +
                  uses: github/codeql-action/analyze@v3
         
     | 
| 
      
 97 
     | 
    
         
            +
                  with:
         
     | 
| 
      
 98 
     | 
    
         
            +
                    category: "/language:${{matrix.language}}"
         
     | 
| 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: rake
         
     | 
| 
      
 3 
     | 
    
         
            +
            'on':
         
     | 
| 
      
 4 
     | 
    
         
            +
              push:
         
     | 
| 
      
 5 
     | 
    
         
            +
                branches:
         
     | 
| 
      
 6 
     | 
    
         
            +
                  - master
         
     | 
| 
      
 7 
     | 
    
         
            +
              pull_request:
         
     | 
| 
      
 8 
     | 
    
         
            +
                branches:
         
     | 
| 
      
 9 
     | 
    
         
            +
                  - master
         
     | 
| 
      
 10 
     | 
    
         
            +
            jobs:
         
     | 
| 
      
 11 
     | 
    
         
            +
              rake:
         
     | 
| 
      
 12 
     | 
    
         
            +
                strategy:
         
     | 
| 
      
 13 
     | 
    
         
            +
                  matrix:
         
     | 
| 
      
 14 
     | 
    
         
            +
                    os: [ ubuntu-latest, macos-latest, windows-latest ]
         
     | 
| 
      
 15 
     | 
    
         
            +
                runs-on: ${{ matrix.os }}
         
     | 
| 
      
 16 
     | 
    
         
            +
                steps:
         
     | 
| 
      
 17 
     | 
    
         
            +
                  - uses: actions/checkout@v4
         
     | 
| 
      
 18 
     | 
    
         
            +
                  - uses: ruby/setup-ruby@v1
         
     | 
| 
      
 19 
     | 
    
         
            +
                    with:
         
     | 
| 
      
 20 
     | 
    
         
            +
                      ruby-version: '3.1'
         
     | 
| 
      
 21 
     | 
    
         
            +
                      bundler-cache: true
         
     | 
| 
      
 22 
     | 
    
         
            +
                  - run: bundle config set --global path "$(pwd)/vendor/bundle"
         
     | 
| 
      
 23 
     | 
    
         
            +
                  - run: bundle install --no-color
         
     | 
| 
      
 24 
     | 
    
         
            +
                  - run: bundle exec rake
         
     | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/.rubocop.yml
    CHANGED
    
    | 
         @@ -1,5 +1,10 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            plugins:
         
     | 
| 
      
 2 
     | 
    
         
            +
            - rubocop-rake
         
     | 
| 
      
 3 
     | 
    
         
            +
            - rubocop-rspec
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            AllCops:
         
     | 
| 
      
 6 
     | 
    
         
            +
              TargetRubyVersion: 2.7
         
     | 
| 
      
 7 
     | 
    
         
            +
              NewCops: enable
         
     | 
| 
       3 
8 
     | 
    
         | 
| 
       4 
9 
     | 
    
         
             
            # Good documentation welcome, but not required
         
     | 
| 
       5 
10 
     | 
    
         
             
            Style/Documentation:
         
     | 
| 
         @@ -17,9 +22,6 @@ Style/HashTransformKeys: 
     | 
|
| 
       17 
22 
     | 
    
         
             
            Style/HashTransformValues:
         
     | 
| 
       18 
23 
     | 
    
         
             
              Enabled: false
         
     | 
| 
       19 
24 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
            Security/Eval:
         
     | 
| 
       21 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
25 
     | 
    
         
             
            Style/LambdaCall:
         
     | 
| 
       24 
26 
     | 
    
         
             
              Enabled:
         
     | 
| 
       25 
27 
     | 
    
         
             
                EnforcedStyle: braces
         
     | 
| 
         @@ -27,10 +29,6 @@ Style/LambdaCall: 
     | 
|
| 
       27 
29 
     | 
    
         
             
            Style/RedundantSelf:
         
     | 
| 
       28 
30 
     | 
    
         
             
              Enabled: false
         
     | 
| 
       29 
31 
     | 
    
         | 
| 
       30 
     | 
    
         
            -
            Style/MultilineMethodCallIndentation:
         
     | 
| 
       31 
     | 
    
         
            -
              Enabled:
         
     | 
| 
       32 
     | 
    
         
            -
                EnforcedStyle: indented
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
32 
     | 
    
         
             
            Layout/LineLength:
         
     | 
| 
       35 
33 
     | 
    
         
             
              Enabled:
         
     | 
| 
       36 
34 
     | 
    
         
             
                max: 100
         
     | 
| 
         @@ -39,6 +37,5 @@ Metrics/BlockLength: 
     | 
|
| 
       39 
37 
     | 
    
         
             
              Exclude:
         
     | 
| 
       40 
38 
     | 
    
         
             
                - spec/**/*.rb
         
     | 
| 
       41 
39 
     | 
    
         | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
               
     | 
| 
       44 
     | 
    
         
            -
                - lib/lazy_names.rb
         
     | 
| 
      
 40 
     | 
    
         
            +
            RSpec/NestedGroups:
         
     | 
| 
      
 41 
     | 
    
         
            +
              Enabled: false
         
     | 
    
        data/.ruby-version
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            3.1.4
         
     | 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -1,6 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            source 'https://rubygems.org'
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
5 
     | 
    
         
             
            git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
         
     | 
| 
       4 
6 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
            # Specify your gem's dependencies in lazy_names.gemspec
         
     | 
| 
       6 
7 
     | 
    
         
             
            gemspec
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            gem 'bundler', '~> 2.1', require: false
         
     | 
| 
      
 10 
     | 
    
         
            +
            gem 'pry', '~> 0.13', require: false
         
     | 
| 
      
 11 
     | 
    
         
            +
            gem 'rake', '~> 12.3', require: false
         
     | 
| 
      
 12 
     | 
    
         
            +
            gem 'rspec', '~> 3.0', require: false
         
     | 
| 
      
 13 
     | 
    
         
            +
            gem 'rubocop', '~> 1.72', require: false
         
     | 
| 
      
 14 
     | 
    
         
            +
            gem 'rubocop-rake', require: false
         
     | 
| 
      
 15 
     | 
    
         
            +
            gem 'rubocop-rspec', require: false
         
     | 
| 
      
 16 
     | 
    
         
            +
            gem 'simplecov', '0.22.0', require: false
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,41 +1,87 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            PATH
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: .
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                lazy_names (0. 
     | 
| 
      
 4 
     | 
    
         
            +
                lazy_names (1.0.0)
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            GEM
         
     | 
| 
       7 
7 
     | 
    
         
             
              remote: https://rubygems.org/
         
     | 
| 
       8 
8 
     | 
    
         
             
              specs:
         
     | 
| 
      
 9 
     | 
    
         
            +
                ast (2.4.2)
         
     | 
| 
       9 
10 
     | 
    
         
             
                coderay (1.1.3)
         
     | 
| 
       10 
     | 
    
         
            -
                diff-lcs (1. 
     | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
       12 
     | 
    
         
            -
                 
     | 
| 
      
 11 
     | 
    
         
            +
                diff-lcs (1.5.1)
         
     | 
| 
      
 12 
     | 
    
         
            +
                docile (1.4.1)
         
     | 
| 
      
 13 
     | 
    
         
            +
                json (2.10.1)
         
     | 
| 
      
 14 
     | 
    
         
            +
                language_server-protocol (3.17.0.4)
         
     | 
| 
      
 15 
     | 
    
         
            +
                lint_roller (1.1.0)
         
     | 
| 
      
 16 
     | 
    
         
            +
                method_source (1.1.0)
         
     | 
| 
      
 17 
     | 
    
         
            +
                parallel (1.26.3)
         
     | 
| 
      
 18 
     | 
    
         
            +
                parser (3.3.7.1)
         
     | 
| 
      
 19 
     | 
    
         
            +
                  ast (~> 2.4.1)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  racc
         
     | 
| 
      
 21 
     | 
    
         
            +
                pry (0.14.2)
         
     | 
| 
       13 
22 
     | 
    
         
             
                  coderay (~> 1.1)
         
     | 
| 
       14 
23 
     | 
    
         
             
                  method_source (~> 1.0)
         
     | 
| 
       15 
     | 
    
         
            -
                 
     | 
| 
       16 
     | 
    
         
            -
                 
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
                  rspec- 
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
      
 24 
     | 
    
         
            +
                racc (1.8.1)
         
     | 
| 
      
 25 
     | 
    
         
            +
                rainbow (3.1.1)
         
     | 
| 
      
 26 
     | 
    
         
            +
                rake (12.3.3)
         
     | 
| 
      
 27 
     | 
    
         
            +
                regexp_parser (2.10.0)
         
     | 
| 
      
 28 
     | 
    
         
            +
                rspec (3.12.0)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  rspec-core (~> 3.12.0)
         
     | 
| 
      
 30 
     | 
    
         
            +
                  rspec-expectations (~> 3.12.0)
         
     | 
| 
      
 31 
     | 
    
         
            +
                  rspec-mocks (~> 3.12.0)
         
     | 
| 
      
 32 
     | 
    
         
            +
                rspec-core (3.12.0)
         
     | 
| 
      
 33 
     | 
    
         
            +
                  rspec-support (~> 3.12.0)
         
     | 
| 
      
 34 
     | 
    
         
            +
                rspec-expectations (3.12.2)
         
     | 
| 
       23 
35 
     | 
    
         
             
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
       24 
     | 
    
         
            -
                  rspec-support (~> 3. 
     | 
| 
       25 
     | 
    
         
            -
                rspec-mocks (3. 
     | 
| 
      
 36 
     | 
    
         
            +
                  rspec-support (~> 3.12.0)
         
     | 
| 
      
 37 
     | 
    
         
            +
                rspec-mocks (3.12.3)
         
     | 
| 
       26 
38 
     | 
    
         
             
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
       27 
     | 
    
         
            -
                  rspec-support (~> 3. 
     | 
| 
       28 
     | 
    
         
            -
                rspec-support (3. 
     | 
| 
      
 39 
     | 
    
         
            +
                  rspec-support (~> 3.12.0)
         
     | 
| 
      
 40 
     | 
    
         
            +
                rspec-support (3.12.0)
         
     | 
| 
      
 41 
     | 
    
         
            +
                rubocop (1.72.2)
         
     | 
| 
      
 42 
     | 
    
         
            +
                  json (~> 2.3)
         
     | 
| 
      
 43 
     | 
    
         
            +
                  language_server-protocol (~> 3.17.0.2)
         
     | 
| 
      
 44 
     | 
    
         
            +
                  lint_roller (~> 1.1.0)
         
     | 
| 
      
 45 
     | 
    
         
            +
                  parallel (~> 1.10)
         
     | 
| 
      
 46 
     | 
    
         
            +
                  parser (>= 3.3.0.2)
         
     | 
| 
      
 47 
     | 
    
         
            +
                  rainbow (>= 2.2.2, < 4.0)
         
     | 
| 
      
 48 
     | 
    
         
            +
                  regexp_parser (>= 2.9.3, < 3.0)
         
     | 
| 
      
 49 
     | 
    
         
            +
                  rubocop-ast (>= 1.38.0, < 2.0)
         
     | 
| 
      
 50 
     | 
    
         
            +
                  ruby-progressbar (~> 1.7)
         
     | 
| 
      
 51 
     | 
    
         
            +
                  unicode-display_width (>= 2.4.0, < 4.0)
         
     | 
| 
      
 52 
     | 
    
         
            +
                rubocop-ast (1.38.0)
         
     | 
| 
      
 53 
     | 
    
         
            +
                  parser (>= 3.3.1.0)
         
     | 
| 
      
 54 
     | 
    
         
            +
                rubocop-rake (0.7.1)
         
     | 
| 
      
 55 
     | 
    
         
            +
                  lint_roller (~> 1.1)
         
     | 
| 
      
 56 
     | 
    
         
            +
                  rubocop (>= 1.72.1)
         
     | 
| 
      
 57 
     | 
    
         
            +
                rubocop-rspec (3.5.0)
         
     | 
| 
      
 58 
     | 
    
         
            +
                  lint_roller (~> 1.1)
         
     | 
| 
      
 59 
     | 
    
         
            +
                  rubocop (~> 1.72, >= 1.72.1)
         
     | 
| 
      
 60 
     | 
    
         
            +
                ruby-progressbar (1.13.0)
         
     | 
| 
      
 61 
     | 
    
         
            +
                simplecov (0.22.0)
         
     | 
| 
      
 62 
     | 
    
         
            +
                  docile (~> 1.1)
         
     | 
| 
      
 63 
     | 
    
         
            +
                  simplecov-html (~> 0.11)
         
     | 
| 
      
 64 
     | 
    
         
            +
                  simplecov_json_formatter (~> 0.1)
         
     | 
| 
      
 65 
     | 
    
         
            +
                simplecov-html (0.13.1)
         
     | 
| 
      
 66 
     | 
    
         
            +
                simplecov_json_formatter (0.1.4)
         
     | 
| 
      
 67 
     | 
    
         
            +
                unicode-display_width (3.1.4)
         
     | 
| 
      
 68 
     | 
    
         
            +
                  unicode-emoji (~> 4.0, >= 4.0.4)
         
     | 
| 
      
 69 
     | 
    
         
            +
                unicode-emoji (4.0.4)
         
     | 
| 
       29 
70 
     | 
    
         | 
| 
       30 
71 
     | 
    
         
             
            PLATFORMS
         
     | 
| 
      
 72 
     | 
    
         
            +
              arm64-darwin-23
         
     | 
| 
       31 
73 
     | 
    
         
             
              ruby
         
     | 
| 
       32 
74 
     | 
    
         | 
| 
       33 
75 
     | 
    
         
             
            DEPENDENCIES
         
     | 
| 
       34 
     | 
    
         
            -
              bundler (~> 1 
     | 
| 
      
 76 
     | 
    
         
            +
              bundler (~> 2.1)
         
     | 
| 
       35 
77 
     | 
    
         
             
              lazy_names!
         
     | 
| 
       36 
78 
     | 
    
         
             
              pry (~> 0.13)
         
     | 
| 
       37 
     | 
    
         
            -
              rake (~>  
     | 
| 
      
 79 
     | 
    
         
            +
              rake (~> 12.3)
         
     | 
| 
       38 
80 
     | 
    
         
             
              rspec (~> 3.0)
         
     | 
| 
      
 81 
     | 
    
         
            +
              rubocop (~> 1.72)
         
     | 
| 
      
 82 
     | 
    
         
            +
              rubocop-rake
         
     | 
| 
      
 83 
     | 
    
         
            +
              rubocop-rspec
         
     | 
| 
      
 84 
     | 
    
         
            +
              simplecov (= 0.22.0)
         
     | 
| 
       39 
85 
     | 
    
         | 
| 
       40 
86 
     | 
    
         
             
            BUNDLED WITH
         
     | 
| 
       41 
     | 
    
         
            -
                
     | 
| 
      
 87 
     | 
    
         
            +
               2.6.5
         
     | 
    
        data/LICENSE.txt
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,6 +1,13 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            [](https://github.com/zhisme/lazy_names/actions/workflows/rake.yml)
         
     | 
| 
      
 2 
     | 
    
         
            +
            [](https://badge.fury.io/rb/lazy_names)
         
     | 
| 
      
 3 
     | 
    
         
            +
            
         
     | 
| 
      
 4 
     | 
    
         
            +
            [](https://hitsofcode.com/github/zhisme/lazy_names/view?branch=master)
         
     | 
| 
      
 5 
     | 
    
         
            +
            [](https://codecov.io/gh/zhisme/lazy_names)
         
     | 
| 
      
 6 
     | 
    
         
            +
            
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
       1 
8 
     | 
    
         
             
            # lazy_names
         
     | 
| 
       2 
9 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
            lazy_names helps programmer to type faster very-long class names constants by defining them on a shorter version.
         
     | 
| 
       4 
11 
     | 
    
         
             
            If you are lazy like me typing many times a day in console long constants then this gem will ease your development process.
         
     | 
| 
       5 
12 
     | 
    
         | 
| 
       6 
13 
     | 
    
         
             
            ## Why
         
     | 
| 
         @@ -8,6 +15,8 @@ If you are lazy like me typing many times a day in console long constants then t 
     | 
|
| 
       8 
15 
     | 
    
         
             
            Consider this example from pry terminal session.
         
     | 
| 
       9 
16 
     | 
    
         
             
            
         
     | 
| 
       10 
17 
     | 
    
         | 
| 
      
 18 
     | 
    
         
            +
            The idea is to reduce typing of long namespaced constants to shorter versions. It's very useful when you have a lot of nested namespaces and you need to access them frequently. This gem will take your responsibility to redefine constants to shorter versions and making constant/classes validations.
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       11 
20 
     | 
    
         
             
            ## Installation
         
     | 
| 
       12 
21 
     | 
    
         | 
| 
       13 
22 
     | 
    
         
             
            1. Add this line to your application's Gemfile:
         
     | 
| 
         @@ -110,12 +119,14 @@ Example config can be found in `.lazy_names.tt.project.yml` 
     | 
|
| 
       110 
119 
     | 
    
         
             
            ## Development
         
     | 
| 
       111 
120 
     | 
    
         | 
| 
       112 
121 
     | 
    
         
             
            After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
         
     | 
| 
      
 122 
     | 
    
         
            +
            After you make changes ensure to run `rake rubocop` to check if your code meets linter standards.
         
     | 
| 
       113 
123 
     | 
    
         | 
| 
       114 
124 
     | 
    
         
             
            To install this gem onto your local machine, run `bundle exec rake install`.
         
     | 
| 
       115 
125 
     | 
    
         | 
| 
       116 
126 
     | 
    
         
             
            ## Contributing
         
     | 
| 
       117 
127 
     | 
    
         | 
| 
       118 
128 
     | 
    
         
             
            Bug reports and pull requests are welcome on GitHub at https://github.com/zhisme/lazy_names.
         
     | 
| 
      
 129 
     | 
    
         
            +
            Ensure the CI build is green by validating tests are passing and coverage is not decreased.
         
     | 
| 
       119 
130 
     | 
    
         | 
| 
       120 
131 
     | 
    
         
             
            ## License
         
     | 
| 
       121 
132 
     | 
    
         | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -1,6 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'bundler/gem_tasks'
         
     | 
| 
       2 
4 
     | 
    
         
             
            require 'rspec/core/rake_task'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require 'rubocop/rake_task'
         
     | 
| 
       3 
6 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
            task default: %i[clean rubocop spec]
         
     | 
| 
       5 
8 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
      
 9 
     | 
    
         
            +
            desc 'Run RuboCop'
         
     | 
| 
      
 10 
     | 
    
         
            +
            RuboCop::RakeTask.new(:rubocop)
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            RSpec::Core::RakeTask.new(:spec)
         
     | 
    
        data/bin/console
    CHANGED
    
    
    
        data/lazy_names.gemspec
    CHANGED
    
    | 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            lib = File.expand_path('lib', __dir__)
         
     | 
| 
       2 
4 
     | 
    
         
             
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         
     | 
| 
       3 
5 
     | 
    
         
             
            require 'lazy_names/version'
         
     | 
| 
         @@ -23,9 +25,6 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       23 
25 
     | 
    
         
             
              spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
         
     | 
| 
       24 
26 
     | 
    
         
             
              spec.require_paths = ['lib']
         
     | 
| 
       25 
27 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
              spec. 
     | 
| 
       27 
     | 
    
         
            -
              spec. 
     | 
| 
       28 
     | 
    
         
            -
              spec.add_development_dependency 'rake', '~> 10.0'
         
     | 
| 
       29 
     | 
    
         
            -
              spec.add_development_dependency 'rspec', '~> 3.0'
         
     | 
| 
       30 
     | 
    
         
            -
              spec.required_ruby_version = '>= 2.3.3'
         
     | 
| 
      
 28 
     | 
    
         
            +
              spec.required_ruby_version = '>= 2.7'
         
     | 
| 
      
 29 
     | 
    
         
            +
              spec.metadata['rubygems_mfa_required'] = 'true'
         
     | 
| 
       31 
30 
     | 
    
         
             
            end
         
     | 
    
        data/lib/lazy_names/config.rb
    CHANGED
    
    
| 
         @@ -1,15 +1,18 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'yaml'
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
5 
     | 
    
         
             
            module LazyNames
         
     | 
| 
       4 
6 
     | 
    
         
             
              class ConfigLoader
         
     | 
| 
       5 
7 
     | 
    
         
             
                class NoConfig < StandardError; end
         
     | 
| 
      
 8 
     | 
    
         
            +
                class YAMLConfigInvalid < StandardError; end
         
     | 
| 
       6 
9 
     | 
    
         
             
                class ConfigNotResolved < StandardError; end
         
     | 
| 
       7 
10 
     | 
    
         
             
                class NamespaceNotFound < StandardError; end
         
     | 
| 
       8 
11 
     | 
    
         
             
                class NoDefinitions < StandardError; end
         
     | 
| 
       9 
12 
     | 
    
         | 
| 
       10 
13 
     | 
    
         
             
                class << self
         
     | 
| 
       11 
14 
     | 
    
         
             
                  BasicConfig = Struct.new(:path, :definitions)
         
     | 
| 
       12 
     | 
    
         
            -
                  HOME_PATH = '~/.lazy_names.yml' 
     | 
| 
      
 15 
     | 
    
         
            +
                  HOME_PATH = '~/.lazy_names.yml'
         
     | 
| 
       13 
16 
     | 
    
         | 
| 
       14 
17 
     | 
    
         
             
                  def call(namespace:, path: nil)
         
     | 
| 
       15 
18 
     | 
    
         
             
                    return read_from_path(namespace, path) if path
         
     | 
| 
         @@ -36,7 +39,7 @@ module LazyNames 
     | 
|
| 
       36 
39 
     | 
    
         
             
                    BasicConfig.new(home_path, definitions)
         
     | 
| 
       37 
40 
     | 
    
         
             
                  rescue Errno::ENOENT
         
     | 
| 
       38 
41 
     | 
    
         
             
                    raise NoConfig, 'No config found in your home directory. ' \
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
      
 42 
     | 
    
         
            +
                                    'Create ~/.lazy_names.yml'
         
     | 
| 
       40 
43 
     | 
    
         
             
                  end
         
     | 
| 
       41 
44 
     | 
    
         | 
| 
       42 
45 
     | 
    
         
             
                  def read_from_project
         
     | 
| 
         @@ -47,25 +50,23 @@ module LazyNames 
     | 
|
| 
       47 
50 
     | 
    
         | 
| 
       48 
51 
     | 
    
         
             
                  def find_project_definitions
         
     | 
| 
       49 
52 
     | 
    
         
             
                    read_config(project_path)['definitions'].to_hash
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
       51 
53 
     | 
    
         
             
                  rescue NoMethodError
         
     | 
| 
       52 
54 
     | 
    
         
             
                    raise NoDefinitions, "No definitions found in #{project_path}. " \
         
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
      
 55 
     | 
    
         
            +
                                         'See config example .lazy_names.tt.project.yml'
         
     | 
| 
       54 
56 
     | 
    
         
             
                  end
         
     | 
| 
       55 
57 
     | 
    
         | 
| 
       56 
58 
     | 
    
         
             
                  def find_definitions(path, namespace)
         
     | 
| 
       57 
59 
     | 
    
         
             
                    find_namespace_contents(path, namespace)['definitions'].to_hash
         
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
60 
     | 
    
         
             
                  rescue NoMethodError
         
     | 
| 
       60 
61 
     | 
    
         
             
                    raise NoDefinitions, "No definitions found in #{path}. " \
         
     | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
      
 62 
     | 
    
         
            +
                                         'See config example in .lazy_names.tt.yml'
         
     | 
| 
       62 
63 
     | 
    
         
             
                  end
         
     | 
| 
       63 
64 
     | 
    
         | 
| 
       64 
65 
     | 
    
         
             
                  def find_namespace_contents(path, namespace)
         
     | 
| 
       65 
66 
     | 
    
         
             
                    read_config(path)[namespace].to_hash
         
     | 
| 
       66 
67 
     | 
    
         
             
                  rescue NoMethodError
         
     | 
| 
       67 
68 
     | 
    
         
             
                    raise NamespaceNotFound, "No namespace found in #{path}. " \
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
      
 69 
     | 
    
         
            +
                                             'See config example in .lazy_names.tt.yml and check README'
         
     | 
| 
       69 
70 
     | 
    
         
             
                  end
         
     | 
| 
       70 
71 
     | 
    
         | 
| 
       71 
72 
     | 
    
         
             
                  def config_in_project_path?
         
     | 
| 
         @@ -74,6 +75,8 @@ module LazyNames 
     | 
|
| 
       74 
75 
     | 
    
         | 
| 
       75 
76 
     | 
    
         
             
                  def read_config(path)
         
     | 
| 
       76 
77 
     | 
    
         
             
                    YAML.safe_load(File.read(path))
         
     | 
| 
      
 78 
     | 
    
         
            +
                  rescue Psych::SyntaxError => e
         
     | 
| 
      
 79 
     | 
    
         
            +
                    raise YAMLConfigInvalid, e
         
     | 
| 
       77 
80 
     | 
    
         
             
                  end
         
     | 
| 
       78 
81 
     | 
    
         | 
| 
       79 
82 
     | 
    
         
             
                  def project_path
         
     | 
| 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module LazyNames
         
     | 
| 
       2 
4 
     | 
    
         
             
              class ConfigValidator
         
     | 
| 
       3 
5 
     | 
    
         
             
                attr_reader :errors
         
     | 
| 
         @@ -23,11 +25,9 @@ module LazyNames 
     | 
|
| 
       23 
25 
     | 
    
         | 
| 
       24 
26 
     | 
    
         
             
                def validate_constants!
         
     | 
| 
       25 
27 
     | 
    
         
             
                  constants.each do |c|
         
     | 
| 
       26 
     | 
    
         
            -
                     
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                     
     | 
| 
       29 
     | 
    
         
            -
                      self.errors.undefined << c
         
     | 
| 
       30 
     | 
    
         
            -
                    end
         
     | 
| 
      
 28 
     | 
    
         
            +
                    resolve_const_in_project(c)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  rescue NameError
         
     | 
| 
      
 30 
     | 
    
         
            +
                    self.errors.undefined << c
         
     | 
| 
       31 
31 
     | 
    
         
             
                  end
         
     | 
| 
       32 
32 
     | 
    
         
             
                end
         
     | 
| 
       33 
33 
     | 
    
         | 
    
        data/lib/lazy_names/definer.rb
    CHANGED
    
    | 
         @@ -1,10 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module LazyNames
         
     | 
| 
       2 
4 
     | 
    
         
             
              class Definer
         
     | 
| 
       3 
5 
     | 
    
         
             
                class << self
         
     | 
| 
       4 
6 
     | 
    
         
             
                  def call(config, top_level_binding)
         
     | 
| 
       5 
7 
     | 
    
         
             
                    config.constants.each do |origin|
         
     | 
| 
       6 
     | 
    
         
            -
                      eval <<-RUBY, top_level_binding, __FILE__, __LINE__ + 1
         
     | 
| 
       7 
     | 
    
         
            -
                        #{config.lazy_name(origin)} = #{origin}
         
     | 
| 
      
 8 
     | 
    
         
            +
                      eval <<-RUBY, top_level_binding, __FILE__, __LINE__ + 1 # rubocop:disable Security/Eval
         
     | 
| 
      
 9 
     | 
    
         
            +
                        #{config.lazy_name(origin)} = #{origin} # LN_MC = LazyNames::MyClass. See spec/lazy_names/definer_spec.rb
         
     | 
| 
       8 
10 
     | 
    
         
             
                      RUBY
         
     | 
| 
       9 
11 
     | 
    
         
             
                    end
         
     | 
| 
       10 
12 
     | 
    
         
             
                  end
         
     | 
    
        data/lib/lazy_names/logger.rb
    CHANGED
    
    
    
        data/lib/lazy_names/version.rb
    CHANGED
    
    
    
        data/lib/lazy_names.rb
    CHANGED
    
    | 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'lazy_names/version'
         
     | 
| 
       2 
4 
     | 
    
         
             
            require 'lazy_names/find_namespace'
         
     | 
| 
       3 
5 
     | 
    
         
             
            require 'lazy_names/config_loader'
         
     | 
| 
         @@ -7,9 +9,9 @@ require 'lazy_names/definer' 
     | 
|
| 
       7 
9 
     | 
    
         
             
            require 'lazy_names/logger'
         
     | 
| 
       8 
10 
     | 
    
         | 
| 
       9 
11 
     | 
    
         
             
            module LazyNames
         
     | 
| 
       10 
     | 
    
         
            -
              def self.load_definitions!(top_level_binding = TOPLEVEL_BINDING)
         
     | 
| 
      
 12 
     | 
    
         
            +
              def self.load_definitions!(top_level_binding = TOPLEVEL_BINDING) # rubocop:disable Metrics/AbcSize
         
     | 
| 
       11 
13 
     | 
    
         
             
                basic_config = LazyNames::ConfigLoader
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
                               .(namespace: LazyNames::FindNamespace.())
         
     | 
| 
       13 
15 
     | 
    
         
             
                config = LazyNames::Config.new(basic_config.definitions, basic_config.path)
         
     | 
| 
       14 
16 
     | 
    
         
             
                config.validate!
         
     | 
| 
       15 
17 
     | 
    
         
             
                LazyNames::Definer.(config, top_level_binding)
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,71 +1,15 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: lazy_names
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.0.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - zhisme
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
       12 
     | 
    
         
            -
            dependencies:
         
     | 
| 
       13 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
     | 
    
         
            -
              name: bundler
         
     | 
| 
       15 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       16 
     | 
    
         
            -
                requirements:
         
     | 
| 
       17 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       18 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       19 
     | 
    
         
            -
                    version: '1.16'
         
     | 
| 
       20 
     | 
    
         
            -
              type: :development
         
     | 
| 
       21 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       22 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       23 
     | 
    
         
            -
                requirements:
         
     | 
| 
       24 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       25 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       26 
     | 
    
         
            -
                    version: '1.16'
         
     | 
| 
       27 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       28 
     | 
    
         
            -
              name: pry
         
     | 
| 
       29 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       30 
     | 
    
         
            -
                requirements:
         
     | 
| 
       31 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       32 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       33 
     | 
    
         
            -
                    version: '0.13'
         
     | 
| 
       34 
     | 
    
         
            -
              type: :development
         
     | 
| 
       35 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       36 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       37 
     | 
    
         
            -
                requirements:
         
     | 
| 
       38 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       39 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       40 
     | 
    
         
            -
                    version: '0.13'
         
     | 
| 
       41 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       42 
     | 
    
         
            -
              name: rake
         
     | 
| 
       43 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       44 
     | 
    
         
            -
                requirements:
         
     | 
| 
       45 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       46 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       47 
     | 
    
         
            -
                    version: '10.0'
         
     | 
| 
       48 
     | 
    
         
            -
              type: :development
         
     | 
| 
       49 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       50 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       51 
     | 
    
         
            -
                requirements:
         
     | 
| 
       52 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       53 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       54 
     | 
    
         
            -
                    version: '10.0'
         
     | 
| 
       55 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       56 
     | 
    
         
            -
              name: rspec
         
     | 
| 
       57 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       58 
     | 
    
         
            -
                requirements:
         
     | 
| 
       59 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       60 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       61 
     | 
    
         
            -
                    version: '3.0'
         
     | 
| 
       62 
     | 
    
         
            -
              type: :development
         
     | 
| 
       63 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       64 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       65 
     | 
    
         
            -
                requirements:
         
     | 
| 
       66 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       67 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       68 
     | 
    
         
            -
                    version: '3.0'
         
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2025-02-21 00:00:00.000000000 Z
         
     | 
| 
      
 12 
     | 
    
         
            +
            dependencies: []
         
     | 
| 
       69 
13 
     | 
    
         
             
            description: |
         
     | 
| 
       70 
14 
     | 
    
         
             
              lazy_names is ruby programmer friend. You can save your time not typing long
         
     | 
| 
       71 
15 
     | 
    
         
             
              error-phone constants/classes but defining short and nice versions of them.
         
     | 
| 
         @@ -75,6 +19,10 @@ executables: [] 
     | 
|
| 
       75 
19 
     | 
    
         
             
            extensions: []
         
     | 
| 
       76 
20 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       77 
21 
     | 
    
         
             
            files:
         
     | 
| 
      
 22 
     | 
    
         
            +
            - ".github/dependabot.yml"
         
     | 
| 
      
 23 
     | 
    
         
            +
            - ".github/workflows/codecov.yml"
         
     | 
| 
      
 24 
     | 
    
         
            +
            - ".github/workflows/codeql.yml"
         
     | 
| 
      
 25 
     | 
    
         
            +
            - ".github/workflows/rake.yml"
         
     | 
| 
       78 
26 
     | 
    
         
             
            - ".gitignore"
         
     | 
| 
       79 
27 
     | 
    
         
             
            - ".lazy_names.tt.project.yml"
         
     | 
| 
       80 
28 
     | 
    
         
             
            - ".lazy_names.tt.yml"
         
     | 
| 
         @@ -101,7 +49,8 @@ files: 
     | 
|
| 
       101 
49 
     | 
    
         
             
            homepage: https://github.com/zhisme/lazy_names
         
     | 
| 
       102 
50 
     | 
    
         
             
            licenses:
         
     | 
| 
       103 
51 
     | 
    
         
             
            - MIT
         
     | 
| 
       104 
     | 
    
         
            -
            metadata: 
     | 
| 
      
 52 
     | 
    
         
            +
            metadata:
         
     | 
| 
      
 53 
     | 
    
         
            +
              rubygems_mfa_required: 'true'
         
     | 
| 
       105 
54 
     | 
    
         
             
            post_install_message:
         
     | 
| 
       106 
55 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       107 
56 
     | 
    
         
             
            require_paths:
         
     | 
| 
         @@ -110,15 +59,14 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       110 
59 
     | 
    
         
             
              requirements:
         
     | 
| 
       111 
60 
     | 
    
         
             
              - - ">="
         
     | 
| 
       112 
61 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       113 
     | 
    
         
            -
                  version: 2. 
     | 
| 
      
 62 
     | 
    
         
            +
                  version: '2.7'
         
     | 
| 
       114 
63 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       115 
64 
     | 
    
         
             
              requirements:
         
     | 
| 
       116 
65 
     | 
    
         
             
              - - ">="
         
     | 
| 
       117 
66 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       118 
67 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       119 
68 
     | 
    
         
             
            requirements: []
         
     | 
| 
       120 
     | 
    
         
            -
             
     | 
| 
       121 
     | 
    
         
            -
            rubygems_version: 2.5.2
         
     | 
| 
      
 69 
     | 
    
         
            +
            rubygems_version: 3.3.26
         
     | 
| 
       122 
70 
     | 
    
         
             
            signing_key:
         
     | 
| 
       123 
71 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       124 
72 
     | 
    
         
             
            summary: Define short constants to frequently used classes/constants
         
     |