moysklad 0.0.2 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.travis.yml +2 -0
  4. data/Guardfile +5 -0
  5. data/Rakefile +6 -0
  6. data/lib/moysklad/client.rb +1 -1
  7. data/lib/moysklad/client/errors.rb +6 -4
  8. data/lib/moysklad/entities.rb +5 -0
  9. data/lib/moysklad/entities/attribute.rb +27 -2
  10. data/lib/moysklad/entities/attribute_metadata.rb +27 -0
  11. data/lib/moysklad/entities/base.rb +10 -0
  12. data/lib/moysklad/entities/common.rb +0 -1
  13. data/lib/moysklad/entities/custom_entity.rb +18 -0
  14. data/lib/moysklad/entities/custom_entity_metadata.rb +35 -0
  15. data/lib/moysklad/entities/customer_order.rb +4 -0
  16. data/lib/moysklad/entities/customer_order_position.rb +1 -0
  17. data/lib/moysklad/entities/embedded_entity_metadata.rb +2 -0
  18. data/lib/moysklad/entities/feature.rb +2 -3
  19. data/lib/moysklad/entities/good.rb +12 -9
  20. data/lib/moysklad/entities/good_folder.rb +9 -0
  21. data/lib/moysklad/entities/price.rb +1 -1
  22. data/lib/moysklad/entities/xml_fix.rb +9 -5
  23. data/lib/moysklad/resources.rb +7 -11
  24. data/lib/moysklad/resources/base.rb +11 -2
  25. data/lib/moysklad/resources/custom_entity_metadata.rb +18 -0
  26. data/lib/moysklad/resources/indexed.rb +56 -46
  27. data/lib/moysklad/resources/metadata.rb +20 -0
  28. data/lib/moysklad/resources/metadata_indexed.rb +7 -0
  29. data/lib/moysklad/resources/subresource.rb +21 -0
  30. data/lib/moysklad/resources/where_filter.rb +16 -0
  31. data/lib/moysklad/universe.rb +1 -5
  32. data/lib/moysklad/version.rb +1 -1
  33. data/moysklad.gemspec +2 -0
  34. data/scripts/rest.sh +7 -1
  35. data/spec/fixtures/302.raw +15 -0
  36. data/spec/fixtures/400.raw +8 -0
  37. data/spec/fixtures/CustomEntityMetadata_list.raw +14 -0
  38. data/spec/fixtures/CustomEntity_list.raw +14 -0
  39. data/spec/fixtures/Good_e932ebe1-2e22-11e4-9406-002590a28eca.raw +12 -0
  40. data/spec/fixtures/Good_eb77ad57-2e22-11e4-4030-002590a28eca.raw +12 -0
  41. data/spec/fixtures/Goods_list.raw +14 -0
  42. data/spec/fixtures/Metadata_list.raw +14 -0
  43. data/spec/fixtures/attribute_boolean.xml +6 -0
  44. data/spec/fixtures/attribute_dictionary.xml +5 -0
  45. data/spec/fixtures/attribute_double.xml +6 -0
  46. data/spec/fixtures/attribute_file.xml +12 -0
  47. data/spec/fixtures/attribute_long.xml +6 -0
  48. data/spec/fixtures/attribute_text.xml +5 -0
  49. data/spec/fixtures/attribute_time.xml +6 -0
  50. data/spec/fixtures/attribute_url.xml +6 -0
  51. data/spec/fixtures/customer_order.xml +28 -0
  52. data/spec/fixtures/good_with_attributes.raw +12 -0
  53. data/spec/lib/moysklad/entities/attribute_metadata_spec.rb +30 -0
  54. data/spec/lib/moysklad/entities/attribute_spec.rb +36 -0
  55. data/spec/lib/moysklad/entities/custom_entity_metadata_spec.rb +34 -0
  56. data/spec/lib/moysklad/entities/custom_entity_spec.rb +35 -0
  57. data/spec/lib/moysklad/entities/customer_order_position_spec.rb +35 -0
  58. data/spec/lib/moysklad/entities/customer_order_spec.rb +53 -0
  59. data/spec/lib/moysklad/entities/good_spec.rb +46 -0
  60. data/spec/lib/moysklad/resources/base_spec.rb +1 -3
  61. data/spec/lib/moysklad/resources/custom_entity_metadata_spec.rb +13 -0
  62. data/spec/lib/moysklad/resources/good_folders_spec.rb +17 -0
  63. data/spec/lib/moysklad/resources/indexed_spec.rb +31 -3
  64. data/spec/lib/moysklad/resources/metadata_indexed_spec.rb +20 -0
  65. data/spec/lib/moysklad/resources/metadata_spec.rb +15 -0
  66. data/spec/lib/moysklad/resources/subresource_spec.rb +13 -0
  67. data/spec/lib/moysklad/resources_spec.rb +1 -0
  68. data/spec/lib/moysklad/universe_spec.rb +1 -0
  69. data/spec/support/resource.rb +10 -0
  70. metadata +99 -2
@@ -13,6 +13,7 @@ describe Moysklad::Universe do
13
13
  it 'should have a features resoruce' do
14
14
  expect(subject.features).to be_a Moysklad::Resources::Indexed
15
15
  expect(subject.features.resource).to be_a Moysklad::Resources::Features
16
+ expect(subject.metadata.resource).to be_a Moysklad::Resources::Metadata
16
17
  end
17
18
  end
18
19
 
@@ -24,10 +24,20 @@ module RspecResourceSupport
24
24
  863
25
25
  end
26
26
 
27
+ def stub_rest type, action=:list, start=nil
28
+ url = "https://online.moysklad.ru/exchange/rest/ms/xml/#{type}/#{action}"
29
+ url << "?start=#{start}" if start
30
+ stub_request(:get, url).to_return File.new "./spec/fixtures/#{type}_#{action}.raw"
31
+ end
32
+
27
33
  def client
28
34
  @client ||= Moysklad::Client.new
29
35
  end
30
36
 
37
+ def universe
38
+ @universe ||= Moysklad::Universe.new client: client
39
+ end
40
+
31
41
  def resource_list_url res=nil, start=nil
32
42
  res ||= resource
33
43
  url = Moysklad::Client::URL + '/' + res.send(:list_path)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moysklad
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danil Pismenny
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-13 00:00:00.000000000 Z
11
+ date: 2014-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -122,6 +122,34 @@ dependencies:
122
122
  - - '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: guard-ctags-bundler
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: yard
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
125
153
  description: Правильный клиент для работы c xml rest API moyslad.ru, созданный по
126
154
  принципам SOLID
127
155
  email:
@@ -143,6 +171,7 @@ files:
143
171
  - lib/moysklad/client/errors.rb
144
172
  - lib/moysklad/entities.rb
145
173
  - lib/moysklad/entities/attribute.rb
174
+ - lib/moysklad/entities/attribute_metadata.rb
146
175
  - lib/moysklad/entities/barcode.rb
147
176
  - lib/moysklad/entities/base.rb
148
177
  - lib/moysklad/entities/collection.rb
@@ -152,12 +181,15 @@ files:
152
181
  - lib/moysklad/entities/company_concern.rb
153
182
  - lib/moysklad/entities/consignment.rb
154
183
  - lib/moysklad/entities/contract.rb
184
+ - lib/moysklad/entities/custom_entity.rb
185
+ - lib/moysklad/entities/custom_entity_metadata.rb
155
186
  - lib/moysklad/entities/customer_order.rb
156
187
  - lib/moysklad/entities/customer_order_position.rb
157
188
  - lib/moysklad/entities/embedded_entity_metadata.rb
158
189
  - lib/moysklad/entities/error.rb
159
190
  - lib/moysklad/entities/feature.rb
160
191
  - lib/moysklad/entities/good.rb
192
+ - lib/moysklad/entities/good_folder.rb
161
193
  - lib/moysklad/entities/good_ref.rb
162
194
  - lib/moysklad/entities/my_company.rb
163
195
  - lib/moysklad/entities/page.rb
@@ -170,23 +202,58 @@ files:
170
202
  - lib/moysklad/errors.rb
171
203
  - lib/moysklad/resources.rb
172
204
  - lib/moysklad/resources/base.rb
205
+ - lib/moysklad/resources/custom_entity_metadata.rb
173
206
  - lib/moysklad/resources/indexed.rb
207
+ - lib/moysklad/resources/metadata.rb
208
+ - lib/moysklad/resources/metadata_indexed.rb
174
209
  - lib/moysklad/resources/stock.rb
210
+ - lib/moysklad/resources/subresource.rb
211
+ - lib/moysklad/resources/where_filter.rb
175
212
  - lib/moysklad/universe.rb
176
213
  - lib/moysklad/version.rb
177
214
  - moysklad.gemspec
178
215
  - scripts/rest.sh
216
+ - spec/fixtures/302.raw
217
+ - spec/fixtures/400.raw
179
218
  - spec/fixtures/401.html
180
219
  - spec/fixtures/401_2.html
181
220
  - spec/fixtures/405.raw
182
221
  - spec/fixtures/505.html
183
222
  - spec/fixtures/Consignment_list_0.raw
184
223
  - spec/fixtures/Consignment_list_1000.raw
224
+ - spec/fixtures/CustomEntityMetadata_list.raw
225
+ - spec/fixtures/CustomEntity_list.raw
185
226
  - spec/fixtures/Feature_list.raw
186
227
  - spec/fixtures/Feature_list_1000.raw
228
+ - spec/fixtures/Good_e932ebe1-2e22-11e4-9406-002590a28eca.raw
229
+ - spec/fixtures/Good_eb77ad57-2e22-11e4-4030-002590a28eca.raw
230
+ - spec/fixtures/Goods_list.raw
231
+ - spec/fixtures/Metadata_list.raw
232
+ - spec/fixtures/attribute_boolean.xml
233
+ - spec/fixtures/attribute_dictionary.xml
234
+ - spec/fixtures/attribute_double.xml
235
+ - spec/fixtures/attribute_file.xml
236
+ - spec/fixtures/attribute_long.xml
237
+ - spec/fixtures/attribute_text.xml
238
+ - spec/fixtures/attribute_time.xml
239
+ - spec/fixtures/attribute_url.xml
240
+ - spec/fixtures/customer_order.xml
241
+ - spec/fixtures/good_with_attributes.raw
187
242
  - spec/lib/moysklad/client/errors_spec.rb
243
+ - spec/lib/moysklad/entities/attribute_metadata_spec.rb
244
+ - spec/lib/moysklad/entities/attribute_spec.rb
245
+ - spec/lib/moysklad/entities/custom_entity_metadata_spec.rb
246
+ - spec/lib/moysklad/entities/custom_entity_spec.rb
247
+ - spec/lib/moysklad/entities/customer_order_position_spec.rb
248
+ - spec/lib/moysklad/entities/customer_order_spec.rb
249
+ - spec/lib/moysklad/entities/good_spec.rb
188
250
  - spec/lib/moysklad/resources/base_spec.rb
251
+ - spec/lib/moysklad/resources/custom_entity_metadata_spec.rb
252
+ - spec/lib/moysklad/resources/good_folders_spec.rb
189
253
  - spec/lib/moysklad/resources/indexed_spec.rb
254
+ - spec/lib/moysklad/resources/metadata_indexed_spec.rb
255
+ - spec/lib/moysklad/resources/metadata_spec.rb
256
+ - spec/lib/moysklad/resources/subresource_spec.rb
190
257
  - spec/lib/moysklad/resources_spec.rb
191
258
  - spec/lib/moysklad/universe_spec.rb
192
259
  - spec/lib/moysklad_spec.rb
@@ -217,17 +284,47 @@ signing_key:
217
284
  specification_version: 4
218
285
  summary: Клиент для работы с API moysklad.ru
219
286
  test_files:
287
+ - spec/fixtures/302.raw
288
+ - spec/fixtures/400.raw
220
289
  - spec/fixtures/401.html
221
290
  - spec/fixtures/401_2.html
222
291
  - spec/fixtures/405.raw
223
292
  - spec/fixtures/505.html
224
293
  - spec/fixtures/Consignment_list_0.raw
225
294
  - spec/fixtures/Consignment_list_1000.raw
295
+ - spec/fixtures/CustomEntityMetadata_list.raw
296
+ - spec/fixtures/CustomEntity_list.raw
226
297
  - spec/fixtures/Feature_list.raw
227
298
  - spec/fixtures/Feature_list_1000.raw
299
+ - spec/fixtures/Good_e932ebe1-2e22-11e4-9406-002590a28eca.raw
300
+ - spec/fixtures/Good_eb77ad57-2e22-11e4-4030-002590a28eca.raw
301
+ - spec/fixtures/Goods_list.raw
302
+ - spec/fixtures/Metadata_list.raw
303
+ - spec/fixtures/attribute_boolean.xml
304
+ - spec/fixtures/attribute_dictionary.xml
305
+ - spec/fixtures/attribute_double.xml
306
+ - spec/fixtures/attribute_file.xml
307
+ - spec/fixtures/attribute_long.xml
308
+ - spec/fixtures/attribute_text.xml
309
+ - spec/fixtures/attribute_time.xml
310
+ - spec/fixtures/attribute_url.xml
311
+ - spec/fixtures/customer_order.xml
312
+ - spec/fixtures/good_with_attributes.raw
228
313
  - spec/lib/moysklad/client/errors_spec.rb
314
+ - spec/lib/moysklad/entities/attribute_metadata_spec.rb
315
+ - spec/lib/moysklad/entities/attribute_spec.rb
316
+ - spec/lib/moysklad/entities/custom_entity_metadata_spec.rb
317
+ - spec/lib/moysklad/entities/custom_entity_spec.rb
318
+ - spec/lib/moysklad/entities/customer_order_position_spec.rb
319
+ - spec/lib/moysklad/entities/customer_order_spec.rb
320
+ - spec/lib/moysklad/entities/good_spec.rb
229
321
  - spec/lib/moysklad/resources/base_spec.rb
322
+ - spec/lib/moysklad/resources/custom_entity_metadata_spec.rb
323
+ - spec/lib/moysklad/resources/good_folders_spec.rb
230
324
  - spec/lib/moysklad/resources/indexed_spec.rb
325
+ - spec/lib/moysklad/resources/metadata_indexed_spec.rb
326
+ - spec/lib/moysklad/resources/metadata_spec.rb
327
+ - spec/lib/moysklad/resources/subresource_spec.rb
231
328
  - spec/lib/moysklad/resources_spec.rb
232
329
  - spec/lib/moysklad/universe_spec.rb
233
330
  - spec/lib/moysklad_spec.rb