Module: Todoist::StructCleanup

Included in:
Comment, Label, Project, Task
Defined in:
lib/todoist/struct_cleanup.rb

Instance Method Summary collapse

Instance Method Details

#fields_to_date_time(args, dt_fields) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/todoist/struct_cleanup.rb', line 3

def fields_to_date_time(args, dt_fields)
  dt_fields.each do |fld|
    if args[fld].present?
      begin
        text_value = args.delete(fld)
        args[fld.to_sym] = Time.parse(text_value).utc
      rescue ArgumentError
        args[fld.to_sym] = text_value
      end
    end
  end
end

#ignore_undefined_keys(args) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/todoist/struct_cleanup.rb', line 16

def ignore_undefined_keys(args)
  args[:jsw_ignored_keys] = []
  args.keys.each do |k|
    if !respond_to?(k)
      args.delete(k)
      args[:jsw_ignored_keys] << k
    end
  end
end

#properties_to_descObject



38
39
40
# File 'lib/todoist/struct_cleanup.rb', line 38

def properties_to_desc
  self.description = "```~~~begin_yaml~~~\n#{jsw_properties.to_yaml}~~~end_yaml~~~```"
end

#replace_keys(args, replacements) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/todoist/struct_cleanup.rb', line 26

def replace_keys(args, replacements)
  replacements.each do |old_key, new_key|
    if args.key?(old_key)
      args[new_key.to_sym] = args.delete(old_key)
    elsif args.key?(old_key.to_s)
      args[new_key.to_sym] = args.delete(old_key.to_s)
    elsif args.key?(old_key.to_sym)
      args[new_key.to_sym] = args.delete(old_key.to_sym)
    end
  end
end