Class: Jenkins::Model::Descriptor

Inherits:
Object
  • Object
show all
Defined in:
lib/jenkins/model/descriptor.rb

Instance Method Summary collapse

Constructor Details

#initialize(impl, plugin, java_type) ⇒ Descriptor

Returns a new instance of Descriptor.



8
9
10
11
# File 'lib/jenkins/model/descriptor.rb', line 8

def initialize(impl, plugin, java_type)
  super(java_type)
  @impl, @plugin, @java_type = impl, plugin, java_type
end

Instance Method Details

#getConfigPageObject

we take a fully-qualified class name, like Abc::Def::GhiJkl to underscore-separated tokens, like abc/def/ghi_jkl and then look for config.* (where *=.erb, .haml, …)



27
28
29
30
31
# File 'lib/jenkins/model/descriptor.rb', line 27

def getConfigPage
  "/#{name_to_path}/config".tap { |path|
    puts "getConfigPage -> #{path}"
  }
end

#getDisplayNameObject



13
14
15
# File 'lib/jenkins/model/descriptor.rb', line 13

def getDisplayName
  @impl.display_name
end

#getGlobalConfigPageObject



33
34
35
36
37
38
39
# File 'lib/jenkins/model/descriptor.rb', line 33

def getGlobalConfigPage
  # TODO: use Descriptor.getPossibleViewNames() that's made protected in 1.441 when it gets released
  base = "/#{name_to_path}/global"
  [base+".erb",base+".haml"].find { |n|
    self.class.java_class.class_loader.getResource(n)
  }
end

#getIdObject



17
18
19
# File 'lib/jenkins/model/descriptor.rb', line 17

def getId()
  "#{@plugin.name}-#{@impl.name}"
end

#getTObject



21
22
23
# File 'lib/jenkins/model/descriptor.rb', line 21

def getT()
  @java_type
end

#newInstance(request, form) ⇒ Object



41
42
43
44
45
46
47
48
# File 'lib/jenkins/model/descriptor.rb', line 41

def newInstance(request, form)
  properties = JSON.parse(form.toString(2))
  properties.delete("kind")
  properties.delete("stapler-class")
  instance = construct(properties)
  puts "instance created: #{instance} (#{@java_type})"
  return @plugin.export(instance)
end