Module: Taking

Defined in:
lib/taking.rb,
lib/taking/version.rb

Constant Summary collapse

MATCH_METHODS =
i(deconstruct deconstruct_keys)
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.can_deconstruct?(o) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/taking.rb', line 28

def self.can_deconstruct?(o)
  MATCH_METHODS.any? { o.respond_to?(_1) }
end

.from(lead = nil, *args, **kwargs) ⇒ Array[Any]

Unfolds Array arguments

Parameters:

  • *args (Array[Any])

Returns:

  • (Array[Any])


11
12
13
14
15
16
17
# File 'lib/taking.rb', line 11

def self.from(lead = nil, *args, **kwargs)
  if args.empty? && kwargs.empty?
    return can_deconstruct?(lead) ? lead : nil
  end

  kwargs.empty? ? [lead, *args] : kwargs
end

.from_kw(**args) ⇒ Hash[Any, Any]

Unfolds Keyword arguments

Parameters:

  • **args (Hash[Any, Any])

Returns:

  • (Hash[Any, Any])


26
# File 'lib/taking.rb', line 26

def self.from_kw(**args) = args

.from_list(*args) ⇒ Object



19
# File 'lib/taking.rb', line 19

def self.from_list(*args) = args