Skip to content
This repository has been archived by the owner on Jan 25, 2022. It is now read-only.

Commit

Permalink
added Trigger class
Browse files Browse the repository at this point in the history
  • Loading branch information
drnic committed Apr 19, 2013
1 parent 0675b36 commit b679916
Show file tree
Hide file tree
Showing 6 changed files with 80 additions and 0 deletions.
1 change: 1 addition & 0 deletions ruby-runtime/lib/jenkins/plugin/runtime.rb
Expand Up @@ -9,5 +9,6 @@
require 'jenkins/cli'
require 'jenkins/model'
require 'jenkins/tasks'
require 'jenkins/triggers'
require 'jenkins/launcher'
require 'jenkins/listeners'
4 changes: 4 additions & 0 deletions ruby-runtime/lib/jenkins/triggers.rb
@@ -0,0 +1,4 @@
module Jenkins::Triggers
require 'jenkins/triggers/trigger'
require 'jenkins/triggers/trigger_proxy'
end
30 changes: 30 additions & 0 deletions ruby-runtime/lib/jenkins/triggers/trigger.rb
@@ -0,0 +1,30 @@
require 'jenkins/model'

module Jenkins
module Triggers
# Triggers a Build.
# {http://javadoc.jenkins-ci.org/hudson/triggers/Trigger.html}
class Trigger
include Jenkins::Model
include Jenkins::Model::Describable
describe_as Java.hudson.triggers.Trigger

# Executes the triggered task.
#
# This method is invoked when Trigger.new(String) is used
# to create an instance, and the crontab matches the current time.
def run
end


# Called before a Trigger is removed.
# Under some circumstances, this may be invoked more than once for
# a given Trigger, so be prepared for that.
#
# When the configuration is changed for a project, all triggers
# are removed once and then added back.
def stop
end
end
end
end
14 changes: 14 additions & 0 deletions ruby-runtime/lib/jenkins/triggers/trigger_proxy.rb
@@ -0,0 +1,14 @@
module Jenkins::Triggers
class TriggerProxy < Java.hudson.triggers.Trigger
include Jenkins::Model::DescribableProxy
proxy_for Jenkins::Triggers::Trigger

def run
@object.run
end

def stop
@object.stop
end
end
end
24 changes: 24 additions & 0 deletions ruby-runtime/spec/jenkins/triggers/trigger_proxy_spec.rb
@@ -0,0 +1,24 @@
require 'spec_helper'

describe Jenkins::Triggers::TriggerProxy do
include ProxyHelper

before do
@object = mock(Jenkins::Triggers::Trigger)
@builder = Jenkins::Triggers::TriggerProxy.new(@plugin, @object)
end

describe "run" do
it "calls through to its implementation" do
@object.should_receive(:run)
@builder.run
end
end

describe "stop" do
it "calls through to its implementation" do
@object.should_receive(:stop)
@builder.stop
end
end
end
7 changes: 7 additions & 0 deletions ruby-runtime/spec/jenkins/triggers/trigger_spec.rb
@@ -0,0 +1,7 @@
require 'spec_helper'

describe Jenkins::Triggers::Trigger do
it "lives" do
subject.should_not be_nil
end
end

0 comments on commit b679916

Please sign in to comment.