Class: SkylabStudio::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/skylab_studio/client.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Client

—————————— Instance Methods ——————————



27
28
29
30
31
# File 'lib/skylab_studio/client.rb', line 27

def initialize(options = {})
  settings = SkylabStudio::Client.configuration.settings.merge(options)

  @configuration = SkylabStudio::Config.new(settings)
end

Instance Attribute Details

#configurationObject (readonly)

Attributes



13
14
15
# File 'lib/skylab_studio/client.rb', line 13

def configuration
  @configuration
end

Class Method Details

.configurationObject

—————————— Class Methods ——————————



17
18
19
# File 'lib/skylab_studio/client.rb', line 17

def self.configuration
  @configuration ||= SkylabStudio::Config.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



21
22
23
# File 'lib/skylab_studio/client.rb', line 21

def self.configure
  yield configuration if block_given?
end

Instance Method Details

#cancel_job(options = {}) ⇒ Object



79
80
81
82
83
# File 'lib/skylab_studio/client.rb', line 79

def cancel_job(options = {})
  validate_argument_presence options, :id

  SkylabStudio::Request.new(@configuration).post("jobs/#{options[:id]}/cancel", options)
end

#create_job(options = {}) ⇒ Object



37
38
39
40
41
42
# File 'lib/skylab_studio/client.rb', line 37

def create_job(options = {})
  validate_argument_presence options, :name
  validate_argument_presence options, :profile_id

  SkylabStudio::Request.new(@configuration).post(:jobs, options)
end

#create_profile(options = {}) ⇒ Object



89
90
91
92
93
# File 'lib/skylab_studio/client.rb', line 89

def create_profile(options = {})
  validate_argument_presence options, :name

  SkylabStudio::Request.new(@configuration).post(:profiles, options)
end

#delete_job(options = {}) ⇒ Object



73
74
75
76
77
# File 'lib/skylab_studio/client.rb', line 73

def delete_job(options = {})
  validate_argument_presence options, :id

  SkylabStudio::Request.new(@configuration).delete("jobs/#{options[:id]}")
end

#delete_photo(options = {}) ⇒ Object



143
144
145
146
147
# File 'lib/skylab_studio/client.rb', line 143

def delete_photo(options = {})
  validate_argument_presence options, :id

  SkylabStudio::Request.new(@configuration).delete("photos/#{options[:id]}")
end

#fetch_jobs_in_front(options = {}) ⇒ Object



69
70
71
# File 'lib/skylab_studio/client.rb', line 69

def fetch_jobs_in_front(options = {})
  SkylabStudio::Request.new(@configuration).get("jobs/#{options[:id]}/jobs_in_front", options)
end

#get_job(options = {}) ⇒ Object



44
45
46
47
48
# File 'lib/skylab_studio/client.rb', line 44

def get_job(options = {})
  validate_argument_presence options, :id

  SkylabStudio::Request.new(@configuration).get("jobs/#{options[:id]}", options)
end

#get_job_by_name(options = {}) ⇒ Object



50
51
52
53
54
# File 'lib/skylab_studio/client.rb', line 50

def get_job_by_name(options = {})
  validate_argument_presence options, :name

  SkylabStudio::Request.new(@configuration).get('jobs/find_by_name', options)
end

#get_job_photos(job_identifier, value) ⇒ Object



128
129
130
131
132
133
134
# File 'lib/skylab_studio/client.rb', line 128

def get_job_photos(job_identifier, value)
  {
    "job_#{job_identifier}".to_sym => value
  }

  SkylabStudio::Request.new(@configuration).get('phtos/list_for_job', options)
end

#get_photo(options = {}) ⇒ Object



122
123
124
125
126
# File 'lib/skylab_studio/client.rb', line 122

def get_photo(options = {})
  validate_argument_presence options, :id

  SkylabStudio::Request.new(@configuration).get("photos/#{options[:id]}", options)
end

#get_profile(options = {}) ⇒ Object



95
96
97
98
99
# File 'lib/skylab_studio/client.rb', line 95

def get_profile(options = {})
  validate_argument_presence options, :id

  SkylabStudio::Request.new(@configuration).get("profiles/#{options[:id]}", options)
end

#list_jobs(options = {}) ⇒ Object



33
34
35
# File 'lib/skylab_studio/client.rb', line 33

def list_jobs(options = {})
  SkylabStudio::Request.new(@configuration).get(:jobs, options)
end

#list_profiles(options = {}) ⇒ Object



85
86
87
# File 'lib/skylab_studio/client.rb', line 85

def list_profiles(options = {})
  SkylabStudio::Request.new(@configuration).get(:profiles, options)
end

#queue_job(options = {}) ⇒ Object



63
64
65
66
67
# File 'lib/skylab_studio/client.rb', line 63

def queue_job(options = {})
  validate_argument_presence options, :id

  SkylabStudio::Request.new(@configuration).post("jobs/#{options[:id]}/queue", options)
end

#update_job(options = {}) ⇒ Object



56
57
58
59
60
61
# File 'lib/skylab_studio/client.rb', line 56

def update_job(options = {})
  validate_argument_presence options, :id
  validate_argument_presence options, :job

  SkylabStudio::Request.new(@configuration).patch("jobs/#{options[:id]}", options)
end

#update_photo(options = {}) ⇒ Object



136
137
138
139
140
141
# File 'lib/skylab_studio/client.rb', line 136

def update_photo(options = {})
  validate_argument_presence options, :id
  validate_argument_presence options, :photo

  SkylabStudio::Request.new(@configuration).patch("photos/#{options[:id]}", options)
end

#update_profile(options = {}) ⇒ Object



101
102
103
104
105
106
# File 'lib/skylab_studio/client.rb', line 101

def update_profile(options = {})
  validate_argument_presence options, :id
  validate_argument_presence options, :profile

  SkylabStudio::Request.new(@configuration).patch("profiles/#{options[:id]}", options)
end

#upload_job_photo(photo_path = nil, job_id = nil) ⇒ Object



108
109
110
111
112
113
# File 'lib/skylab_studio/client.rb', line 108

def upload_job_photo(photo_path = nil, job_id = nil)
  validate_argument_presence nil, job_id
  validate_argument_presence nil, photo_path

  upload_photo(photo_path, job_id, 'job')
end

#upload_profile_photo(photo_path = nil, profile_id = nil) ⇒ Object



115
116
117
118
119
120
# File 'lib/skylab_studio/client.rb', line 115

def upload_profile_photo(photo_path = nil, profile_id = nil)
  validate_argument_presence nil, :photo_path
  validate_argument_presence nil, :profile_id

  upload_photo(photo_path, profile_id, 'profile')
end