Method: Doing::Configuration#save_view

Defined in:
lib/doing/configuration.rb

#save_view(view, title) ⇒ Object

Save a set of options to the views configuration

Parameters:

  • view (Hash)

    view options

  • title (String)

    view title



370
371
372
373
374
375
376
377
378
379
380
381
382
383
# File 'lib/doing/configuration.rb', line 370

def save_view(view, title)
  title.downcase!
  default_template = Doing.setting('templates.default')
  user_config = Util.safe_load_file(config_file)
  user_config['views'] = {} unless user_config.key?('views')

  view.delete_if { |k, v| v == default_template[k] }

  user_config['views'][title] = view
  Util.write_to_file(config_file, YAML.dump(user_config), backup: true)
  Doing.logger.warn('Config:', %(View "#{title}" saved to #{config_file}))
  Doing.logger.info('Config:', %(to use, run `doing view #{title}`))
  Hooks.trigger :post_config, self
end