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.
726 727 728 |
# File 'lib/rrrspec/redis_models.rb', line 726 def initialize(trial_key) @key = trial_key end |
Instance Attribute Details
#key ⇒ Object (readonly)
Returns the value of attribute key.
724 725 726 |
# File 'lib/rrrspec/redis_models.rb', line 724 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.
732 733 734 735 736 737 738 739 740 741 742 743 744 745 |
# File 'lib/rrrspec/redis_models.rb', line 732 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
860 861 862 |
# File 'lib/rrrspec/redis_models.rb', line 860 def expire(sec) RRRSpec.redis.expire(key, sec) end |
#failed ⇒ Object
Public: Returns the failed examples
832 833 834 835 |
# File 'lib/rrrspec/redis_models.rb', line 832 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.
784 785 786 787 788 789 790 791 792 793 794 795 |
# File 'lib/rrrspec/redis_models.rb', line 784 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
804 805 806 807 |
# File 'lib/rrrspec/redis_models.rb', line 804 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
820 821 822 823 |
# File 'lib/rrrspec/redis_models.rb', line 820 def passed v = RRRSpec.redis.hget(key, 'passed') v.present? ? v.to_i : nil end |
#pending ⇒ Object
Public: Returns the pending examples
826 827 828 829 |
# File 'lib/rrrspec/redis_models.rb', line 826 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
760 761 762 |
# File 'lib/rrrspec/redis_models.rb', line 760 def slave Slave.new(RRRSpec.redis.hget(key, 'slave')) end |
#start ⇒ Object
Public: Set started_at time.
775 776 777 |
# File 'lib/rrrspec/redis_models.rb', line 775 def start RRRSpec.redis.hset(key, 'started_at', Time.zone.now.to_s) end |
#started_at ⇒ Object
Public: Returns the started_at
798 799 800 801 |
# File 'lib/rrrspec/redis_models.rb', line 798 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”
770 771 772 |
# File 'lib/rrrspec/redis_models.rb', line 770 def status RRRSpec.redis.hget(key, 'status') end |
#stderr ⇒ Object
Public: Returns the stderr
815 816 817 |
# File 'lib/rrrspec/redis_models.rb', line 815 def stderr RRRSpec.redis.hget(key, 'stderr') end |
#stdout ⇒ Object
Public: Returns the stdout
810 811 812 |
# File 'lib/rrrspec/redis_models.rb', line 810 def stdout RRRSpec.redis.hget(key, 'stdout') end |
#task ⇒ Object
Public: Tried task
Returns a Task
753 754 755 |
# File 'lib/rrrspec/redis_models.rb', line 753 def task Task.new(RRRSpec.redis.hget(key, 'task')) end |
#to_h ⇒ Object
Serialize
840 841 842 843 844 845 846 847 848 849 850 851 |
# File 'lib/rrrspec/redis_models.rb', line 840 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
853 854 855 |
# File 'lib/rrrspec/redis_models.rb', line 853 def to_json(=nil) to_h.to_json() end |