Class: YARD::Handlers::Ruby::ValuesHandler

Inherits:
Base
  • Object
show all
Defined in:
lib/yard-value-1.0.rb

Instance Method Summary collapse

Instance Method Details

#ancestor(name) ⇒ Object



43
44
45
46
# File 'lib/yard-value-1.0.rb', line 43

def ancestor(name)
  modul = Proxy.new(:root, name).tap{ |m| m.type = :module }
  namespace.mixins(scope).unshift(modul) unless namespace.mixins(scope).include? modul
end

#define(name, parameters, docstring = nil, visibility = :public) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/yard-value-1.0.rb', line 48

def define(name, parameters, docstring = nil, visibility = :public)
  YARD::CodeObjects::MethodObject.new(namespace, name).tap{ |m|
    m.parameters = parameters
    register_file_info m
    register_source m
    register_visibility m, visibility
    register_docstring m, docstring
    register_group m
    register_module_function m
    m.parameters = parameters
    m.signature = 'def %s%s' %
      [name,
       parameters.empty? ?
         '' :
         '(%s)' % parameters.map{ |n, d| d ? '%s = %s' % [n, d] : n }.join(', ')]
    m.dynamic = true
  }
end

#join(items) ⇒ Object



67
68
69
70
71
# File 'lib/yard-value-1.0.rb', line 67

def join(items)
  return items.join('') if items.size < 2
  return items.join(' and ') if items.size < 3
  return '%s, and %s' % [items[0..-2].join(', '), items[-1]]
end