Class: Announce::Adapters::BaseAdapter::Destination

Inherits:
Object
  • Object
show all
Defined in:
lib/announce/adapters/base_adapter.rb

Direct Known Subclasses

Queue, Topic

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(subject, action, options = {}) ⇒ Destination

Returns a new instance of Destination.



69
70
71
72
73
# File 'lib/announce/adapters/base_adapter.rb', line 69

def initialize(subject, action, options = {})
  @subject = subject
  @action = action
  @options = options || {}
end

Instance Attribute Details

#actionObject

Returns the value of attribute action.



55
56
57
# File 'lib/announce/adapters/base_adapter.rb', line 55

def action
  @action
end

#optionsObject

Returns the value of attribute options.



55
56
57
# File 'lib/announce/adapters/base_adapter.rb', line 55

def options
  @options
end

#subjectObject

Returns the value of attribute subject.



55
56
57
# File 'lib/announce/adapters/base_adapter.rb', line 55

def subject
  @subject
end

Class Method Details

.appObject



87
88
89
# File 'lib/announce/adapters/base_adapter.rb', line 87

def self.app
  ::Announce.options[:app_name]
end

.delimiterObject



83
84
85
# File 'lib/announce/adapters/base_adapter.rb', line 83

def self.delimiter
  ::Announce.options[:queue_name_delimiter]
end

.name_for(subject, action) ⇒ Object



65
66
67
# File 'lib/announce/adapters/base_adapter.rb', line 65

def self.name_for(subject, action)
  [prefix, namespace, subject, action].join(delimiter)
end

.namespaceObject



91
92
93
# File 'lib/announce/adapters/base_adapter.rb', line 91

def self.namespace
  ::Announce.options[:namespace]
end

.prefixObject



79
80
81
# File 'lib/announce/adapters/base_adapter.rb', line 79

def self.prefix
  ::Announce.options[:queue_name_prefix]
end

Instance Method Details

#createObject

Raises:

  • (NotImplementedError)


61
62
63
# File 'lib/announce/adapters/base_adapter.rb', line 61

def create
  raise NotImplementedError.new("You must implement create.")
end

#name(subject = @subject, action = @action) ⇒ Object



75
76
77
# File 'lib/announce/adapters/base_adapter.rb', line 75

def name(subject = @subject, action = @action)
  self.class.name_for(subject, action)
end

#publish(message, options = {}) ⇒ Object

Raises:

  • (NotImplementedError)


57
58
59
# File 'lib/announce/adapters/base_adapter.rb', line 57

def publish(message, options = {})
  raise NotImplementedError.new("You must implement publish.")
end