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 ——————————



22
23
24
25
26
# File 'lib/skylab_studio/client.rb', line 22

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

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

Instance Attribute Details

#configurationObject (readonly)

Attributes



8
9
10
# File 'lib/skylab_studio/client.rb', line 8

def configuration
  @configuration
end

Class Method Details

.configurationObject

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



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

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

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

Yields:



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

def self.configure
  yield configuration if block_given?
end

Instance Method Details

#cancel_job(options = {}) ⇒ Object



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

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

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

#create_job(options = {}) ⇒ Object



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

def create_job(options = {})
  validate_argument_presence options, :job

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

#create_photo(options = {}) ⇒ Object



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

def create_photo(options = {})
  validate_argument_presence options, :photo

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

#create_profile(options = {}) ⇒ Object



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

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

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

#delete_job(options = {}) ⇒ Object



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

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

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

#delete_photo(options = {}) ⇒ Object



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

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

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

#delete_profile(options = {}) ⇒ Object



92
93
94
95
96
# File 'lib/skylab_studio/client.rb', line 92

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

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

#get_job(options = {}) ⇒ Object



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

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

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

#get_photo(options = {}) ⇒ Object



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

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

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

#get_profile(options = {}) ⇒ Object



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

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

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

#list_jobs(options = {}) ⇒ Object



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

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

#list_photos(options = {}) ⇒ Object



98
99
100
# File 'lib/skylab_studio/client.rb', line 98

def list_photos(options = {})
  SkylabStudio::Request.new(@configuration).get(:photos, payload: options)
end

#list_profiles(options = {}) ⇒ Object



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

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

#process_job(options = {}) ⇒ Object



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

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

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

#update_job(options = {}) ⇒ Object



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

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

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

#update_photo(options = {}) ⇒ Object



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

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

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

#update_profile(options = {}) ⇒ Object



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

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

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