Class: Scale::Api::Tasks::BaseTask

Inherits:
Object
  • Object
show all
Defined in:
lib/scale/api/tasks/base_task.rb

Instance Method Summary collapse

Constructor Details

#initialize(json = {}, theClient = nil) ⇒ BaseTask

Returns a new instance of BaseTask.



21
22
23
24
25
26
# File 'lib/scale/api/tasks/base_task.rb', line 21

def initialize(json = {}, theClient = nil)
  @client = theClient
  @data = json

  tweak_attributes
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(methodId, *args, &block) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/scale/api/tasks/base_task.rb', line 7

def method_missing(methodId, *args, &block)
  str = methodId.id2name
  value = @data[str]
  if value
    value
  else
    raise ArgumentError.new("Method `#{methodId}` doesn't exist.")
  end
end

Instance Method Details

#callback_succeeded?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/scale/api/tasks/base_task.rb', line 52

def callback_succeeded?
  !!callback_succeeded_at
end

#cancel!Object



17
18
19
# File 'lib/scale/api/tasks/base_task.rb', line 17

def cancel!
  Tasks.new(client).cancel(id)
end

#canceled?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/scale/api/tasks/base_task.rb', line 48

def canceled?
  status == 'canceled'
end

#completed?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/scale/api/tasks/base_task.rb', line 44

def completed?
  status == 'completed'
end

#day?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/scale/api/tasks/base_task.rb', line 28

def day?
  urgency == 'day'
end

#idObject



56
57
58
# File 'lib/scale/api/tasks/base_task.rb', line 56

def id
  task_id
end

#immediate?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/scale/api/tasks/base_task.rb', line 36

def immediate?
  urgency == 'immediate'
end

#pending?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/scale/api/tasks/base_task.rb', line 40

def pending?
  status == 'pending'
end

#raw_jsonObject



60
61
62
# File 'lib/scale/api/tasks/base_task.rb', line 60

def raw_json
  @data
end

#week?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/scale/api/tasks/base_task.rb', line 32

def week?
  urgency == 'week'
end