Class: Ace::Task::Atoms::TaskIdFormatter
- Inherits:
-
Object
- Object
- Ace::Task::Atoms::TaskIdFormatter
- Defined in:
- lib/ace/task/atoms/task_id_formatter.rb
Overview
Wraps ItemIdFormatter with the “.t.” type marker for tasks.
Constant Summary collapse
- TYPE_MARKER =
"t"
Class Method Summary collapse
-
.folder_name(formatted_id, slug) ⇒ String
Build folder name from formatted ID and slug.
-
.format(raw_b36ts) ⇒ Ace::Support::Items::Models::ItemId
Format an existing 6-char b36ts ID as a task ID.
-
.generate(time = Time.now.utc) ⇒ Ace::Support::Items::Models::ItemId
Generate a new task ID from current time.
-
.reconstruct(formatted_id) ⇒ String
Reconstruct raw b36ts from a formatted task ID.
-
.spec_filename(formatted_id, slug) ⇒ String
Build spec filename from formatted ID and slug.
Class Method Details
.folder_name(formatted_id, slug) ⇒ String
Build folder name from formatted ID and slug
47 48 49 |
# File 'lib/ace/task/atoms/task_id_formatter.rb', line 47 def self.folder_name(formatted_id, slug) Ace::Support::Items::Atoms::ItemIdFormatter.folder_name(formatted_id, slug) end |
.format(raw_b36ts) ⇒ Ace::Support::Items::Models::ItemId
Format an existing 6-char b36ts ID as a task ID
32 33 34 |
# File 'lib/ace/task/atoms/task_id_formatter.rb', line 32 def self.format(raw_b36ts) Ace::Support::Items::Atoms::ItemIdFormatter.split(raw_b36ts, type_marker: TYPE_MARKER) end |
.generate(time = Time.now.utc) ⇒ Ace::Support::Items::Models::ItemId
Generate a new task ID from current time
24 25 26 27 |
# File 'lib/ace/task/atoms/task_id_formatter.rb', line 24 def self.generate(time = Time.now.utc) raw = Ace::B36ts.encode(time, format: :"2sec") Ace::Support::Items::Atoms::ItemIdFormatter.split(raw, type_marker: TYPE_MARKER) end |
.reconstruct(formatted_id) ⇒ String
Reconstruct raw b36ts from a formatted task ID
39 40 41 |
# File 'lib/ace/task/atoms/task_id_formatter.rb', line 39 def self.reconstruct(formatted_id) Ace::Support::Items::Atoms::ItemIdFormatter.reconstruct(formatted_id) end |
.spec_filename(formatted_id, slug) ⇒ String
Build spec filename from formatted ID and slug
55 56 57 58 |
# File 'lib/ace/task/atoms/task_id_formatter.rb', line 55 def self.spec_filename(formatted_id, slug) base = folder_name(formatted_id, slug) "#{base}.s.md" end |