Class: CIJoe::Build
- Inherits:
-
Struct
- Object
- Struct
- CIJoe::Build
- Defined in:
- lib/cijoe/build.rb
Instance Attribute Summary collapse
-
#finished_at ⇒ Object
Returns the value of attribute finished_at.
-
#output ⇒ Object
Returns the value of attribute output.
-
#pid ⇒ Object
Returns the value of attribute pid.
-
#project ⇒ Object
Returns the value of attribute project.
-
#sha ⇒ Object
Returns the value of attribute sha.
-
#started_at ⇒ Object
Returns the value of attribute started_at.
-
#status ⇒ Object
Returns the value of attribute status.
-
#user ⇒ Object
Returns the value of attribute user.
Class Method Summary collapse
Instance Method Summary collapse
- #building? ⇒ Boolean
- #clean_output ⇒ Object
- #commit ⇒ Object
- #coverage_dir ⇒ Object
- #coverage_url ⇒ Object
- #dump(file) ⇒ Object
- #duration ⇒ Object
- #failed? ⇒ Boolean
- #full_id ⇒ Object
-
#initialize(*args) ⇒ Build
constructor
A new instance of Build.
- #metrics_dir ⇒ Object
- #metrics_url ⇒ Object
- #screenshots_dir ⇒ Object
- #screenshots_url ⇒ Object
- #short_sha ⇒ Object
- #worked? ⇒ Boolean
Constructor Details
#initialize(*args) ⇒ Build
Returns a new instance of Build.
5 6 7 8 |
# File 'lib/cijoe/build.rb', line 5 def initialize(*args) super self.started_at ||= Time.now end |
Instance Attribute Details
#finished_at ⇒ Object
Returns the value of attribute finished_at
4 5 6 |
# File 'lib/cijoe/build.rb', line 4 def finished_at @finished_at end |
#output ⇒ Object
Returns the value of attribute output
4 5 6 |
# File 'lib/cijoe/build.rb', line 4 def output @output end |
#pid ⇒ Object
Returns the value of attribute pid
4 5 6 |
# File 'lib/cijoe/build.rb', line 4 def pid @pid end |
#project ⇒ Object
Returns the value of attribute project
4 5 6 |
# File 'lib/cijoe/build.rb', line 4 def project @project end |
#sha ⇒ Object
Returns the value of attribute sha
4 5 6 |
# File 'lib/cijoe/build.rb', line 4 def sha @sha end |
#started_at ⇒ Object
Returns the value of attribute started_at
4 5 6 |
# File 'lib/cijoe/build.rb', line 4 def started_at @started_at end |
#status ⇒ Object
Returns the value of attribute status
4 5 6 |
# File 'lib/cijoe/build.rb', line 4 def status @status end |
#user ⇒ Object
Returns the value of attribute user
4 5 6 |
# File 'lib/cijoe/build.rb', line 4 def user @user end |
Class Method Details
.load(file) ⇒ Object
83 84 85 86 87 88 |
# File 'lib/cijoe/build.rb', line 83 def self.load(file) if File.exist?(file) config = YAML.load(File.read(file)) new *config end end |
Instance Method Details
#building? ⇒ Boolean
23 24 25 |
# File 'lib/cijoe/build.rb', line 23 def building? status == :building end |
#clean_output ⇒ Object
68 69 70 |
# File 'lib/cijoe/build.rb', line 68 def clean_output output.gsub(/\e\[.+?m/, '').strip end |
#commit ⇒ Object
72 73 74 75 |
# File 'lib/cijoe/build.rb', line 72 def commit return if sha.nil? @commit ||= Commit.new(sha, user, project) end |
#coverage_dir ⇒ Object
48 49 50 |
# File 'lib/cijoe/build.rb', line 48 def coverage_dir "#{Config.cijoe.coveragedir}/#{project}/#{full_id}" end |
#coverage_url ⇒ Object
60 61 62 |
# File 'lib/cijoe/build.rb', line 60 def coverage_url "/coverage/#{project}/#{full_id}/index.html" end |
#dump(file) ⇒ Object
77 78 79 80 81 |
# File 'lib/cijoe/build.rb', line 77 def dump(file) config = [user, project, started_at, finished_at, sha, status, output, pid] data = YAML.dump(config) File.open(file, 'wb') { |io| io.write(data) } end |
#duration ⇒ Object
27 28 29 30 |
# File 'lib/cijoe/build.rb', line 27 def duration return if building? finished_at - started_at end |
#failed? ⇒ Boolean
15 16 17 |
# File 'lib/cijoe/build.rb', line 15 def failed? status == :failed end |
#full_id ⇒ Object
40 41 42 |
# File 'lib/cijoe/build.rb', line 40 def full_id "#{short_sha}.#{finished_at.to_i.to_s}" end |
#metrics_dir ⇒ Object
44 45 46 |
# File 'lib/cijoe/build.rb', line 44 def metrics_dir "#{Config.cijoe.metricsdir}/#{project}/#{full_id}" end |
#metrics_url ⇒ Object
56 57 58 |
# File 'lib/cijoe/build.rb', line 56 def metrics_url "/metrics/#{project}/#{full_id}/index.html" end |
#screenshots_dir ⇒ Object
52 53 54 |
# File 'lib/cijoe/build.rb', line 52 def screenshots_dir "#{Config.cijoe.screenshotsdir}/#{project}/#{full_id}" end |
#screenshots_url ⇒ Object
64 65 66 |
# File 'lib/cijoe/build.rb', line 64 def screenshots_url "/screenshots/#{project}/#{full_id}/" end |
#short_sha ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/cijoe/build.rb', line 32 def short_sha if sha sha[0,7] else "<unknown>" end end |
#worked? ⇒ Boolean
19 20 21 |
# File 'lib/cijoe/build.rb', line 19 def worked? status == :worked end |