appydave-tools 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +0 -3
- data/CHANGELOG.md +8 -0
- data/lib/appydave/tools/configuration/channel_projects_config.rb +69 -0
- data/lib/appydave/tools/configuration/channels_config.rb +68 -0
- data/lib/appydave/tools/configuration/config_base.rb +5 -1
- data/lib/appydave/tools/version.rb +1 -1
- data/lib/appydave/tools.rb +2 -0
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 99c323bf20ff261cb8bc480f62755bd2bcf3329f71757336a860ae012519c756
|
|
4
|
+
data.tar.gz: 77adbb57ab140ae8edd305b99145d015e60bab9c66193ec221b02dd284619dfe
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f553305dd9de4407a078f6c3cb8a1aa73263ab96e7bfe534283b81dfa742ea7c65287480da31f03f549364ca5743b0b49ddffe277592b24b2df3541ff7da0713
|
|
7
|
+
data.tar.gz: c631a73481020791d0221dc997332f09163eabbdbf38e03dbfea8198d680ecbf45cf74f18b38df234feaefd530a498aeaac5a2ef29aa0a1fdc73aeb654fcbf68
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [0.3.2](https://github.com/klueless-io/appydave-tools/compare/v0.3.1...v0.3.2) (2024-05-16)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* updating settings configuration and tests ([18bdf2b](https://github.com/klueless-io/appydave-tools/commit/18bdf2bb2605f51a5779dfe649c40e98c2bd77ef))
|
|
7
|
+
* updating settings configuration and tests ([487ce36](https://github.com/klueless-io/appydave-tools/commit/487ce366b857ce38ed91b35e4b6cc15a8ef56d35))
|
|
8
|
+
|
|
1
9
|
## [0.3.1](https://github.com/klueless-io/appydave-tools/compare/v0.3.0...v0.3.1) (2024-05-16)
|
|
2
10
|
|
|
3
11
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appydave
|
|
4
|
+
module Tools
|
|
5
|
+
module Configuration
|
|
6
|
+
# Channel projects configuration
|
|
7
|
+
class ChannelProjectsConfig < ConfigBase
|
|
8
|
+
def initialize
|
|
9
|
+
super('channel_projects')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Retrieve channel information by channel name (string or symbol)
|
|
13
|
+
def get_channel_info(channel_name)
|
|
14
|
+
channel_name = channel_name.to_s
|
|
15
|
+
ChannelInfo.new(data['channel_projects'][channel_name] || default_channel_info)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Set channel information
|
|
19
|
+
def set_channel_info(channel_name, channel_info)
|
|
20
|
+
data['channel_projects'] ||= {}
|
|
21
|
+
data['channel_projects'][channel_name.to_s] = channel_info.to_h
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Retrieve a list of all channel projects
|
|
25
|
+
def channel_projects
|
|
26
|
+
data['channel_projects'].map do |_name, info|
|
|
27
|
+
ChannelInfo.new(info)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def default_data
|
|
34
|
+
{ 'channel_projects' => {} }
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def default_channel_info
|
|
38
|
+
{
|
|
39
|
+
'content_projects' => '',
|
|
40
|
+
'video_projects' => '',
|
|
41
|
+
'published_projects' => '',
|
|
42
|
+
'abandoned_projects' => ''
|
|
43
|
+
}
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Type-safe class to access channel info properties
|
|
47
|
+
class ChannelInfo
|
|
48
|
+
attr_accessor :content_projects, :video_projects, :published_projects, :abandoned_projects
|
|
49
|
+
|
|
50
|
+
def initialize(data)
|
|
51
|
+
@content_projects = data['content_projects']
|
|
52
|
+
@video_projects = data['video_projects']
|
|
53
|
+
@published_projects = data['published_projects']
|
|
54
|
+
@abandoned_projects = data['abandoned_projects']
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def to_h
|
|
58
|
+
{
|
|
59
|
+
'content_projects' => @content_projects,
|
|
60
|
+
'video_projects' => @video_projects,
|
|
61
|
+
'published_projects' => @published_projects,
|
|
62
|
+
'abandoned_projects' => @abandoned_projects
|
|
63
|
+
}
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appydave
|
|
4
|
+
module Tools
|
|
5
|
+
module Configuration
|
|
6
|
+
# Channels configuration
|
|
7
|
+
class ChannelsConfig < ConfigBase
|
|
8
|
+
def initialize
|
|
9
|
+
super('channels')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Retrieve channel information by channel code (string or symbol)
|
|
13
|
+
def get_channel(channel_key)
|
|
14
|
+
channel_key = channel_key.to_s
|
|
15
|
+
info = data['channels'][channel_key] || default_channel_info
|
|
16
|
+
ChannelInfo.new(channel_key, info)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Set channel information
|
|
20
|
+
def set_channel(channel_key, channel_info)
|
|
21
|
+
data['channels'] ||= {}
|
|
22
|
+
data['channels'][channel_key.to_s] = channel_info.to_h
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Retrieve a list of all channels
|
|
26
|
+
def channels
|
|
27
|
+
data['channels'].map do |key, info|
|
|
28
|
+
ChannelInfo.new(key, info)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
private
|
|
33
|
+
|
|
34
|
+
def default_data
|
|
35
|
+
{ 'channels' => {} }
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def default_channel_info
|
|
39
|
+
{
|
|
40
|
+
'code' => '',
|
|
41
|
+
'name' => '',
|
|
42
|
+
'youtube_handle' => ''
|
|
43
|
+
}
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Type-safe class to access channel properties
|
|
47
|
+
class ChannelInfo
|
|
48
|
+
attr_accessor :key, :code, :name, :youtube_handle
|
|
49
|
+
|
|
50
|
+
def initialize(key, data)
|
|
51
|
+
@key = key
|
|
52
|
+
@code = data['code']
|
|
53
|
+
@name = data['name']
|
|
54
|
+
@youtube_handle = data['youtube_handle']
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def to_h
|
|
58
|
+
{
|
|
59
|
+
'code' => @code,
|
|
60
|
+
'name' => @name,
|
|
61
|
+
'youtube_handle' => @youtube_handle
|
|
62
|
+
}
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
data/lib/appydave/tools.rb
CHANGED
|
@@ -12,6 +12,8 @@ require 'appydave/tools/gpt_context/file_collector'
|
|
|
12
12
|
require 'appydave/tools/configuration/config_base'
|
|
13
13
|
require 'appydave/tools/configuration/config'
|
|
14
14
|
require 'appydave/tools/configuration/settings_config'
|
|
15
|
+
require 'appydave/tools/configuration/channel_projects_config'
|
|
16
|
+
require 'appydave/tools/configuration/channels_config'
|
|
15
17
|
|
|
16
18
|
module Appydave
|
|
17
19
|
module Tools
|
data/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appydave-tools",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appydave-tools",
|
|
9
|
-
"version": "0.3.
|
|
9
|
+
"version": "0.3.3",
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
|
|
12
12
|
"@semantic-release/changelog": "^6.0.3",
|
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.3.
|
|
4
|
+
version: 0.3.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Cruwys
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-05-
|
|
11
|
+
date: 2024-05-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: clipboard
|
|
@@ -49,6 +49,8 @@ files:
|
|
|
49
49
|
- bin/setup
|
|
50
50
|
- lib/appydave/tools.rb
|
|
51
51
|
- lib/appydave/tools/configuration/_doc.md
|
|
52
|
+
- lib/appydave/tools/configuration/channel_projects_config.rb
|
|
53
|
+
- lib/appydave/tools/configuration/channels_config.rb
|
|
52
54
|
- lib/appydave/tools/configuration/config.rb
|
|
53
55
|
- lib/appydave/tools/configuration/config_base.rb
|
|
54
56
|
- lib/appydave/tools/configuration/settings_config copy.xrb
|