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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7d0986ae45e667f52744c72afa5c79ed9adadd84
4
- data.tar.gz: bfce318aab2ff6de0cf1a2147dc334011d03bab0
2
+ SHA256:
3
+ metadata.gz: d0507f34b2f1f59a72734ddeb41c5b867f5114fd117ba73baa33293b46773d05
4
+ data.tar.gz: 3d9e34b1beeba0a4ef3ac8b87e3faf295614efcee1da770d40ee5f5619c9752e
5
5
  SHA512:
6
- metadata.gz: cfc61aaa924dbd3c67221000f7d38ac0445cc43fe8b14a3c16e9d8ea70dd5b40d95553d98e38777b5212ec7765c40d0155051dfc594347f8132f2f76091c2840
7
- data.tar.gz: 5002c013d4d4537aeb12addace4a0c77001a655ca888e835e6344b0f5f1a5d1c946d122f333a7638cf5381d426b487f4031ee3fb8ba5948d2b182690970ac569
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
@@ -9,3 +9,4 @@
9
9
 
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
+ *.gem
data/.rubocop.yml CHANGED
@@ -1,5 +1,10 @@
1
- Style/FrozenStringLiteralComment:
2
- Enabled: false
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
- Metrics/AbcSize:
43
- Exclude:
44
- - lib/lazy_names.rb
40
+ RSpec/NestedGroups:
41
+ Enabled: false
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.3
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.2.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.3)
11
- method_source (1.0.0)
12
- pry (0.13.1)
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
- rake (10.5.0)
16
- rspec (3.8.0)
17
- rspec-core (~> 3.8.0)
18
- rspec-expectations (~> 3.8.0)
19
- rspec-mocks (~> 3.8.0)
20
- rspec-core (3.8.0)
21
- rspec-support (~> 3.8.0)
22
- rspec-expectations (3.8.2)
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.8.0)
25
- rspec-mocks (3.8.0)
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.8.0)
28
- rspec-support (3.8.0)
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.16)
76
+ bundler (~> 2.1)
35
77
  lazy_names!
36
78
  pry (~> 0.13)
37
- rake (~> 10.0)
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
- 1.16.3
87
+ 2.6.5
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2020 Zhdanov
3
+ Copyright (c) 2020 Evgeny Zhdanov
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,6 +1,13 @@
1
+ [![rake](https://github.com/zhisme/lazy_names/actions/workflows/rake.yml/badge.svg)](https://github.com/zhisme/lazy_names/actions/workflows/rake.yml)
2
+ [![Gem Version](https://badge.fury.io/rb/lazy_names.svg?icon=si%3Arubygems)](https://badge.fury.io/rb/lazy_names)
3
+ ![Gem Total Downloads](https://img.shields.io/gem/dt/lazy_names)
4
+ [![Hits-of-Code](https://hitsofcode.com/github/zhisme/lazy_names?branch=master)](https://hitsofcode.com/github/zhisme/lazy_names/view?branch=master)
5
+ [![codecov](https://codecov.io/gh/zhisme/lazy_names/graph/badge.svg?token=ZQXGBALJSK)](https://codecov.io/gh/zhisme/lazy_names)
6
+ ![GitHub License](https://img.shields.io/github/license/zhisme/lazy_names)
7
+
1
8
  # lazy_names
2
9
 
3
- LazyNames helps programmer to type faster very-long class names, constants by defining them on a shorter version.
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
  ![Lazy names in action](https://media.giphy.com/media/7CtRJfp2yocsOu9zEA/source.gif)
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
- RSpec::Core::RakeTask.new(:spec)
7
+ task default: %i[clean rubocop spec]
5
8
 
6
- task default: :spec
9
+ desc 'Run RuboCop'
10
+ RuboCop::RakeTask.new(:rubocop)
11
+
12
+ RSpec::Core::RakeTask.new(:spec)
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'bundler/setup'
4
5
  require 'lazy_names'
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.add_development_dependency 'bundler', '~> 1.16'
27
- spec.add_development_dependency 'pry', '~> 0.13'
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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module LazyNames
2
4
  class Config
3
5
  extend Forwardable
@@ -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'.freeze
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
- 'Create ~/.lazy_names.yml'
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
- 'See config example .lazy_names.tt.project.yml'
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
- 'See config example in .lazy_names.tt.yml'
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
- 'See config example in .lazy_names.tt.yml and check README'
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
- begin
27
- resolve_const_in_project(c)
28
- rescue NameError
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
 
@@ -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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module LazyNames
2
4
  class FindNamespace
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module LazyNames
2
4
  class Logger
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module LazyNames
2
- VERSION = '0.2.0'.freeze
4
+ VERSION = '1.0.0'
3
5
  end
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
- .(namespace: LazyNames::FindNamespace.())
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.2.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: 2024-02-19 00:00:00.000000000 Z
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.3.3
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
- rubyforge_project:
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