import_from 0.1.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 +7 -0
- data/.claude/commands/document.md +105 -0
- data/.claude/commands/gemfile/update.md +52 -0
- data/.claude/commands/test.md +561 -0
- data/.claude/docs/yard.md +602 -0
- data/.claude/settings.local.json +16 -0
- data/.editorconfig +11 -0
- data/.env +1 -0
- data/.overcommit.yml +31 -0
- data/.rspec +3 -0
- data/.rubocop.yml +77 -0
- data/.yardstick.yml +22 -0
- data/AGENTS.md +157 -0
- data/CHANGELOG.md +14 -0
- data/CLAUDE.md +1 -0
- data/CODE_OF_CONDUCT.md +10 -0
- data/Guardfile +23 -0
- data/LICENSE.txt +21 -0
- data/README.md +129 -0
- data/Rakefile +97 -0
- data/Steepfile +7 -0
- data/docs/ruby-box.md +361 -0
- data/docs/todo.md +42 -0
- data/examples/Gemfile +5 -0
- data/examples/Gemfile.lock +26 -0
- data/examples/README.md +15 -0
- data/examples/from_x_import_star.rb +11 -0
- data/examples/from_x_import_star_as_y.rb +11 -0
- data/examples/from_x_import_y.rb +11 -0
- data/examples/from_x_import_y_as_z.rb +11 -0
- data/examples/from_x_y_import_a.rb +11 -0
- data/examples/from_x_y_import_a_as_b.rb +11 -0
- data/examples/import_x.rb +11 -0
- data/examples/import_x_as_y.rb +11 -0
- data/examples/import_x_as_y_scoped.rb +13 -0
- data/examples/import_x_y_z.rb +11 -0
- data/lib/import_from/core_ext/kernel.rb +114 -0
- data/lib/import_from/version.rb +5 -0
- data/lib/import_from.rb +10 -0
- data/mise.toml +2 -0
- data/sig/import_from.rbs +4 -0
- metadata +86 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 777b908c81a5507f9af5c24b5eec7502fc52297e33ad931f9b2ad79df07b035b
|
|
4
|
+
data.tar.gz: da800d07e43cd948f8586d01c89fda200fcad7c439449a9e04ce31ec8dc2a0ec
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 87e839ff2eb2a7dc29415bf320c00e5f7e2818ba52b0fb8bad8c5f5110bf876d871f531827f0264533ad3bea55c6fd4b4dcd55193158416451013ae1f115ab3a
|
|
7
|
+
data.tar.gz: fb8c4d83b55f00f7d68300ab2fb9a4a8d6c2965d93e1513fac27f07be4d94294a0d7112e83074056b9de460b77762ce1cad6d55363c57c4da676a818b0dd72dc
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Document
|
|
2
|
+
|
|
3
|
+
Generates documentation for Ruby code using YARD with 100% coverage enforcement.
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
Generate documentation:
|
|
8
|
+
```bash
|
|
9
|
+
bundle exec rake yard
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Format YARD comments:
|
|
13
|
+
```bash
|
|
14
|
+
bundle exec rake yard:format
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Verify 100% documentation coverage:
|
|
18
|
+
```bash
|
|
19
|
+
bundle exec rake verify_measurements
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Check for documentation quality issues:
|
|
23
|
+
```bash
|
|
24
|
+
bundle exec rake yard:junk
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Generate coverage report:
|
|
28
|
+
```bash
|
|
29
|
+
bundle exec rake yardstick_measure
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Configuration
|
|
33
|
+
|
|
34
|
+
Requires `.yardstick.yml` in project root with 100% threshold:
|
|
35
|
+
```yaml
|
|
36
|
+
threshold: 100
|
|
37
|
+
rules:
|
|
38
|
+
ApiTag::Presence: { enabled: true }
|
|
39
|
+
ApiTag::Inclusion: { enabled: true }
|
|
40
|
+
ApiTag::ProtectedMethod: { enabled: true }
|
|
41
|
+
ApiTag::PrivateMethod: { enabled: true }
|
|
42
|
+
ExampleTag: { enabled: true }
|
|
43
|
+
ReturnTag: { enabled: true }
|
|
44
|
+
Summary::Presence: { enabled: true }
|
|
45
|
+
Summary::Delimiter: { enabled: true }
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Coverage Report
|
|
49
|
+
|
|
50
|
+
After running measurement, check detailed line-by-line issues:
|
|
51
|
+
```bash
|
|
52
|
+
cat measurements/report.txt
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Report shows specific file, line number, method, and documentation issues that need fixing.
|
|
56
|
+
|
|
57
|
+
## Documentation Standards
|
|
58
|
+
|
|
59
|
+
### Required Tags
|
|
60
|
+
- Every public/private method, class, and module requires `@api public` or `@api private`
|
|
61
|
+
- All parameters: `@param name [Type] Description`
|
|
62
|
+
- All returns: `@return [Type] Description` (use `[void]` if no return)
|
|
63
|
+
- Examples required for all public methods: `@example Description`
|
|
64
|
+
- Error conditions: `@raise [ExceptionClass] When this occurs`
|
|
65
|
+
|
|
66
|
+
### Type Notation
|
|
67
|
+
- Use `String` not `string`
|
|
68
|
+
- Arrays: `Array<String>` for string arrays
|
|
69
|
+
- Hashes: `Hash{String=>Object}` for hash types
|
|
70
|
+
- Use `Boolean` not `bool`, `Integer` not `int`
|
|
71
|
+
- Nullable types: `String, nil` or `String|nil`
|
|
72
|
+
|
|
73
|
+
### Formatting Rules
|
|
74
|
+
- Blank lines required between YARD tag groups
|
|
75
|
+
- Exception: `@param` and `@option` tags can be grouped together
|
|
76
|
+
- Wrap class/method names in `+` markers: `+PrivateKey+`
|
|
77
|
+
- Cross-reference related methods: `@see #other_method`
|
|
78
|
+
|
|
79
|
+
### Documentation Structure
|
|
80
|
+
```ruby
|
|
81
|
+
# Brief one-line summary ending with period.
|
|
82
|
+
#
|
|
83
|
+
# @api public
|
|
84
|
+
#
|
|
85
|
+
# @example Description of example
|
|
86
|
+
# code_example
|
|
87
|
+
# result # => expected_output
|
|
88
|
+
#
|
|
89
|
+
# @param name [Type] Description
|
|
90
|
+
# @param other [Type] Other description
|
|
91
|
+
#
|
|
92
|
+
# @return [Type] Description
|
|
93
|
+
#
|
|
94
|
+
# @raise [ExceptionClass] When this exception occurs
|
|
95
|
+
#
|
|
96
|
+
def method_name
|
|
97
|
+
end
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Integration
|
|
101
|
+
|
|
102
|
+
Documentation verification is included in the quality assurance pipeline:
|
|
103
|
+
```bash
|
|
104
|
+
bundle exec rake qa
|
|
105
|
+
```
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash(bundle :*), Bash(git :*), Read, Edit, MultiEdit, Glob
|
|
3
|
+
description: Update Gemfile dependencies to latest minor versions
|
|
4
|
+
argument-hint: [gemfile] [commit]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Update the dependencies in the specified Gemfile (or ./Gemfile if no path provided) to their latest minor versions while
|
|
8
|
+
preserving major version constraints. Only update MAJOR.MINOR versions, never PATCH versions unless explicitly needed.
|
|
9
|
+
|
|
10
|
+
Steps:
|
|
11
|
+
1. Read the Gemfile at the specified path (or ./Gemfile if $ARGUMENTS is empty)
|
|
12
|
+
2. Read the corresponding Gemfile.lock to get current resolved versions
|
|
13
|
+
3. Run `bundle outdated --only-explicit` to check for available minor updates of explicitly declared gems
|
|
14
|
+
4. For each gem in Gemfile, check if Gemfile.lock has a newer minor version than the current Gemfile constraint allows
|
|
15
|
+
5. Update gem version constraints to match the minor version from Gemfile.lock or latest available, whichever is newer (MAJOR.MINOR format)
|
|
16
|
+
6. Use pessimistic version constraints (~> MAJOR.MINOR) to prevent automatic patch updates
|
|
17
|
+
7. Preserve any existing version operators but ensure they follow minor-only update strategy
|
|
18
|
+
8. Run `bundle update` to apply the changes
|
|
19
|
+
7. Skip step 8, 9 and 10 if --commit flag is not provided
|
|
20
|
+
8. Stage Gemfile (only if not gitignored)
|
|
21
|
+
9. Verify if Gemfile.lock is tracked and not gitignored. If both conditions are met, stage it for commit.
|
|
22
|
+
10. Create a git commit with message 'Update development dependencies' and a description listing all updated gems with their old and new versions like:
|
|
23
|
+
|
|
24
|
+
<commit-message>
|
|
25
|
+
Updated gems:
|
|
26
|
+
- rubocop: 1.75.2 → 1.78.0
|
|
27
|
+
- rubocop-yard: 0.10.0 → 1.0.0
|
|
28
|
+
</commit-message>
|
|
29
|
+
|
|
30
|
+
11. If any dependencies were updated, respond only with the update message. And if the user has chose to commit,
|
|
31
|
+
include the update commit message. Otherwise, respond only with the no op message.
|
|
32
|
+
|
|
33
|
+
<update-message>
|
|
34
|
+
Updated gems:
|
|
35
|
+
- rbs: 3.8 → 3.9
|
|
36
|
+
- rubocop: 1.78 → 1.80
|
|
37
|
+
- rubocop-rspec: 3.6 → 3.7
|
|
38
|
+
|
|
39
|
+
<update-commit-message>The changes have been committed with the message "Update development dependencies".</update-commit-message>
|
|
40
|
+
</update-message>
|
|
41
|
+
|
|
42
|
+
<no-op-message>All dependencies are up to date.</no-op-message>
|
|
43
|
+
|
|
44
|
+
Key bundle outdated flags used:
|
|
45
|
+
- `--only-explicit`: Only show gems explicitly listed in Gemfile (not dependencies)
|
|
46
|
+
- No `--local` flag to ensure remote gem sources are checked for latest versions
|
|
47
|
+
|
|
48
|
+
Arguments:
|
|
49
|
+
- `gemfile`: Gemfile path (defaults to ./Gemfile if not provided)
|
|
50
|
+
- `--commit`: Create a git commit after updating dependencies with message 'Update development dependencies' and a description listing all updated gems with their old and new versions
|
|
51
|
+
|
|
52
|
+
Gemfile path: ${ARGUMENTS:-./Gemfile}
|