appydave-tools 0.86.1 → 0.86.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/appydave/tools/dam/project_listing.rb +2 -2
- data/lib/appydave/tools/jump/location.rb +34 -2
- data/lib/appydave/tools/version.rb +1 -1
- data/package.json +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3be4f6a81f4b071dd4b4577f7dde963c256a1509fdb5fcd782cfb993c31a47b5
|
|
4
|
+
data.tar.gz: 39453b87b52000cc4e0f807eb4429b69ea46475c680d79ca8def692993a7199e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 223e8bdd5930609768a807acc9527f186b5630ed98cf1dd4f1e017cc64cbb14deee3227da00e95b12e5040f7e8b239dba23378de0b3142159859aa03f8db2497
|
|
7
|
+
data.tar.gz: a513af58e2ceab2e672c136a2e31909090b6dca2e54128ab763b59a605b6779fa3895919cc62647c3e2311832d2a2ed57fa7bb535a5636fe3342cd9d40493cf9
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [0.86.1](https://github.com/appydave/appydave-tools/compare/v0.86.0...v0.86.1) (2026-06-09)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* ci: bump pnpm/action-setup to v6 and actions/cache to v5 (Node 24) ([25a7df3](https://github.com/appydave/appydave-tools/commit/25a7df315db36eb9f7930c1ee3a678a1127e00ef))
|
|
7
|
+
|
|
1
8
|
# [0.86.0](https://github.com/appydave/appydave-tools/compare/v0.85.0...v0.86.0) (2026-06-09)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -420,10 +420,10 @@ module Appydave
|
|
|
420
420
|
|
|
421
421
|
# Get shortcut, key, and name with fallbacks
|
|
422
422
|
shortcut = brand_info.shortcut&.strip
|
|
423
|
-
shortcut = nil if shortcut
|
|
423
|
+
shortcut = nil if shortcut.to_s.empty?
|
|
424
424
|
key = brand_info.key
|
|
425
425
|
name = brand_info.name&.strip
|
|
426
|
-
name = nil if name
|
|
426
|
+
name = nil if name.to_s.empty?
|
|
427
427
|
|
|
428
428
|
# Get git status
|
|
429
429
|
git_status = calculate_git_status(brand_path)
|
|
@@ -15,12 +15,18 @@ module Appydave
|
|
|
15
15
|
# tags: ['ruby', 'cli'],
|
|
16
16
|
# description: 'AppyDave CLI tools'
|
|
17
17
|
# )
|
|
18
|
+
#
|
|
19
|
+
# @note `git_remote` is TRI-STATE and #to_h preserves all three cases:
|
|
20
|
+
# a URL string (has a remote), an explicit nil (a git repo with no
|
|
21
|
+
# remote backup), and the key being absent entirely (not a git repo).
|
|
22
|
+
# Do not collapse nil into absent — they mean different things.
|
|
18
23
|
class Location
|
|
19
24
|
VALID_KEY_PATTERN = /\A[a-z0-9][a-z0-9-]*[a-z0-9]\z|\A[a-z0-9]\z/.freeze
|
|
20
25
|
VALID_PATH_PATTERN = %r{\A[~/]}.freeze
|
|
21
26
|
VALID_TAG_PATTERN = /\A[a-z0-9][a-z0-9-]*[a-z0-9]\z|\A[a-z0-9]\z/.freeze
|
|
22
27
|
|
|
23
|
-
attr_reader :key, :path, :jump, :brand, :client, :type, :
|
|
28
|
+
attr_reader :key, :path, :jump, :brand, :client, :type, :status, :tags,
|
|
29
|
+
:description, :git_remote, :context, :notes
|
|
24
30
|
|
|
25
31
|
def initialize(attrs = {})
|
|
26
32
|
attrs = normalize_attrs(attrs)
|
|
@@ -31,8 +37,22 @@ module Appydave
|
|
|
31
37
|
@brand = attrs[:brand]
|
|
32
38
|
@client = attrs[:client]
|
|
33
39
|
@type = attrs[:type]
|
|
40
|
+
@status = attrs[:status]
|
|
34
41
|
@tags = Array(attrs[:tags])
|
|
35
42
|
@description = attrs[:description]
|
|
43
|
+
@git_remote = attrs[:git_remote]
|
|
44
|
+
@context = attrs[:context]
|
|
45
|
+
@notes = attrs[:notes]
|
|
46
|
+
|
|
47
|
+
# git_remote distinguishes "explicit nil" from "not supplied"
|
|
48
|
+
@git_remote_given = attrs.key?(:git_remote)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Was git_remote supplied at all (even as nil)?
|
|
52
|
+
#
|
|
53
|
+
# @return [Boolean]
|
|
54
|
+
def git_remote_given?
|
|
55
|
+
@git_remote_given
|
|
36
56
|
end
|
|
37
57
|
|
|
38
58
|
# Validate the location
|
|
@@ -57,18 +77,30 @@ module Appydave
|
|
|
57
77
|
|
|
58
78
|
# Convert to hash for JSON serialization
|
|
59
79
|
#
|
|
80
|
+
# Key order matches the on-disk locations.json convention so round-tripping
|
|
81
|
+
# an entry produces a minimal diff.
|
|
82
|
+
#
|
|
60
83
|
# @return [Hash]
|
|
61
84
|
def to_h
|
|
62
|
-
{
|
|
85
|
+
hash = {
|
|
63
86
|
key: key,
|
|
64
87
|
path: path,
|
|
65
88
|
jump: jump,
|
|
66
89
|
brand: brand,
|
|
67
90
|
client: client,
|
|
68
91
|
type: type,
|
|
92
|
+
status: status,
|
|
69
93
|
tags: tags,
|
|
70
94
|
description: description
|
|
71
95
|
}.compact
|
|
96
|
+
|
|
97
|
+
# Preserve the tri-state: an explicit nil means "git repo, no remote"
|
|
98
|
+
# and must survive; an absent key means "not a git repo".
|
|
99
|
+
hash[:git_remote] = git_remote if git_remote_given?
|
|
100
|
+
|
|
101
|
+
hash[:context] = context if context
|
|
102
|
+
hash[:notes] = notes if notes
|
|
103
|
+
hash
|
|
72
104
|
end
|
|
73
105
|
|
|
74
106
|
# Get all searchable text for this location
|
data/package.json
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: appydave-tools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.86.
|
|
4
|
+
version: 0.86.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Cruwys
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-07-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activemodel
|