Module: Veye::API::Project
- Defined in:
- lib/veye/api/project.rb
Constant Summary collapse
- RESOURCE_PATH =
"/projects"
- MAX_FILE_SIZE =
~ 500kB
500000
Class Method Summary collapse
-
.check_file(filename) ⇒ Object
TODO: add throws.
- .delete_project(api_key, project_key) ⇒ Object
-
.get_licenses(api_key, project_key) ⇒ Object
TODO: add throw exceptions.
- .get_list(api_key, org_name, team_name = nil) ⇒ Object
- .get_project(api_key, project_key) ⇒ Object
- .merge(api_key, parent_id, child_id) ⇒ Object
- .unmerge(api_key, parent_id, child_id) ⇒ Object
- .update(api_key, project_id, filename) ⇒ Object
- .upload(api_key, filename, org_name = nil, team_name = nil, temporary = false, public = true, name = nil) ⇒ Object
Class Method Details
.check_file(filename) ⇒ Object
TODO: add throws
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/veye/api/project.rb', line 8 def self.check_file(filename) file_path = File.absolute_path(filename) unless File.exist?(file_path) printf("%s: Cant read file `%s`", "Error".color(:red), "#{filename}".color(:yellow)) return nil end file_size = File.size(file_path) unless file_size != 0 and file_size < MAX_FILE_SIZE p "Size of file is not acceptable: 0kb < x <= #{MAX_FILE_SIZE/1000}kb" return nil end file_path end |
.delete_project(api_key, project_key) ⇒ Object
90 91 92 93 94 95 96 97 |
# File 'lib/veye/api/project.rb', line 90 def self.delete_project(api_key, project_key) project_api = Resource.new("#{RESOURCE_PATH}/#{project_key}") qparams = {:params => {:api_key => api_key}} project_api.resource.delete(qparams) do |response, request, result| JSONResponse.new(request, result, response) end end |
.get_licenses(api_key, project_key) ⇒ Object
TODO: add throw exceptions
100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/veye/api/project.rb', line 100 def self.get_licenses(api_key, project_key) if project_key.nil? or project_key.empty? printf("%s: %s", "Error".color(:red), "Not valid project_key: `#{project_key}`") return end project_api = Resource.new("#{RESOURCE_PATH}/#{project_key}/licenses") qparams = {:params => {:api_key => api_key}} project_api.resource.get(qparams) do |response, request, result| JSONResponse.new(request, result, response) end end |
.get_list(api_key, org_name, team_name = nil) ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/veye/api/project.rb', line 27 def self.get_list(api_key, org_name, team_name = nil) project_api = Resource.new(RESOURCE_PATH) qparams = {:api_key => api_key} qparams[:orga_name] = org_name.to_s.strip unless org_name.to_s.empty? qparams[:team_name] = team_name.to_s.strip unless team_name.to_s.empty? project_api.resource.get({:params => qparams}) do |response, request, result| JSONResponse.new(request, result, response) end end |
.get_project(api_key, project_key) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/veye/api/project.rb', line 75 def self.get_project(api_key, project_key) if project_key.nil? or project_key.empty? printf("%s: %s", "Error".color(:red), "Not valid project_key: `#{project_key}`") return end project_api = Resource.new("#{RESOURCE_PATH}/#{project_key}") qparams = {:params => {:api_key => api_key}} project_api.resource.get(qparams) do |response, request, result| JSONResponse.new(request, result, response) end end |
.merge(api_key, parent_id, child_id) ⇒ Object
115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/veye/api/project.rb', line 115 def self.merge(api_key, parent_id, child_id) if parent_id.to_s.empty? or child_id.to_s.empty? printf("api.project.merge: neither ParentID or ChildId can not be empty") return end project_api = Resource.new("#{RESOURCE_PATH}/#{parent_id}/merge/#{child_id}") qparams = {params: {api_key: api_key}} project_api.resource.get(qparams) do |response, request, result| JSONResponse.new(request, result, response) end end |
.unmerge(api_key, parent_id, child_id) ⇒ Object
128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/veye/api/project.rb', line 128 def self.unmerge(api_key, parent_id, child_id) if parent_id.to_s.empty? or child_id.to_s.empty? printf("api.project.unmerge: neither ParentID or ChildID can not be empty") return end project_api = Resource.new("#{RESOURCE_PATH}/#{parent_id}/unmerge/#{child_id}") qparams = {params: {api_key: api_key}} project_api.resource.get(qparams) do |response, request, result| JSONResponse.new(request, result, response) end end |
.update(api_key, project_id, filename) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/veye/api/project.rb', line 60 def self.update(api_key, project_id, filename) project_api = Resource.new("#{RESOURCE_PATH}/#{project_id}") file_path = check_file(filename) return if file_path.nil? file_obj = File.open(file_path, 'rb') upload_data = { :project_file => file_obj, :api_key => api_key } project_api.resource.post(upload_data) do |response, request, result, &block| JSONResponse.new(request, result, response) end end |
.upload(api_key, filename, org_name = nil, team_name = nil, temporary = false, public = true, name = nil) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/veye/api/project.rb', line 38 def self.upload(api_key, filename, org_name = nil, team_name = nil, temporary = false, public =true, name = nil) Veye.logger.info("Uploading `#{filename}` under #{org_name}, temporary? #{temporary}, organization? #{public} ") project_api = Resource.new(RESOURCE_PATH) file_path = check_file(filename) return if file_path.nil? file_obj = File.open(file_path, 'rb') upload_data = { :upload => file_obj, :api_key => api_key } upload_data[:orga_name] = org_name.to_s.strip unless org_name.to_s.empty? upload_data[:team_name] = team_name.to_s.strip unless team_name.to_s.empty? upload_data[:temporary] = temporary upload_data[:visibility] = (public == true ? 'public' : 'private') upload_data[:name] = name.to_s.strip unless name.to_s.strip.empty? project_api.resource.post(upload_data) do |response, request, result, &block| JSONResponse.new(request, result, response) end end |