Class: Jiralicious::Project::Avatar
- Defined in:
- lib/jiralicious/project/avatar.rb
Overview
Avatars in the Project class.
Instance Attribute Summary
Attributes inherited from Base
Class Method Summary collapse
-
.avatars(key, options = {}) ⇒ Object
Gets a list of available avatars.
-
.post(key, options = {}) ⇒ Object
Converts the temporary avatar to a real avatar.
-
.put(key, options = {}) ⇒ Object
Update Avatar information.
-
.remove(key, id) ⇒ Object
Deletes or removes the avatar from the project.
-
.temporary(key, options = {}) ⇒ Object
Creates tempoary avatar.
Instance Method Summary collapse
-
#initialize(decoded_json = nil) ⇒ Avatar
constructor
Initialization Method.
Methods inherited from Base
#all, #endpoint_name, endpoint_name, fetch, find, find_all, handler, issueKey_test, #loaded?, #method_missing, #numeric?, parent_name, #parent_name, #properties_from_hash, #reload
Methods included from Jiralicious::Parsers::FieldParser
Constructor Details
#initialize(decoded_json = nil) ⇒ Avatar
Initialization Method
- Arguments
-
:decoded_json (optional) decoded json object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/jiralicious/project/avatar.rb', line 15 def initialize(decoded_json = nil) @loaded = false if !decoded_json.nil? if decoded_json.is_a? Hash decoded_json = properties_from_hash(decoded_json) super(decoded_json) parse!(decoded_json) self.each do |k, v| if v.is_a? Hash self[k] = self.class.new(v) elsif v.is_a? Array v.each_index do |i| if v[i].is_a? Hash v[i] = self.class.new(v[i]) end end self[k] = v end end @loaded = true else i = 0; decoded_json.each do |list| if !list['id'].nil? if numeric? list['id'] id = :"id_#{list['id']}" else id = :"#{list['id']}" end else id = :"_#{i}" i += 1 end self.class.property id self[id] = self.class.new(list) end end end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Jiralicious::Base
Class Method Details
.avatars(key, options = {}) ⇒ Object
Gets a list of available avatars
- Arguments
-
:key (required) project key
119 120 121 122 |
# File 'lib/jiralicious/project/avatar.rb', line 119 def avatars(key, = {}) response = fetch({:method => :get, :url => "#{Jiralicious.rest_path}/#{parent_name}/#{key}/#{endpoint_name}s/", :body_to_params => true, :body => }) return self.new(response.parsed_response) end |
.post(key, options = {}) ⇒ Object
Converts the temporary avatar to a real avatar
- Arguments
-
:key (required) project key
:cropperWidth (optional) width of the avatar
:cropperOffsetX (optional) X offset on image
:cropperOffsetY (optional) Y offset on image
:needsCropping (optional) boolean if it needs cropping
70 71 72 |
# File 'lib/jiralicious/project/avatar.rb', line 70 def post(key, = {}) response = fetch({:method => :post, :parent => true, :parent_key => key, :body => }) end |
.put(key, options = {}) ⇒ Object
Update Avatar information
- Arguments
-
:key (required) project key
:options (optional) not documented
82 83 84 |
# File 'lib/jiralicious/project/avatar.rb', line 82 def put(key, = {}) response = fetch({:method => :put, :parent => true, :parent_key => key, :body => }) end |
.remove(key, id) ⇒ Object
Deletes or removes the avatar from the project
- Arguments
-
:key (required) project key
:id (required) avatar id
109 110 111 |
# File 'lib/jiralicious/project/avatar.rb', line 109 def remove(key, id) response = fetch({:method => :delete, :body_to_params => true, :parent => true, :parent_key => key, :key => "#{id}"}) end |
.temporary(key, options = {}) ⇒ Object
Creates tempoary avatar
- Arguments
-
:key (required) project key
:filename (required) file to upload
:size (required) size of the file
96 97 98 99 |
# File 'lib/jiralicious/project/avatar.rb', line 96 def temporary(key, = {}) response = fetch({:method => :post, :parent => true, :parent_key => key, :key => 'temporary', :body => }) return self.new(response.parsed_response) end |