Module: Todoist::StructCleanup
Instance Method Summary collapse
- #fields_to_date_time(args, dt_fields) ⇒ Object
- #ignore_undefined_keys(args) ⇒ Object
- #properties_to_desc ⇒ Object
- #replace_keys(args, replacements) ⇒ Object
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_desc ⇒ Object
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 |