class Moysklad::Resources::Base
Constants
- PREFIX_PATH
Attributes
client[R]
Public Class Methods
indexed(client: nil, list_path: nil)
click to toggle source
Возвращает этот-же ресурс только индексированный
@return [Moysklad::Resources::Indexed]
# File lib/moysklad/resources/base.rb, line 14 def self.indexed client: nil, list_path: nil Moysklad::Resources::Indexed.new new(client: client, list_path: list_path) end
inherited(superclass)
click to toggle source
Calls superclass method
# File lib/moysklad/resources/base.rb, line 6 def self.inherited superclass super Moysklad::Resources.register_resource superclass end
new(client: nil, list_path: nil)
click to toggle source
support.moysklad.ru/hc/ru/articles/203404253-REST-сервис-синхронизации-данных
# File lib/moysklad/resources/base.rb, line 19 def initialize client: nil, list_path: nil @list_path = list_path raise "Должен быть Moysklad::Client" unless client.is_a? Moysklad::Client @client = client end
pluralized_type()
click to toggle source
# File lib/moysklad/resources/base.rb, line 73 def self.pluralized_type ActiveSupport::Inflector.underscore ActiveSupport::Inflector.pluralize type end
type()
click to toggle source
# File lib/moysklad/resources/base.rb, line 69 def self.type ActiveSupport::Inflector.singularize name.split('::').last.to_sym end
Public Instance Methods
create(model)
click to toggle source
Создаем запись
@param [Moysklad::Entities::Base]
Возвращается созданная на сервере сущность
@return [Moysklad::Entities::Base]
# File lib/moysklad/resources/base.rb, line 57 def create model raise "Должна быть модель типа Moysklad::Entities::Base" unless model.is_a? Moysklad::Entities::Base parse_get client.post create_path, model.to_json end
delete(uuid)
click to toggle source
Удаляем запись по uuid
@param uuid
# File lib/moysklad/resources/base.rb, line 65 def delete uuid client.delete item_path uuid end
get(uuid, params = {})
click to toggle source
Забираем элемент по uuid
@return [Moysklad::Entities::Base]
# File lib/moysklad/resources/base.rb, line 39 def get uuid, params = {} parse_get client.get item_path(uuid), params end
list(params={})
click to toggle source
Возвращает список элементов как есть
@return [Array of Moysklad::Entities::Base
]
# File lib/moysklad/resources/base.rb, line 32 def list params={} load_collection client.get list_path, params end
metadata()
click to toggle source
# File lib/moysklad/resources/base.rb, line 25 def metadata Moysklad::Entities::ResourceMetadata.build client.get(metadata_path), self end
update(model)
click to toggle source
Модифицируем элемент по uuid
@return [Moysklad::Entities::Base]
# File lib/moysklad/resources/base.rb, line 46 def update model create model end
Private Instance Methods
collection_class()
click to toggle source
# File lib/moysklad/resources/base.rb, line 105 def collection_class Moysklad::Entities::Collection end
create_path()
click to toggle source
# File lib/moysklad/resources/base.rb, line 93 def create_path prefix_path end
entity_class()
click to toggle source
# File lib/moysklad/resources/base.rb, line 109 def entity_class ActiveSupport::Inflector.constantize "Moysklad::Entities::#{self.class.type.to_s}" end
item_path(uuid)
click to toggle source
# File lib/moysklad/resources/base.rb, line 89 def item_path uuid prefix_path + '/' + uuid end
list_path()
click to toggle source
# File lib/moysklad/resources/base.rb, line 97 def list_path @list_path ||= prefix_path end
load_collection(data)
click to toggle source
# File lib/moysklad/resources/base.rb, line 85 def load_collection data collection_class.build data, self end
metadata_path()
click to toggle source
# File lib/moysklad/resources/base.rb, line 101 def metadata_path prefix_path + '/metadata' end
parse_get(data)
click to toggle source
# File lib/moysklad/resources/base.rb, line 81 def parse_get data entity_class.build data, self end
prefix_path()
click to toggle source
# File lib/moysklad/resources/base.rb, line 113 def prefix_path PREFIX_PATH + self.class.type.downcase end