class DeployPin::Task
Attributes
file[R]
group[R]
script[R]
title[R]
uuid[R]
Public Class Methods
new(file)
click to toggle source
# File lib/deploy_pin/task.rb, line 12 def initialize(file) @file = file @uuid = nil @group = nil @title = "" @script = "" end
Public Instance Methods
details()
click to toggle source
# File lib/deploy_pin/task.rb, line 48 def details { uuid: uuid, group: group, title: title } end
done?()
click to toggle source
# File lib/deploy_pin/task.rb, line 30 def done? DeployPin::Record.where(uuid: uuid).exists? end
eql?(task_b)
click to toggle source
# File lib/deploy_pin/task.rb, line 56 def eql?(task_b) # same script & different uuid script == task_b.script && uuid != task_b.uuid end
mark()
click to toggle source
# File lib/deploy_pin/task.rb, line 25 def mark # store record in the DB DeployPin::Record.create(uuid: uuid) end
parse_file()
click to toggle source
# File lib/deploy_pin/task.rb, line 34 def parse_file File.foreach(file) do |line| case line.strip when /\A# (\d+):(\w+)/ @uuid = $1 @group = $2 when /\A# task_title:(.+)/ @title = $1.strip when /\A[^#].*/ @script += line end end end
run()
click to toggle source
# File lib/deploy_pin/task.rb, line 20 def run # eval script eval(script) end
Protected Instance Methods
<=>(task_b)
click to toggle source
for sorting
# File lib/deploy_pin/task.rb, line 64 def <=>(task_b) group_index <=> task_b.group_index end
group_index()
click to toggle source
# File lib/deploy_pin/task.rb, line 68 def group_index DeployPin.groups.index(group) end