Module: RubyTodo::AIAssistant::ParamExtractor
- Included in:
- CommandProcessor, RubyTodo::AIAssistantCommand
- Defined in:
- lib/ruby_todo/ai_assistant/param_extractor.rb
Overview
Helper module for parameter extraction
Instance Method Summary collapse
-
#extract_description_param(params, cli_args) ⇒ Object
Helper to extract description parameter.
-
#extract_due_date_param(params, cli_args) ⇒ Object
Helper to extract due date parameter.
-
#extract_tags_param(params, cli_args) ⇒ Object
Helper to extract tags parameter.
-
#extract_task_params(params, cli_args) ⇒ Object
Helper method to extract task parameters.
Instance Method Details
#extract_description_param(params, cli_args) ⇒ Object
Helper to extract description parameter
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/ruby_todo/ai_assistant/param_extractor.rb', line 25 def extract_description_param(params, cli_args) case params when /--description\s+"([^"]+)"/ cli_args.push("--description", Regexp.last_match(1)) # Using a different approach to avoid duplicate branch when /--description\s+'([^']+)'/ desc = params.match(/--description\s+'([^']+)'/)[1] cli_args.push("--description", desc) # Handle description without quotes when /--description\s+([^-\s][^-]*?)(?:\s+--|$)/ cli_args.push("--description", Regexp.last_match(1).strip) end end |
#extract_due_date_param(params, cli_args) ⇒ Object
Helper to extract due date parameter
54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/ruby_todo/ai_assistant/param_extractor.rb', line 54 def extract_due_date_param(params, cli_args) case params when /--due_date\s+"([^"]+)"/ cli_args.push("--due_date", Regexp.last_match(1)) # Using a different approach to avoid duplicate branch when /--due_date\s+'([^']+)'/ due_date = params.match(/--due_date\s+'([^']+)'/)[1] cli_args.push("--due_date", due_date) when /--due_date\s+([^-\s][^-]*)/ cli_args.push("--due_date", Regexp.last_match(1).strip) end end |
#extract_tags_param(params, cli_args) ⇒ Object
Helper to extract tags parameter
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/ruby_todo/ai_assistant/param_extractor.rb', line 40 def (params, cli_args) case params when /--tags\s+"([^"]+)"/ cli_args.push("--tags", Regexp.last_match(1)) # Using a different approach to avoid duplicate branch when /--tags\s+'([^']+)'/ = params.match(/--tags\s+'([^']+)'/)[1] cli_args.push("--tags", ) when /--tags\s+([^-\s][^-]*)/ cli_args.push("--tags", Regexp.last_match(1).strip) end end |
#extract_task_params(params, cli_args) ⇒ Object
Helper method to extract task parameters
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/ruby_todo/ai_assistant/param_extractor.rb', line 8 def extract_task_params(params, cli_args) # Description extract_description_param(params, cli_args) # Priority if params =~ /--priority\s+(\w+)/ cli_args.push("--priority", Regexp.last_match(1)) end # Tags (params, cli_args) # Due date extract_due_date_param(params, cli_args) end |