Class: Travis::Client::Repository
Defined Under Namespace
Classes: Key
Constant Summary
Constants included
from States
States::STATES
Constants inherited
from Entity
Entity::MAP
Instance Attribute Summary collapse
Attributes inherited from Entity
#attributes, #curry, #id, #session
Instance Method Summary
collapse
Methods included from States
#canceled?, #color, #created?, #errored?, #failed?, #finished?, #green?, #passed?, #pending?, #queued?, #ready?, #red?, #running?, #started?, #unsuccessful?, #yellow?
Methods inherited from Entity
#[], #[]=, aka, #attribute_names, attributes, cast_id, #complete?, has, #include?, #initialize, #inspect, inspect_info, #load, many, #missing?, one, relations, #relations, #reload, subclass_for, subclasses, time, #update_attributes
Instance Attribute Details
#description ⇒ Object
Returns the value of attribute description.
1
2
3
|
# File 'lib/travis/client/repository.rb', line 1
def description
@description
end
|
#last_build ⇒ Object
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/travis/client/repository.rb', line 64
def last_build
return unless last_build_id
attributes['last_build'] ||= begin
last_build = session.find_one(Build, last_build_id)
last_build.number = last_build_number
last_build.state = last_build_state
last_build.duration = last_build_duration
last_build.started_at = last_build_started_at
last_build.finished_at = last_build_finished_at
last_build.repository_id = id
last_build
end
end
|
#slug ⇒ Object
Returns the value of attribute slug.
1
2
3
|
# File 'lib/travis/client/repository.rb', line 1
def slug
@slug
end
|
Instance Method Details
#build(number) ⇒ Object
83
84
85
|
# File 'lib/travis/client/repository.rb', line 83
def build(number)
builds(:number => number.to_s).first
end
|
#builds(params = nil) ⇒ Object
78
79
80
81
|
# File 'lib/travis/client/repository.rb', line 78
def builds(params = nil)
return each_build unless params
session.find_many(Build, params.merge(:repository_id => id))
end
|
#disable ⇒ Object
116
117
118
|
# File 'lib/travis/client/repository.rb', line 116
def disable
set_hook(false)
end
|
#each_build(params = nil, &block) ⇒ Object
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/travis/client/repository.rb', line 91
def each_build(params = nil, &block)
return enum_for(__method__, params) unless block_given?
params ||= {}
chunk = builds(params)
until chunk.empty?
chunk.each(&block)
number = chunk.last.number
chunk = number == '1' ? [] : builds(params.merge(:after_number => number))
end
self
end
|
#enable ⇒ Object
120
121
122
|
# File 'lib/travis/client/repository.rb', line 120
def enable
set_hook(true)
end
|
#encrypt(value) ⇒ Object
59
60
61
|
# File 'lib/travis/client/repository.rb', line 59
def encrypt(value)
key.encrypt(value)
end
|
#job(number) ⇒ Object
103
104
105
106
107
108
109
|
# File 'lib/travis/client/repository.rb', line 103
def job(number)
build_number = number.to_s[/^\d+/]
build = build(build_number)
job = build.jobs.detect { |j| j.number == number } if number != build_number
job ||= build.jobs.first if build and build.jobs.size == 1
job
end
|
#public_key ⇒ Object
Also known as:
key
44
45
46
47
48
49
|
# File 'lib/travis/client/repository.rb', line 44
def public_key
attributes["public_key"] ||= begin
payload = session.get_raw("/repos/#{id}/key")
Key.new(payload.fetch('key'))
end
end
|
#public_key=(key) ⇒ Object
Also known as:
key=
51
52
53
54
|
# File 'lib/travis/client/repository.rb', line 51
def public_key=(key)
key = Key.new(key) unless key.is_a? Key
set_attribute(:public_key, key)
end
|
#recent_builds ⇒ Object
87
88
89
|
# File 'lib/travis/client/repository.rb', line 87
def recent_builds
builds({})
end
|
#set_hook(flag) ⇒ Object
111
112
113
114
|
# File 'lib/travis/client/repository.rb', line 111
def set_hook(flag)
result = session.put_raw('/hooks/', :hook => { :id => id, :active => flag })
result['result']
end
|