Method: Runo::Set#item

Defined in:
lib/set/_set.rb

#item(*item_steps) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/set/_set.rb', line 32

def item(*item_steps)
  item_steps = item_steps.first if item_steps.first.is_a? ::Array
  return self if item_steps.empty?

  id, *item_steps = item_steps

  if id.is_a?(::String) && child = collect_item(:id => id).first
    item = item_steps.empty? ? child : child.item(*item_steps)
    block_given? ? yield(item) : item
  end
end