Class: ConvenientService::Core::Entities::Config::Entities::Concerns::Entities::Stack

Inherits:
Object
  • Object
show all
Defined in:
lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb

Instance Method Summary collapse

Constructor Details

#initialize(name: ) ⇒ void #initialize(plain_stack: ) ⇒ void

Returns a new instance of Stack.

Overloads:



20
21
22
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 20

def initialize(name: nil, plain_stack: nil)
  @plain_stack = plain_stack || Support::Middleware::StackBuilder.new(name: name)
end

Instance Method Details

#==(other) ⇒ Boolean?

Parameters:

Returns:

  • (Boolean, nil)


165
166
167
168
169
170
171
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 165

def ==(other)
  return unless other.instance_of?(self.class)

  return false if plain_stack != other.plain_stack

  true
end

#call(env) ⇒ Object

Calls stack. In other words, invokes all its middlewares.

Wraps ‘RubyMiddleware::Middleware::Builder#call`.

Parameters:

  • env (Hash)

Returns:

  • Value of the last middleware invocation in the stack.

See Also:



47
48
49
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 47

def call(env)
  plain_stack.call(env)
end

#delete(index_or_concern) ⇒ ConvenientService::Core::Entities::Config::Entities::Concerns::Entities::Stack



134
135
136
137
138
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 134

def delete(index_or_concern)
  plain_stack.delete(cast(index_or_concern))

  self
end

#dupConvenientService::Core::Entities::Config::Entities::MethodMiddlewares::Entities::Stack



34
35
36
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 34

def dup
  self.class.new(plain_stack: plain_stack.dup)
end

#empty?Boolean

Returns:

  • (Boolean)


157
158
159
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 157

def empty?
  to_a.empty?
end

#insert(index_or_concern, concern, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::Concerns::Entities::Stack Also known as: insert_before



60
61
62
63
64
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 60

def insert(index_or_concern, concern, *args, &block)
  plain_stack.insert(cast(index_or_concern), cast(concern), *args, &block)

  self
end

#insert_after(index_or_concern, concern, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::Concerns::Entities::Stack



81
82
83
84
85
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 81

def insert_after(index_or_concern, concern, *args, &block)
  plain_stack.insert_after(cast(index_or_concern), cast(concern), *args, &block)

  self
end

#insert_after_each(concern, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::Concerns::Entities::Stack



107
108
109
110
111
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 107

def insert_after_each(concern, *args, &block)
  plain_stack.insert_after_each(cast(concern), *args, &block)

  self
end

#insert_before_each(concern, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::Concerns::Entities::Stack



95
96
97
98
99
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 95

def insert_before_each(concern, *args, &block)
  plain_stack.insert_before_each(cast(concern), *args, &block)

  self
end

#nameString

Returns:

  • (String)


27
28
29
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 27

def name
  plain_stack.name
end

#replace(index_or_concern, concern, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::Concerns::Entities::Stack



122
123
124
125
126
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 122

def replace(index_or_concern, concern, *args, &block)
  plain_stack.replace(cast(index_or_concern), cast(concern), *args, &block)

  self
end

#to_aArray<ConvenientService::Core::Entities::Config::Entities::Concerns::Entities::Middleware>



176
177
178
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 176

def to_a
  plain_stack.to_a
end

#use(concern, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::Concerns::Entities::Stack



148
149
150
151
152
# File 'lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb', line 148

def use(concern, *args, &block)
  plain_stack.use(cast(concern), *args, &block)

  self
end