Sha256: edf636b9e6a9bc8443e86542289e8ae3d1eca03234c75012ee01f77ca04c8b32
Contents?: true
Size: 1.12 KB
Versions: 7
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true require_relative './base' module Dude module Toggl class StartTimeEntry < Dude::Toggl::Base def call(task_title:, project:) @task_title = task_title @project = project start_time_entry print_message end private attr_reader :task_title, :project def start_time_entry toggl_api.post('/api/v8/time_entries/start', time_entry_params(task_title)) end def time_entry_params(title) { time_entry: { description: title, pid: project_id, created_with: 'dude' } }.to_json end def project_id projects_array.each do |arr| return arr.last if arr.first.eql?(project.downcase) end nil end def projects_array parsed_response.map { |a| [a['name'].downcase.gsub(/\s/, '-'), a['id']] } end def parsed_response JSON.parse(projects_response.body) end def print_message puts "Toggl task '#{task_title}' is started".colorize(:green) end end end end
Version data entries
7 entries across 7 versions & 1 rubygems