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) ⇒ Object
- .get_project(api_key, project_key) ⇒ Object
- .update(api_key, project_key, filename) ⇒ Object
- .upload(api_key, filename) ⇒ 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
81 82 83 84 85 86 87 88 |
# File 'lib/veye/api/project.rb', line 81 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
91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/veye/api/project.rb', line 91 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) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/veye/api/project.rb', line 27 def self.get_list(api_key) project_api = Resource.new(RESOURCE_PATH) qparams = {:params => {:api_key => api_key}} project_api.resource.get(qparams) do |response, request, result| JSONResponse.new(request, result, response) end end |
.get_project(api_key, project_key) ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/veye/api/project.rb', line 66 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 |
.update(api_key, project_key, filename) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/veye/api/project.rb', line 51 def self.update(api_key, project_key, filename) project_api = Resource.new("#{RESOURCE_PATH}/#{project_key}") 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) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/veye/api/project.rb', line 35 def self.upload(api_key, filename) 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 } project_api.resource.post(upload_data) do |response, request, result, &block| JSONResponse.new(request, result, response) end end |