Module: Ace::Idea::Atoms::IdeaFilePattern

Defined in:
lib/ace/idea/atoms/idea_file_pattern.rb

Overview

Provides glob patterns for finding idea spec files. Ideas use the .idea.s.md extension to distinguish from task .s.md files.

Constant Summary collapse

FILE_GLOB =

Glob pattern for idea spec files within a directory

"*.idea.s.md"
FILE_EXTENSION =

Full file extension for idea spec files

".idea.s.md"

Class Method Summary collapse

Class Method Details

.folder_name(id, slug) ⇒ String

Build the folder name for an idea

Parameters:

  • id (String)

    Raw 6-char b36ts ID

  • slug (String)

    Kebab-case slug

Returns:

  • (String)

    Folder name (e.g., “8ppq7w-dark-mode”)



27
28
29
# File 'lib/ace/idea/atoms/idea_file_pattern.rb', line 27

def self.folder_name(id, slug)
  "#{id}-#{slug}"
end

.idea_file?(filename) ⇒ Boolean

Check if a filename matches the idea spec pattern

Parameters:

  • filename (String)

    Filename to check

Returns:

  • (Boolean)

    True if it’s an idea spec file



34
35
36
# File 'lib/ace/idea/atoms/idea_file_pattern.rb', line 34

def self.idea_file?(filename)
  filename.to_s.end_with?(FILE_EXTENSION)
end

.spec_filename(id, slug) ⇒ String

Build the spec filename for an idea

Parameters:

  • id (String)

    Raw 6-char b36ts ID

  • slug (String)

    Kebab-case slug

Returns:

  • (String)

    Spec filename (e.g., “8ppq7w-dark-mode.idea.s.md”)



19
20
21
# File 'lib/ace/idea/atoms/idea_file_pattern.rb', line 19

def self.spec_filename(id, slug)
  "#{id}-#{slug}#{FILE_EXTENSION}"
end