moysklad 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +1 -0
- data/README.md +14 -3
- data/lib/moysklad.rb +3 -2
- data/lib/moysklad/client.rb +37 -10
- data/lib/moysklad/client/errors.rb +60 -30
- data/lib/moysklad/entities.rb +17 -21
- data/lib/moysklad/entities/assortment.rb +6 -0
- data/lib/moysklad/entities/attachment_document.rb +16 -0
- data/lib/moysklad/entities/attribute.rb +114 -37
- data/lib/moysklad/entities/attribute_metadata.rb +9 -31
- data/lib/moysklad/entities/attribute_value.rb +19 -0
- data/lib/moysklad/entities/barcode.rb +10 -4
- data/lib/moysklad/entities/base.rb +23 -8
- data/lib/moysklad/entities/bundle.rb +39 -0
- data/lib/moysklad/entities/characteristic.rb +6 -0
- data/lib/moysklad/entities/characteristic_metadata.rb +6 -0
- data/lib/moysklad/entities/collection.rb +30 -7
- data/lib/moysklad/entities/collection_meta.rb +11 -0
- data/lib/moysklad/entities/common_object.rb +0 -2
- data/lib/moysklad/entities/company_settings_metadata.rb +28 -0
- data/lib/moysklad/entities/consignment.rb +19 -17
- data/lib/moysklad/entities/context.rb +9 -0
- data/lib/moysklad/entities/counterparty.rb +18 -0
- data/lib/moysklad/entities/currency.rb +29 -0
- data/lib/moysklad/entities/custom_entity.rb +20 -10
- data/lib/moysklad/entities/custom_entity_metadata.rb +7 -32
- data/lib/moysklad/entities/customer_order.rb +116 -23
- data/lib/moysklad/entities/customer_order_position.rb +10 -18
- data/lib/moysklad/entities/employee.rb +7 -0
- data/lib/moysklad/entities/entity.rb +42 -0
- data/lib/moysklad/entities/good_folder.rb +1 -0
- data/lib/moysklad/entities/group.rb +7 -0
- data/lib/moysklad/entities/image.rb +17 -0
- data/lib/moysklad/entities/images.rb +10 -0
- data/lib/moysklad/entities/meta.rb +14 -0
- data/lib/moysklad/entities/organization.rb +19 -0
- data/lib/moysklad/entities/owner.rb +4 -0
- data/lib/moysklad/entities/price.rb +5 -8
- data/lib/moysklad/entities/price_type.rb +2 -8
- data/lib/moysklad/entities/product.rb +54 -0
- data/lib/moysklad/entities/productfolder.rb +13 -0
- data/lib/moysklad/entities/rate.rb +9 -0
- data/lib/moysklad/entities/resource_metadata.rb +13 -0
- data/lib/moysklad/entities/service.rb +28 -0
- data/lib/moysklad/entities/shortcut.rb +11 -0
- data/lib/moysklad/entities/store.rb +10 -0
- data/lib/moysklad/entities/time.rb +13 -0
- data/lib/moysklad/entities/uom.rb +7 -0
- data/lib/moysklad/entities/variant.rb +51 -0
- data/lib/moysklad/entities/workflow.rb +11 -0
- data/lib/moysklad/entities/workflow_state.rb +8 -0
- data/lib/moysklad/error.rb +1 -0
- data/lib/moysklad/resources.rb +9 -7
- data/lib/moysklad/resources/assortments.rb +14 -0
- data/lib/moysklad/resources/base.rb +32 -44
- data/lib/moysklad/resources/custom_entities.rb +27 -0
- data/lib/moysklad/resources/custom_entity_metadata.rb +12 -8
- data/lib/moysklad/resources/embedded_entity_metadata.rb +0 -1
- data/lib/moysklad/resources/indexed.rb +23 -35
- data/lib/moysklad/resources/indexed_cache.rb +36 -0
- data/lib/moysklad/resources/load_all.rb +21 -0
- data/lib/moysklad/resources/products.rb +10 -0
- data/lib/moysklad/resources/where_filter.rb +0 -1
- data/lib/moysklad/universe.rb +16 -2
- data/lib/moysklad/version.rb +1 -1
- data/moysklad.gemspec +3 -1
- data/scripts/rest.sh +5 -2
- data/spec/fixtures/Good_WithManyAttributes.raw +13 -0
- data/spec/fixtures/Workflow_list.raw +15 -0
- data/spec/fixtures/good_with_image.xml +39 -0
- data/spec/lib/moysklad/entities/customer_order_spec.rb +7 -2
- data/spec/lib/moysklad/entities/good_spec.rb +9 -0
- data/spec/lib/moysklad/resources/workflows_spec.rb +21 -0
- data/spec/spec_helper.rb +2 -1
- data/test.rb +177 -0
- metadata +97 -44
- data/lib/moysklad/entities/common.rb +0 -15
- data/lib/moysklad/entities/feature.rb +0 -20
- data/lib/moysklad/entities/good.rb +0 -34
- data/lib/moysklad/entities/stock_to.rb +0 -33
- data/lib/moysklad/entities/warehouse.rb +0 -15
- data/lib/moysklad/entities/xml_fix.rb +0 -15
@@ -1,20 +0,0 @@
|
|
1
|
-
module Moysklad::Entities
|
2
|
-
class Feature < Base
|
3
|
-
include CommonObject
|
4
|
-
|
5
|
-
tag 'feature'
|
6
|
-
|
7
|
-
attribute :goodUuid, String
|
8
|
-
|
9
|
-
attribute :archived, Boolean
|
10
|
-
|
11
|
-
has_many :attributes, Moysklad::Entities::Attribute
|
12
|
-
has_many :barcodes, Moysklad::Entities::Barcode
|
13
|
-
|
14
|
-
def good universe
|
15
|
-
cache :good, universe do
|
16
|
-
universe.good.find goodUuid
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
module Moysklad::Entities
|
2
|
-
class Good < Base
|
3
|
-
include CommonObject
|
4
|
-
include Moysklad::Entities::XmlFix
|
5
|
-
|
6
|
-
tag 'good'
|
7
|
-
|
8
|
-
attribute :isSerialTrackable, Boolean
|
9
|
-
attribute :buyPrice, Float
|
10
|
-
attribute :buyCurrencyUuid, String
|
11
|
-
attribute :minPrice, Float
|
12
|
-
attribute :salePrice, Float
|
13
|
-
attribute :saleCurrencyUuid, String
|
14
|
-
attribute :weight, Float
|
15
|
-
attribute :volume, Float
|
16
|
-
attribute :parentUuid, String
|
17
|
-
attribute :productCode, String
|
18
|
-
attribute :uomUuid, String
|
19
|
-
|
20
|
-
element :code, String
|
21
|
-
element :salePrices, Moysklad::Entities::SalePrices
|
22
|
-
|
23
|
-
has_many :attributes, Attribute
|
24
|
-
|
25
|
-
# preferences
|
26
|
-
# images
|
27
|
-
|
28
|
-
def features universe
|
29
|
-
cache :features, universe do
|
30
|
-
universe.features.where goodUuid: uuid
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
module Moysklad::Entities
|
2
|
-
class StockTO < Base
|
3
|
-
include HappyMapper
|
4
|
-
include Moysklad::Entities::XmlFix
|
5
|
-
|
6
|
-
tag 'stockTO'
|
7
|
-
|
8
|
-
attribute :productCode, String
|
9
|
-
attribute :uomName, String
|
10
|
-
|
11
|
-
attribute :quantity, Float # Доступный остаток на склада
|
12
|
-
attribute :reserve, Float # Сколько в резерве
|
13
|
-
attribute :stock, Float # Остаток на складе не считая резерва
|
14
|
-
|
15
|
-
attribute :inTransit, Float
|
16
|
-
attribute :sumTotal, Float
|
17
|
-
attribute :saleAmount, Float
|
18
|
-
attribute :minimumBalance, Float
|
19
|
-
attribute :category, String
|
20
|
-
attribute :externalCode, String
|
21
|
-
attribute :parentUuid, String
|
22
|
-
attribute :defaultConsignment, Boolean
|
23
|
-
attribute :salePrice, Float
|
24
|
-
|
25
|
-
# Есть только при showConsignments
|
26
|
-
attribute :consignmentName, String
|
27
|
-
attribute :consignmentUuid, String
|
28
|
-
|
29
|
-
element :goodRef, Moysklad::Entities::GoodRef
|
30
|
-
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module Moysklad::Entities
|
2
|
-
# https://online.moysklad.ru/exchange/rest/ms/xml/Warehouse/list
|
3
|
-
class Warehouse < Base
|
4
|
-
include CommonObject
|
5
|
-
|
6
|
-
tag 'warehouse'
|
7
|
-
|
8
|
-
attribute :agentUuid, String
|
9
|
-
attribute :archived, Boolean
|
10
|
-
attribute :code, String
|
11
|
-
|
12
|
-
element :contact, Contact
|
13
|
-
has_many :slots, Slot
|
14
|
-
end
|
15
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module Moysklad::Entities::XmlFix
|
2
|
-
extend ::ActiveSupport::Concern
|
3
|
-
|
4
|
-
def to_xml builder = nil,default_namespace = nil,tag_from_parent = nil
|
5
|
-
unless builder
|
6
|
-
builder = Nokogiri::XML::Builder.new(encoding: 'utf-8')
|
7
|
-
write_out_to_xml = true
|
8
|
-
end
|
9
|
-
|
10
|
-
result = super builder, default_namespace, tag_from_parent
|
11
|
-
|
12
|
-
write_out_to_xml ? result.to_xml : result
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|