fli_video 0.1.1 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2c7a6c05e77e2419355d0face10ceb668c380fd811cb6f8a950f4e33e5f14ad0
4
- data.tar.gz: be44ae3f44ce9370d6643b59d2429b47ce64a54fc2fc735a6e6e1f1286cd4a58
3
+ metadata.gz: 3e83ceea468e4b8d69338857651f88d29537aa6479b9ab561c6eeb1d5f589dad
4
+ data.tar.gz: 58019675fc035f63893a7d08a453f8ec4e66792b5aaabfe3a1e356d01e95364e
5
5
  SHA512:
6
- metadata.gz: 126713356dcb007247fd0425492555d06b5ea7e5c2e95b1c4363fb3d713b91219f50b6ea2e4515f4bf3b29756dd6d82961e1f91448816bcff7a759b208265063
7
- data.tar.gz: 92d109890b7c57b84b297bdf8cd8d08a62ebb924ea3f0dbccf3d1c1eb7c9310260d2e2b2a06f3fd0b1e63bb8b6aea50498f33cde304fba9d4db46138b0762e80
6
+ metadata.gz: 3bd5a0c830b3c980a18504760f76dc5f78532e96a8c9b6e02ecb369a0ac223bc2581f827960881d2ad3c164c4f60650b4b57542d5a99fa264ed0fe2f6f930797
7
+ data.tar.gz: 517d7ec5fda3eac665bdae685d05c186dabaeb9b63dc52d9c64fdc188855f0029ac6ccfda0fe8087b570f647a2728aac7327536bb1d085ea4cd25bbaa7edaf17
data/.rubocop.yml CHANGED
@@ -97,7 +97,11 @@ Layout/SpaceBeforeComma:
97
97
  RSpec/NestedGroups:
98
98
  Max: 5
99
99
 
100
- RSpec/FilePath:
100
+ RSpec/SpecFilePathFormat:
101
+ Exclude:
102
+ - "**/spec/**/*"
103
+
104
+ RSpec/SpecFilePathSuffix:
101
105
  Exclude:
102
106
  - "**/spec/**/*"
103
107
 
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## [0.1.2](https://github.com/klueless-io/fli_video/compare/v0.1.1...v0.1.2) (2024-11-30)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * cop rule update ([2572a7d](https://github.com/klueless-io/fli_video/commit/2572a7df36195d44579a77b3dc85112fa0ff4d5d))
7
+ * update with new project cli requirments ([0454744](https://github.com/klueless-io/fli_video/commit/0454744eb5d5e3d76271c763fc7b520babfc5556))
8
+
9
+ ## [0.1.1](https://github.com/klueless-io/fli_video/compare/v0.1.0...v0.1.1) (2024-05-20)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * update requirements ([0643756](https://github.com/klueless-io/fli_video/commit/0643756ab209ff9d084bcc32837f7783344b9286))
15
+
1
16
  # [0.1.0](https://github.com/klueless-io/fli_video/compare/v0.0.2...v0.1.0) (2023-12-24)
2
17
 
3
18
 
@@ -0,0 +1,184 @@
1
+ # Requirements Document for Project Management Tool
2
+
3
+ ## 1. Overview
4
+ This document outlines the requirements for a command-line tool and supporting backend system for creating, renaming, and managing projects across multiple business units. The tool uses sequential naming conventions and integrates with a web server API for centralized management. This system is designed for a single-user environment.
5
+
6
+ ## 2. Business Objectives
7
+ - Automate project creation, renaming, and listing for multiple business units.
8
+ - Maintain consistent naming conventions with sequential identifiers.
9
+ - Enforce folder structures based on project types.
10
+ - Separate business rules between local and server environments for scalability.
11
+
12
+ ## 3. Functional Requirements
13
+
14
+ ### 3.1 Command-Line Tool
15
+ The tool provides the following commands:
16
+
17
+ #### 3.1.1 Creating a New Project
18
+ **Command:**
19
+ ```
20
+ ad-project-new <business_unit> <project_type> "<project_name>"
21
+ ```
22
+ **Example:**
23
+ ```
24
+ ad-project-new appydave video "hello-world"
25
+ ```
26
+ **Expected Outcome:**
27
+ - Generates a new project folder.
28
+ - Assigns a sequential identifier, e.g., `a05-hello-world`.
29
+ - Logs the output:
30
+ ```yaml
31
+ Project created: a05-hello-world
32
+ ```
33
+
34
+ #### 3.1.2 Renaming a Project
35
+ **Command:**
36
+ ```
37
+ ad-project-rename <business_unit> <project_type> <project_id> "<new_project_name>"
38
+ ```
39
+ **Example:**
40
+ ```
41
+ ad-project-rename appydave video a05 "rails8"
42
+ ```
43
+ **Expected Outcome:**
44
+ - Updates the project folder name to `a05-rails8`.
45
+ - Logs the change:
46
+ ```yaml
47
+ Project renamed: a05-rails8
48
+ ```
49
+
50
+ #### 3.1.3 Listing Projects
51
+ **Command for all projects:**
52
+ ```
53
+ ad-project-list <business_unit> <project_type>
54
+ ```
55
+ **Command for last N projects:**
56
+ ```
57
+ ad-project-list <business_unit> <project_type> -l <number>
58
+ ```
59
+ **Examples:**
60
+
61
+ **All Projects:**
62
+ ```
63
+ ad-project-list appydave video
64
+ ```
65
+ **Output:**
66
+ ```css
67
+ a01-intro-video
68
+ a02-tutorial
69
+ a03-promo-video
70
+ ```
71
+
72
+ **Last 3 Projects:**
73
+ ```
74
+ ad-project-list appydave video -l 3
75
+ ```
76
+ **Output:**
77
+ ```css
78
+ a03-promo-video
79
+ a02-tutorial
80
+ a01-intro-video
81
+ ```
82
+
83
+ ## 4. Non-Functional Requirements
84
+ - Must work as a single-user tool on the local environment.
85
+ - The command-line tool will interact with the backend via RESTful APIs to ensure database consistency.
86
+
87
+ ## 5. Entities and Database Design
88
+
89
+ ### 5.1 Entities
90
+ - **Business Unit**: Represents channels like "AppyDave" or "AITLDR".
91
+ - **Project Type**: Defines types like "Video" or "Article".
92
+ - **Project**: Tracks individual projects, including name and sequential identifier.
93
+ - **Folder Structure**: Stores default folders for each project type.
94
+
95
+ ### 5.2 Entity Relationship Diagram (ERD)
96
+ **ERD Diagram Description:**
97
+ - **Business Unit** links to **Project** (one-to-many relationship).
98
+ - **Project Type** links to **Folder Structure** (one-to-one relationship).
99
+ - **Project** has attributes like ID, Name, and Type.
100
+
101
+ (An actual diagram would be helpful here; I can generate one if needed.)
102
+
103
+ ## 6. System Architecture
104
+
105
+ ### 6.1 Web Server
106
+ - Maintains the central database.
107
+ - Provides RESTful APIs:
108
+ - `POST /projects`: Create a new project.
109
+ - `PUT /projects/:id`: Rename a project.
110
+ - `GET /projects`: List projects.
111
+
112
+ ### 6.2 Command-Line Tool
113
+ - Acts as a local interface to execute commands.
114
+ - Interacts with the web server for updates and fetching data.
115
+
116
+ ## 7. Example API Interactions
117
+
118
+ ### 7.1 Create a New Project
119
+ **Request:**
120
+ ```
121
+ POST /projects
122
+ Content-Type: application/json
123
+
124
+ {
125
+ "business_unit": "appydave",
126
+ "project_type": "video",
127
+ "project_name": "hello-world"
128
+ }
129
+ ```
130
+ **Response:**
131
+ ```json
132
+ {
133
+ "status": "success",
134
+ "project_id": "a05",
135
+ "project_name": "a05-hello-world"
136
+ }
137
+ ```
138
+
139
+ ### 7.2 Rename a Project
140
+ **Request:**
141
+ ```
142
+ PUT /projects/a05
143
+ Content-Type: application/json
144
+
145
+ {
146
+ "new_name": "rails8"
147
+ }
148
+ ```
149
+ **Response:**
150
+ ```json
151
+ {
152
+ "status": "success",
153
+ "project_name": "a05-rails8"
154
+ }
155
+ ```
156
+
157
+ ### 7.3 List Projects
158
+ **Request:**
159
+ ```
160
+ GET /projects?business_unit=appydave&project_type=video&limit=3
161
+ ```
162
+ **Response:**
163
+ ```json
164
+ [
165
+ {
166
+ "id": "a03",
167
+ "name": "promo-video"
168
+ },
169
+ {
170
+ "id": "a02",
171
+ "name": "tutorial"
172
+ },
173
+ {
174
+ "id": "a01",
175
+ "name": "intro-video"
176
+ }
177
+ ]
178
+ ```
179
+
180
+ ## 8. Corrections and Finalized Decisions
181
+ - Sequential identifiers are three letters followed by a number (e.g., `a05`), followed by the project name.
182
+ - Output logs should always include the project identifier for user reference.
183
+ - Simplified to focus on a single-user environment.
184
+
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FliVideo
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.3'
5
5
  end
data/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "fli_video",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "fli_video",
9
- "version": "0.1.1",
9
+ "version": "0.1.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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fli_video",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "FliVideo - Video Asset Management for Content Creators",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fli_video
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.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-20 00:00:00.000000000 Z
11
+ date: 2024-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: k_log
@@ -77,6 +77,7 @@ files:
77
77
  - docs/generated/application-structure.json
78
78
  - docs/generated/features-and-components.md
79
79
  - docs/generated/technical-design-and-features.md
80
+ - docs/project-new.md
80
81
  - docs/technical-specifications.md
81
82
  - fli.rb
82
83
  - lib/fli_video.rb
@@ -96,8 +97,8 @@ licenses:
96
97
  - MIT
97
98
  metadata:
98
99
  homepage_uri: http://appydave.com/gems/fli_video
99
- source_code_uri: https://github.com/klueless-io/fli_video
100
- changelog_uri: https://github.com/klueless-io/fli_video/blob/main/CHANGELOG.md
100
+ source_code_uri: https://github.com/appydave/fli_video
101
+ changelog_uri: https://github.com/appydave/fli_video/blob/main/CHANGELOG.md
101
102
  rubygems_mfa_required: 'true'
102
103
  post_install_message:
103
104
  rdoc_options: []