Class: Eco::API::Common::Loaders::CaseBase

Inherits:
Loaders::Base
  • Object
show all
Defined in:
lib/eco/api/common/loaders/case_base.rb

Direct Known Subclasses

ErrorHandler, Parser, Policy, UseCase

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.name(value = nil) ⇒ Object

The name that this case, policy or error handler will have.



12
13
14
15
16
17
18
19
# File 'lib/eco/api/common/loaders/case_base.rb', line 12

def name(value = nil)
  name_only_once!      if value
  set_created_at!      unless @name
  return original_name unless @name || value
  return @name         unless value

  @name = value
end

.type=(value) ⇒ Object (writeonly)

Sets the attribute type

Parameters:

  • value

    the value to set the attribute type to.



7
8
9
# File 'lib/eco/api/common/loaders/case_base.rb', line 7

def type=(value)
  @type = value
end

Class Method Details

.name_only_once!Object

Prevent the same class to be re-opened/re-named



22
23
24
25
26
27
28
# File 'lib/eco/api/common/loaders/case_base.rb', line 22

def name_only_once!
  return unless @name

  msg  = "You have already declared #{self} "
  msg << 'or you are trying to give it a name twice'
  raise msg if @name
end

.original_nameObject



9
# File 'lib/eco/api/common/loaders/case_base.rb', line 9

alias_method :original_name, :name

Instance Method Details

#nameObject

Instance Methods



33
34
35
# File 'lib/eco/api/common/loaders/case_base.rb', line 33

def name
  self.class.name
end