Class: RRRSpec::Trial
- Inherits:
-
Object
- Object
- RRRSpec::Trial
- Defined in:
- lib/rrrspec/redis_models.rb
Instance Attribute Summary collapse
-
#key ⇒ Object
readonly
Returns the value of attribute key.
Class Method Summary collapse
-
.create(task, slave) ⇒ Object
Public: Create a new trial.
Instance Method Summary collapse
-
#expire(sec) ⇒ Object
Persistence.
-
#failed ⇒ Object
Public: Returns the failed examples.
-
#finish(status, stdout, stderr, passed, pending, failed) ⇒ Object
Public: Finish the trial status should be one of [“passed”, “pending”, “failed”, “error”].
-
#finished_at ⇒ Object
Public: Returns the finished_at.
-
#initialize(trial_key) ⇒ Trial
constructor
A new instance of Trial.
-
#passed ⇒ Object
Public: Returns the passed examples.
-
#pending ⇒ Object
Public: Returns the pending examples.
-
#slave ⇒ Object
Public: The slave worked for this.
-
#start ⇒ Object
Public: Set started_at time.
-
#started_at ⇒ Object
Public: Returns the started_at.
-
#status ⇒ Object
Public: Current status.
-
#stderr ⇒ Object
Public: Returns the stderr.
-
#stdout ⇒ Object
Public: Returns the stdout.
-
#task ⇒ Object
Public: Tried task.
-
#to_h ⇒ Object
Serialize.
- #to_json(options = nil) ⇒ Object
Constructor Details
#initialize(trial_key) ⇒ Trial
Returns a new instance of Trial.
694 695 696 |
# File 'lib/rrrspec/redis_models.rb', line 694 def initialize(trial_key) @key = trial_key end |
Instance Attribute Details
#key ⇒ Object (readonly)
Returns the value of attribute key.
692 693 694 |
# File 'lib/rrrspec/redis_models.rb', line 692 def key @key end |
Class Method Details
.create(task, slave) ⇒ Object
Public: Create a new trial. This method will call Task#add_trial and Slave#add_trial.
700 701 702 703 704 705 706 707 708 709 710 711 712 713 |
# File 'lib/rrrspec/redis_models.rb', line 700 def self.create(task, slave) trial_key = RRRSpec.make_key( task.key, 'trial', UUIDTools::UUID. ) RRRSpec.redis.hmset( trial_key, 'task', task.key, 'slave', slave.key, ) trial = new(trial_key) task.add_trial(trial) slave.add_trial(trial) return trial end |
Instance Method Details
#expire(sec) ⇒ Object
Persistence
828 829 830 |
# File 'lib/rrrspec/redis_models.rb', line 828 def expire(sec) RRRSpec.redis.expire(key, sec) end |
#failed ⇒ Object
Public: Returns the failed examples
800 801 802 803 |
# File 'lib/rrrspec/redis_models.rb', line 800 def failed v = RRRSpec.redis.hget(key, 'failed') v.present? ? v.to_i : nil end |
#finish(status, stdout, stderr, passed, pending, failed) ⇒ Object
Public: Finish the trial status should be one of [“passed”, “pending”, “failed”, “error”]. stdout and stderr should be string or nil. passed, pending and failed is the count of examplegroups and should be either nil or numbers.
752 753 754 755 756 757 758 759 760 761 762 763 |
# File 'lib/rrrspec/redis_models.rb', line 752 def finish(status, stdout, stderr, passed, pending, failed) RRRSpec.redis.hmset( key, 'finished_at', Time.zone.now.to_s, 'status', status, 'stdout', stdout, 'stderr', stderr, 'passed', passed, 'pending', pending, 'failed', failed ) end |
#finished_at ⇒ Object
Public: Returns the finished_at
772 773 774 775 |
# File 'lib/rrrspec/redis_models.rb', line 772 def finished_at v = RRRSpec.redis.hget(key, 'finished_at') v.present? ? Time.zone.parse(v) : nil end |
#passed ⇒ Object
Public: Returns the passed examples
788 789 790 791 |
# File 'lib/rrrspec/redis_models.rb', line 788 def passed v = RRRSpec.redis.hget(key, 'passed') v.present? ? v.to_i : nil end |
#pending ⇒ Object
Public: Returns the pending examples
794 795 796 797 |
# File 'lib/rrrspec/redis_models.rb', line 794 def pending v = RRRSpec.redis.hget(key, 'pending') v.present? ? v.to_i : nil end |
#slave ⇒ Object
Public: The slave worked for this.
Returns a Slave
728 729 730 |
# File 'lib/rrrspec/redis_models.rb', line 728 def slave Slave.new(RRRSpec.redis.hget(key, 'slave')) end |
#start ⇒ Object
Public: Set started_at time.
743 744 745 |
# File 'lib/rrrspec/redis_models.rb', line 743 def start RRRSpec.redis.hset(key, 'started_at', Time.zone.now.to_s) end |
#started_at ⇒ Object
Public: Returns the started_at
766 767 768 769 |
# File 'lib/rrrspec/redis_models.rb', line 766 def started_at v = RRRSpec.redis.hget(key, 'started_at') v.present? ? Time.zone.parse(v) : nil end |
#status ⇒ Object
Public: Current status
Returns either nil, “passed”, “pending”, “failed” or “error”
738 739 740 |
# File 'lib/rrrspec/redis_models.rb', line 738 def status RRRSpec.redis.hget(key, 'status') end |
#stderr ⇒ Object
Public: Returns the stderr
783 784 785 |
# File 'lib/rrrspec/redis_models.rb', line 783 def stderr RRRSpec.redis.hget(key, 'stderr') end |
#stdout ⇒ Object
Public: Returns the stdout
778 779 780 |
# File 'lib/rrrspec/redis_models.rb', line 778 def stdout RRRSpec.redis.hget(key, 'stdout') end |
#task ⇒ Object
Public: Tried task
Returns a Task
721 722 723 |
# File 'lib/rrrspec/redis_models.rb', line 721 def task Task.new(RRRSpec.redis.hget(key, 'task')) end |
#to_h ⇒ Object
Serialize
808 809 810 811 812 813 814 815 816 817 818 819 |
# File 'lib/rrrspec/redis_models.rb', line 808 def to_h h = RRRSpec.redis.hgetall(key) h['key'] = key h['task'] = { 'key' => h['task'] } h['slave'] = { 'key' => h['slave'] } RRRSpec.convert_if_present(h, 'started_at') { |v| Time.zone.parse(v) } RRRSpec.convert_if_present(h, 'finished_at') { |v| Time.zone.parse(v) } RRRSpec.convert_if_present(h, 'passed') { |v| v.to_i } RRRSpec.convert_if_present(h, 'pending') { |v| v.to_i } RRRSpec.convert_if_present(h, 'failed') { |v| v.to_i } h end |
#to_json(options = nil) ⇒ Object
821 822 823 |
# File 'lib/rrrspec/redis_models.rb', line 821 def to_json(=nil) to_h.to_json() end |