Class: ConvenientService::Utils::Array::LimitedPush

Inherits:
Support::Command show all
Defined in:
lib/convenient_service/utils/array/limited_push.rb

Defined Under Namespace

Modules: Constants

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Support::Command

[], call

Constructor Details

#initialize(array, object, limit: Constants::DEFAULT_LIMIT) ⇒ void

Parameters:



42
43
44
45
46
# File 'lib/convenient_service/utils/array/limited_push.rb', line 42

def initialize(array, object, limit: Constants::DEFAULT_LIMIT)
  @array = array
  @object = object
  @limit = limit
end

Instance Attribute Details

#arrayObject (readonly)

Returns the value of attribute array.



23
24
25
# File 'lib/convenient_service/utils/array/limited_push.rb', line 23

def array
  @array
end

#limitObject (readonly)

Returns the value of attribute limit.



35
36
37
# File 'lib/convenient_service/utils/array/limited_push.rb', line 35

def limit
  @limit
end

#objectObject (readonly)

Returns the value of attribute object.



29
30
31
# File 'lib/convenient_service/utils/array/limited_push.rb', line 29

def object
  @object
end

Instance Method Details

#callArray<Object>

Returns:



51
52
53
54
55
# File 'lib/convenient_service/utils/array/limited_push.rb', line 51

def call
  return array if array.size >= limit

  array.push(object)
end