Class: Moysklad::Resources::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/moysklad/resources/base.rb

Constant Summary collapse

PREFIX_PATH =
'entity/'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client: nil, list_path: nil) ⇒ Base

support.moysklad.ru/hc/ru/articles/203404253-REST-сервис-синхронизации-данных



18
19
20
21
22
# File 'lib/moysklad/resources/base.rb', line 18

def initialize client: nil, list_path: nil
  @list_path = list_path
  raise "Должен быть Moysklad::Client" unless client.is_a? Moysklad::Client
  @client = client
end

Class Method Details

.indexed(*args) ⇒ Moysklad::Resources::Indexed

Возвращает этот-же ресурс только индексированный



13
14
15
# File 'lib/moysklad/resources/base.rb', line 13

def self.indexed *args
  Moysklad::Resources::Indexed.new new(*args)
end

.inherited(superclass) ⇒ Object



5
6
7
8
# File 'lib/moysklad/resources/base.rb', line 5

def self.inherited superclass
  super
  Moysklad::Resources.register_resource superclass
end

.pluralized_typeObject



72
73
74
# File 'lib/moysklad/resources/base.rb', line 72

def self.pluralized_type
  ActiveSupport::Inflector.underscore ActiveSupport::Inflector.pluralize type
end

.typeObject



68
69
70
# File 'lib/moysklad/resources/base.rb', line 68

def self.type
  ActiveSupport::Inflector.singularize name.split('::').last.to_sym
end

Instance Method Details

#create(model) ⇒ Moysklad::Entities::Base

Создаем запись

Возвращается созданная на сервере сущность



56
57
58
59
# File 'lib/moysklad/resources/base.rb', line 56

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) ⇒ Object

Удаляем запись по uuid



64
65
66
# File 'lib/moysklad/resources/base.rb', line 64

def delete uuid
  client.delete item_path uuid
end

#get(uuid, params = {}) ⇒ Moysklad::Entities::Base

Забираем элемент по uuid



38
39
40
# File 'lib/moysklad/resources/base.rb', line 38

def get uuid, params = {}
  parse_get client.get item_path(uuid), params
end

#list(params = {}) ⇒ Array of Moysklad::Entities::Base

Возвращает список элементов как есть



31
32
33
# File 'lib/moysklad/resources/base.rb', line 31

def list params={}
  load_collection client.get list_path, params
end

#metadataObject



24
25
26
# File 'lib/moysklad/resources/base.rb', line 24

def 
  Moysklad::Entities::.build client.get(), self
end

#update(model) ⇒ Moysklad::Entities::Base

Модифицируем элемент по uuid



45
46
47
# File 'lib/moysklad/resources/base.rb', line 45

def update model
  create model
end