xsys 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -3
- data/lib/xsys.rb +3 -0
- data/lib/xsys/api.rb +13 -0
- data/lib/xsys/model/background_job.rb +30 -0
- data/lib/xsys/model/job_event.rb +21 -0
- data/lib/xsys/model/product.rb +6 -4
- data/lib/xsys/model/product_price_list.rb +5 -1
- data/lib/xsys/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad3b0937aab36ef0b51174abe1ae3802c7f3c671
|
4
|
+
data.tar.gz: ac5d1d9c1c3c473cbe83209b4c2c91ba029889b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d26af9016080af21d6ad5bc92ac57c3a521c1a6ba4dc39388030d1e0454243b349dc0be6396c6051a21c50f12beb41ec346cfeaef43a2a555a5148897f94e6e5
|
7
|
+
data.tar.gz: 55379f99473aa080448be57773b8ea7db1b2329517ff196b280521fc5216441f3f6cb64a3b03f210e2ec2f6359304b83939e6ad72c6e9ae1e535c62b027292e2
|
data/CHANGELOG.md
CHANGED
@@ -104,12 +104,16 @@
|
|
104
104
|
|
105
105
|
## v0.0.27
|
106
106
|
|
107
|
-
*
|
107
|
+
* Renamed transaction_id to id in transaction
|
108
108
|
|
109
109
|
## v0.1.0
|
110
110
|
|
111
|
-
*
|
111
|
+
* Redesigned API to minimal functionality
|
112
112
|
|
113
113
|
## v0.1.1
|
114
114
|
|
115
|
-
*
|
115
|
+
* General fixes
|
116
|
+
|
117
|
+
## v0.2.0
|
118
|
+
|
119
|
+
* Added background jobs
|
data/lib/xsys.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'xsys/model/background_job'
|
2
|
+
require 'xsys/model/job_event'
|
1
3
|
require 'xsys/model/price_list'
|
2
4
|
require 'xsys/model/product'
|
3
5
|
require 'xsys/model/product_category'
|
@@ -15,3 +17,4 @@ require 'xsys/version'
|
|
15
17
|
# dependencies
|
16
18
|
require 'rest-client'
|
17
19
|
require 'singleton'
|
20
|
+
require 'time'
|
data/lib/xsys/api.rb
CHANGED
@@ -5,6 +5,19 @@ module Xsys
|
|
5
5
|
@access_token = args[:access_token]
|
6
6
|
end
|
7
7
|
|
8
|
+
def self.get_background_job(code)
|
9
|
+
Model::BackgroundJob.new(get_request("/background_jobs/#{code}")[:body])
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.update_background_job(code, params)
|
13
|
+
Model::BackgroundJob.new(put_request("/background_jobs/#{code}", params)[:body])
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.add_background_job_event(code, event_description)
|
17
|
+
params = { description: event_description }
|
18
|
+
Model::JobEvent.new(post_request("/background_jobs/#{code}/job_events", params)[:body])
|
19
|
+
end
|
20
|
+
|
8
21
|
def self.get_price_lists(filters={})
|
9
22
|
get_request('/price_lists')[:body].map { |r| Model::PriceList.new(r) }
|
10
23
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Xsys
|
2
|
+
module Model
|
3
|
+
class BackgroundJob
|
4
|
+
def self.attr_list
|
5
|
+
[:code, :shop_code, :label, :arguments, :status, :processed_items
|
6
|
+
:total_items, :observations, :started_at, :ended_at, :events]
|
7
|
+
end
|
8
|
+
|
9
|
+
attr_reader *attr_list
|
10
|
+
|
11
|
+
def initialize(attributes={})
|
12
|
+
attributes.each do |k, v|
|
13
|
+
if k.to_s == 'events'
|
14
|
+
@events = v.map { |x| JobEvent.new(x) }
|
15
|
+
elsif k.to_s == 'started_at'
|
16
|
+
@started_at = Time.parse(v)
|
17
|
+
elsif k.to_s == 'ended_at'
|
18
|
+
@ended_at = Time.parse(v)
|
19
|
+
else
|
20
|
+
self.send("#{k}=", v) if self.respond_to?(k)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
attr_writer *attr_list
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Xsys
|
2
|
+
module Model
|
3
|
+
class JobEvent
|
4
|
+
def self.attr_list
|
5
|
+
[:description]
|
6
|
+
end
|
7
|
+
|
8
|
+
attr_reader *attr_list
|
9
|
+
|
10
|
+
def initialize(attributes={})
|
11
|
+
attributes.each do |k, v|
|
12
|
+
self.send("#{k}=", v) if self.respond_to?(k)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
attr_writer *attr_list
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/xsys/model/product.rb
CHANGED
@@ -11,14 +11,16 @@ module Xsys
|
|
11
11
|
|
12
12
|
def initialize(attributes={})
|
13
13
|
attributes.each do |k, v|
|
14
|
-
if k == 'category'
|
14
|
+
if k.to_s == 'category'
|
15
15
|
@category = ProductCategory.new(v)
|
16
|
-
elsif k == 'provider'
|
16
|
+
elsif k.to_s == 'provider'
|
17
17
|
@provider = ProductProvider.new(v)
|
18
|
-
elsif k == 'stocks'
|
18
|
+
elsif k.to_s == 'stocks'
|
19
19
|
@stocks = v.map { |s| Stock.new(s) }
|
20
|
-
elsif k == 'prices'
|
20
|
+
elsif k.to_s == 'prices'
|
21
21
|
@prices = v.map { |s| ProductPriceList.new(s) }
|
22
|
+
elsif k.to_s == 'cost_updated_at'
|
23
|
+
@cost_updated_at = Time.parse(v)
|
22
24
|
else
|
23
25
|
self.send("#{k}=", v) if self.respond_to?(k)
|
24
26
|
end
|
@@ -10,7 +10,11 @@ module Xsys
|
|
10
10
|
|
11
11
|
def initialize(attributes={})
|
12
12
|
attributes.each do |k, v|
|
13
|
-
|
13
|
+
if k.to_s == 'price_updated_at'
|
14
|
+
@price_updated_at = Time.parse(v)
|
15
|
+
else
|
16
|
+
self.send("#{k}=", v) if self.respond_to?(k)
|
17
|
+
end
|
14
18
|
end
|
15
19
|
end
|
16
20
|
|
data/lib/xsys/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xsys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matias Hick
|
@@ -64,6 +64,8 @@ files:
|
|
64
64
|
- README.md
|
65
65
|
- lib/xsys.rb
|
66
66
|
- lib/xsys/api.rb
|
67
|
+
- lib/xsys/model/background_job.rb
|
68
|
+
- lib/xsys/model/job_event.rb
|
67
69
|
- lib/xsys/model/price_list.rb
|
68
70
|
- lib/xsys/model/product.rb
|
69
71
|
- lib/xsys/model/product_category.rb
|