lib/ruby_lokalise_api/rest/projects.rb in ruby-lokalise-api-7.2.0 vs lib/ruby_lokalise_api/rest/projects.rb in ruby-lokalise-api-8.0.0.rc1
- old
+ new
@@ -1,62 +1,85 @@
# frozen_string_literal: true
module RubyLokaliseApi
module Rest
module Projects
- # Returns all projects available to the user authorized with the API token
- #
- # @see https://developers.lokalise.com/reference/list-all-projects
- # @return [RubyLokaliseApi::Collection::Project<RubyLokaliseApi::Resources::Project>]
- # @param params [Hash]
- def projects(params = {})
- c_r RubyLokaliseApi::Collections::Project, :all, nil, params
- end
-
# Returns a single project
#
# @see https://developers.lokalise.com/reference/retrieve-a-project
# @return [RubyLokaliseApi::Resources::Project]
- # @param project_id [String, Integer]
+ # @param project_id [String]
def project(project_id)
- c_r RubyLokaliseApi::Resources::Project, :find, project_id
+ params = { query: project_id }
+
+ data = endpoint(name: 'Projects', params: params).do_get
+
+ resource 'Project', data
end
- # Creates project
+ # Returns a collection of projects
#
+ # @see https://developers.lokalise.com/reference/list-all-projects
+ # @return [RubyLokaliseApi::Collections::Projects]
+ # @param req_params [Hash]
+ def projects(req_params = {})
+ name = 'Projects'
+ params = { req: req_params }
+
+ data = endpoint(name: name, params: params).do_get
+
+ collection name, data
+ end
+
+ # Creates a project
+ #
# @see https://developers.lokalise.com/reference/create-a-project
# @return [RubyLokaliseApi::Resources::Project]
- # @param params [Hash]
- def create_project(params)
- c_r RubyLokaliseApi::Resources::Project, :create, nil, params
+ # @param req_params [Hash]
+ def create_project(req_params)
+ params = { req: req_params }
+
+ data = endpoint(name: 'Projects', params: params).do_post
+
+ resource 'Project', data
end
- # Updates project
+ # Updates a project
#
# @see https://developers.lokalise.com/reference/update-a-project
# @return [RubyLokaliseApi::Resources::Project]
- # @param project_id [String, Integer]
- # @param params [Hash]
- def update_project(project_id, params)
- c_r RubyLokaliseApi::Resources::Project, :update, project_id, params
- end
+ # @param project_id [String]
+ # @param req_params [Hash]
+ def update_project(project_id, req_params)
+ params = { query: project_id, req: req_params }
- # Deletes all keys and translations from the project
- #
- # @see https://developers.lokalise.com/reference/empty-a-project
- # @return [Hash]
- # @param project_id [String, Integer]
- def empty_project(project_id)
- c_r RubyLokaliseApi::Resources::Project, :empty, [project_id, 'empty']
+ data = endpoint(name: 'Projects', params: params).do_put
+
+ resource 'Project', data
end
- # Deletes the project
+ # Deletes a project
#
# @see https://developers.lokalise.com/reference/delete-a-project
- # @return [Hash]
- # @param project_id [String, Integer]
+ # @return [RubyLokaliseApi::Generics::DeletedResource]
+ # @param project_id [String]
def destroy_project(project_id)
- c_r RubyLokaliseApi::Resources::Project, :destroy, project_id
+ params = { query: project_id }
+
+ data = endpoint(name: 'Projects', params: params).do_delete
+
+ RubyLokaliseApi::Generics::DeletedResource.new data.content
+ end
+
+ # Empties a project by deleting all keys and translations
+ #
+ # @see https://developers.lokalise.com/reference/empty-a-project
+ # @return [RubyLokaliseApi::Generics::EmptiedResource]
+ # @param project_id [String]
+ def empty_project(project_id)
+ data = endpoint(name: 'Projects', params: { query: [project_id, :empty] }).do_put
+
+ RubyLokaliseApi::Generics::EmptiedResource.new data.content
end
end
end
end