module Trollme::Topic
Attributes
topic[R]
yaml[R]
Private Class Methods
defaults(topic)
click to toggle source
# File lib/trollme/topic.rb, line 16 def defaults(topic) @yaml = YAML.load_file(topics_path) @topic = downcase_topic(topic) end
downcase_topic(topic)
click to toggle source
# File lib/trollme/topic.rb, line 21 def downcase_topic(topic) topic.downcase if topic end
picture_from_topic(topic)
click to toggle source
# File lib/trollme/topic.rb, line 37 def picture_from_topic(topic) yaml[topic].sample end
random_topic()
click to toggle source
# File lib/trollme/topic.rb, line 33 def random_topic picture_from_topic(yaml.keys.sample) end
topic_is_in_list_and_present(topic)
click to toggle source
# File lib/trollme/topic.rb, line 29 def topic_is_in_list_and_present(topic) topic && yaml.key?(topic) end
topics_path()
click to toggle source
# File lib/trollme/topic.rb, line 25 def topics_path File.expand_path(File.join(__dir__, '..', 'external', 'topics.yml')) end
Public Instance Methods
call(topic)
click to toggle source
# File lib/trollme/topic.rb, line 7 def call(topic) defaults(topic) return random_topic unless topic_is_in_list_and_present(topic) picture_from_topic(topic) end