Class: MailControl::Definition

Inherits:
Object
  • Object
show all
Defined in:
lib/mail-control/definition.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(definition) ⇒ Definition

Returns a new instance of Definition.

Parameters:



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/mail-control/definition.rb', line 10

def initialize(definition)
  @name             = definition[:name]
  @actor            = definition[:actor]         || nil
  @act_object       = definition[:act_object]    || nil
  @act_target       = definition[:act_target]    || nil
  @grouped_actor    = definition[:grouped_actor] || nil
  @bond_type        = definition[:bond_type]     || nil
  @options          = definition[:options]       || []
  @unsubscribe_by = definition[:unsubscribe_by] || nil

end

Instance Attribute Details

#act_objectObject (readonly)

Returns the value of attribute act_object.



5
6
7
# File 'lib/mail-control/definition.rb', line 5

def act_object
  @act_object
end

#act_targetObject (readonly)

Returns the value of attribute act_target.



5
6
7
# File 'lib/mail-control/definition.rb', line 5

def act_target
  @act_target
end

#actorObject (readonly)

Returns the value of attribute actor.



5
6
7
# File 'lib/mail-control/definition.rb', line 5

def actor
  @actor
end

#bond_typeObject (readonly)

Returns the value of attribute bond_type.



5
6
7
# File 'lib/mail-control/definition.rb', line 5

def bond_type
  @bond_type
end

#grouped_actorObject (readonly)

Returns the value of attribute grouped_actor.



5
6
7
# File 'lib/mail-control/definition.rb', line 5

def grouped_actor
  @grouped_actor
end

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/mail-control/definition.rb', line 5

def name
  @name
end

#optionsObject (readonly)

Returns the value of attribute options.



5
6
7
# File 'lib/mail-control/definition.rb', line 5

def options
  @options
end

#unsubscribe_byObject (readonly)

Returns the value of attribute unsubscribe_by.



6
7
8
# File 'lib/mail-control/definition.rb', line 6

def unsubscribe_by
  @unsubscribe_by
end

Class Method Details

.find(name) ⇒ Object



40
41
42
43
44
45
46
# File 'lib/mail-control/definition.rb', line 40

def self.find(name)
  unless definition = registered.find{|definition| definition.name == name.to_sym}
    raise MailControl::InvalidLoggedEmail, "Could not find a definition for `#{name}`"
  else
    definition
  end
end

.register(definition) ⇒ Definition

Registers a new definition

Parameters:

  • definition (Definition)

    The definition to register

Returns:

  • (Definition)

    Returns the registered definition



27
28
29
30
31
32
# File 'lib/mail-control/definition.rb', line 27

def self.register(definition)
  return false unless definition.is_a? DefinitionDSL
  definition = new(definition)
  self.registered << definition
  return definition || false
end

.registeredArray<MailControl::Definition>

List of registered definitions

Returns:



36
37
38
# File 'lib/mail-control/definition.rb', line 36

def self.registered
  @definitions ||= []
end