module Announcer::Publishers
Public Instance Methods
_load_for_instance(instance, publishers)
click to toggle source
# File lib/announcer/publishers.rb, line 22 def _load_for_instance(instance, publishers) publishers.map { |publisher| _load_with_args(publisher, instance) } end
_load_from_proc(publisher_proc)
click to toggle source
# File lib/announcer/publishers.rb, line 50 def _load_from_proc(publisher_proc) ProcPublisher.new(&publisher_proc) end
_load_from_string(publisher_name)
click to toggle source
# File lib/announcer/publishers.rb, line 44 def _load_from_string(publisher_name) const_get((publisher_name.split('_').map(&:capitalize) + ['Publisher']).join) rescue NameError raise Errors::InvalidPublisherNameError, publisher_name end
_load_with_args(publisher, *args)
click to toggle source
# File lib/announcer/publishers.rb, line 26 def _load_with_args(publisher, *args) case publisher when Array _load_with_args(publisher[0], *(args + publisher[1..-1])) else load(publisher).new(*args) end end
load(publisher)
click to toggle source
# File lib/announcer/publishers.rb, line 35 def load(publisher) case publisher when String, Symbol then _load_from_string(publisher.to_s) when Proc then _load_from_proc(publisher) when Publisher then publisher else raise Errors::InvalidPublisherError, publisher.inspect end end
load_for_instance(instance)
click to toggle source
# File lib/announcer/publishers.rb, line 17 def load_for_instance(instance) config = instance.config config.publish_to? ? _load_for_instance(instance, config.publish_to) : [] end