Class: ConvenientService::Core::Entities::Config::Entities::MethodMiddlewares::Entities::Stack

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

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Stack.

Overloads:



24
25
26
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 24

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)


221
222
223
224
225
226
227
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 221

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

  return false if plain_stack != other.plain_stack

  true
end

#call(env) ⇒ Object

Returns Can be any type.

Parameters:

  • env (Hash)

Returns:

  • (Object)

    Can be any type.

See Also:



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

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

#delete(index_or_middleware) ⇒ ConvenientService::Core::Entities::Config::Entities::MethodMiddlewares::Entities::Stack Also known as: remove



154
155
156
157
158
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 154

def delete(index_or_middleware)
  plain_stack.delete(index_or_middleware)

  self
end

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



38
39
40
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 38

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

#empty?Boolean

Returns:

  • (Boolean)


213
214
215
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 213

def empty?
  to_a.empty?
end

#insert(index_or_middleware, middleware, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::MethodMiddlewares::Entities::Stack Also known as: insert_before



78
79
80
81
82
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 78

def insert(index_or_middleware, middleware, *args, &block)
  plain_stack.insert(index_or_middleware, middleware, *args, &block)

  self
end

#insert_after(index_or_middleware, middleware, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::MethodMiddlewares::Entities::Stack



99
100
101
102
103
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 99

def insert_after(index_or_middleware, middleware, *args, &block)
  plain_stack.insert_after(index_or_middleware, middleware, *args, &block)

  self
end

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



127
128
129
130
131
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 127

def insert_after_each(middleware, *args, &block)
  plain_stack.insert_after_each(middleware, *args, &block)

  self
end

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



113
114
115
116
117
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 113

def insert_before_each(middleware, *args, &block)
  plain_stack.insert_before_each(middleware, *args, &block)

  self
end

#nameString

Returns:

  • (String)


31
32
33
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 31

def name
  plain_stack.name
end

#observe(middleware, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::MethodMiddlewares::Entities::Stack

Note:

‘observe` exists only for testing purposes. Do NOT use it in production code.



190
191
192
193
194
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 190

def observe(middleware, *args, &block)
  plain_stack.replace(middleware, middleware.observable, *args, &block)

  self
end

#replace(index_or_middleware, middleware, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::MethodMiddlewares::Entities::Stack



142
143
144
145
146
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 142

def replace(index_or_middleware, middleware, *args, &block)
  plain_stack.replace(index_or_middleware, middleware, *args, &block)

  self
end

#to_aArray<ConvenientService::Core::Entities::Config::Entities::MethodMiddlewares::Entities::Middlewares::Base>



232
233
234
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 232

def to_a
  plain_stack.to_a
end

#unshift(middleware, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::MethodMiddlewares::Entities::Stack Also known as: prepend



58
59
60
61
62
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 58

def unshift(middleware, *args, &block)
  plain_stack.unshift(middleware, *args, &block)

  self
end

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



173
174
175
176
177
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 173

def use(middleware, *args, &block)
  plain_stack.use(middleware, *args, &block)

  self
end

#use_and_observe(middleware, *args, &block) ⇒ ConvenientService::Core::Entities::Config::Entities::MethodMiddlewares::Entities::Stack

Note:

‘use_and_observe` exists only for testing purposes. Do NOT use it in production code.



204
205
206
207
208
# File 'lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb', line 204

def use_and_observe(middleware, *args, &block)
  plain_stack.use(middleware.observable, *args, &block)

  self
end