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
- .can_deconstruct?(o) ⇒ Boolean
-
.from(lead = nil, *args, **kwargs) ⇒ Array[Any]
Unfolds Array arguments.
-
.from_kw(**args) ⇒ Hash[Any, Any]
Unfolds Keyword arguments.
- .from_list(*args) ⇒ Object
Class Method Details
.can_deconstruct?(o) ⇒ 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
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
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 |