class Screengem::DampenConfigurationGenerator
Knows how to generate the sample dampen configuration.
Constants
- DEFAULT_SLEEP
Seconds to sleep after executing a question or task.
Public Instance Methods
generate()
click to toggle source
# File lib/screengem/dampen_configuration_generator.rb, line 11 def generate configuration = empty_configuration default_configuration = configuration["default"] default_configuration["questions"] = all_questions default_configuration["tasks"] = all_tasks configuration end
Private Instance Methods
all_primitives(primitive_root)
click to toggle source
# File lib/screengem/dampen_configuration_generator.rb, line 41 def all_primitives(primitive_root) sorted_descendents(primitive_root).each_with_object({}) do |primitive_class, memo| next unless apply_dampening?(primitive_class) memo[primitive_key(primitive_class.name)] = DEFAULT_SLEEP end end
all_questions()
click to toggle source
# File lib/screengem/dampen_configuration_generator.rb, line 33 def all_questions all_primitives(Screengem::Question) end
all_tasks()
click to toggle source
# File lib/screengem/dampen_configuration_generator.rb, line 37 def all_tasks all_primitives(Screengem::Task) end
apply_dampening?(primitive_class)
click to toggle source
# File lib/screengem/dampen_configuration_generator.rb, line 53 def apply_dampening?(primitive_class) primitive_class.supports_dampening? && primitive_class.descendants.empty? end
empty_configuration()
click to toggle source
# File lib/screengem/dampen_configuration_generator.rb, line 24 def empty_configuration { "default" => { "questions" => {}, "tasks" => {} } } end
sorted_descendents(primitive_root)
click to toggle source
# File lib/screengem/dampen_configuration_generator.rb, line 49 def sorted_descendents(primitive_root) primitive_root.descendants.sort_by { |primitive_class| primitive_key(primitive_class.name) } end