weighflow_cli 0.2.10 → 0.2.11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93ff8b4ee53a8072ca02fba4d89306b6fa79e267acf5cef3b1b19e7f3026b513
4
- data.tar.gz: 852410b8061d467471b9115a50ce9e9314c4cada5be144f2f7dfce1e207a757c
3
+ metadata.gz: '0880ba4d3668b12210a21ab60ca40dc37cbefe0e2b18a5cca4465bdda5ca28ba'
4
+ data.tar.gz: d0bfc91c553fbe48c1f77d1de71ea6427c925ab3300ade47f2a16ba00a2b09ad
5
5
  SHA512:
6
- metadata.gz: 553708867bc04f2ffe9287be500c07c5c22e7baf5e2a44a4504637dbff7b62f758abb99c245a47a36c3c447342f1fcbc8f7d01981320f4d77d43ec82eb458e46
7
- data.tar.gz: b7fb62070b2028f027e630574f0c1903ab64bb13fc0b3ccef2e2a183ea44c27566f4ad09cf52b049e302ca6bd9b8c26b0c89fb1c0d91109738d63641da71c00f
6
+ metadata.gz: 62f8a787fcd636f2c9dde240d282bec123d558ab7c72a24680a2e1c03a2a9e206779553c2676154b6f8034e4b6516855581fb6192d12dc8b056eb87001973306
7
+ data.tar.gz: 7a88511b284eadaf3387642a5ee4fb08ece3b8a870f98fb52a9ed357903ac123266670d596ecbdc5da6197a56e75a771b4ec0b1c22bcc0d38291d0b2dcd97791
data/.byebug_history CHANGED
@@ -1,3 +1,67 @@
1
+ c
2
+ results.first.value
3
+ results.first.status
4
+ results.first.methods
5
+ ap results.first.methods
6
+ ap results.first.mehtods
7
+ ap results
8
+ c
9
+ ap orders.size
10
+ n
11
+ c
12
+ q
13
+ c
14
+ ap results[:commodity_outbounds][:orders]
15
+ ap results[:commodity_outbounds]
16
+ ap results.keys
17
+ ap results.flatten
18
+ ap results.keys
19
+ ap results
20
+ c
21
+ q
22
+ c
23
+ find_orders(selection: 'OI')
24
+ find_orders(selection: 'OC')
25
+ self
26
+ ap auth_headers
27
+ self
28
+ c
29
+ results
30
+ c
31
+ ap response.body
32
+ c
33
+ ap response.body
34
+ c
35
+ ap selection
36
+ c
37
+ ap selection
38
+ c
39
+ Array[inventory_outbounds[:orders]].compact
40
+ Array[inventory_outbounds[:orders]]
41
+ Array.new(inventory_outbounds[:orders])
42
+ ap inventory_outbounds[:orders]
43
+ c
44
+ e
45
+ n
46
+ c
47
+ Array.new(commodity_outbounds[:orders])
48
+ Array.new(ommodity_outbounds[:orders])
49
+ Array(ommodity_outbounds[:orders])
50
+ commodity_outbounds[:orders]
51
+ ap commodity_outbounds[:orders]
52
+ Array[commodity_outbounds[:orders]]
53
+ ap commodity_outbounds[:orders]
54
+ c
55
+ ap inventory_outbounds
56
+ require 'awesome_print'
57
+ ap inventory_outbounds
58
+ c
59
+ ap inventory_outbounds
60
+ ap commodity_inbounds
61
+ ap commodity_outbounds
62
+ require 'awesome_print'
63
+ ap commodity_outbounds
64
+ commodity_outbounds
1
65
  q
2
66
  C
3
67
  WeighflowCli::ROOT_PATH
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- weighflow_cli (0.2.9)
4
+ weighflow_cli (0.2.10)
5
5
  httparty
6
6
  thor (~> 1.1.0)
7
7
 
data/lib/weighflow_cli.rb CHANGED
@@ -3,10 +3,19 @@
3
3
  require 'thor'
4
4
  require 'httparty'
5
5
 
6
+
7
+ ##
8
+ # Development mode only
9
+ #
10
+ if ENV['RUBY_ENV'] == 'development'
11
+ require 'byebug'
12
+ require 'awesome_print'
13
+ end
14
+ #
15
+ #
6
16
  require_relative "weighflow_cli/version"
7
17
  require_relative 'weighflow_cli/rendering'
8
18
  require_relative 'weighflow_cli/client'
9
- #require_relative 'weighflow_cli/cli_weights'
10
19
  require_relative 'weighflow_cli/cli'
11
20
  require_relative 'weighflow_cli/credentials'
12
21
  require_relative 'weighflow_cli/order_handler'
@@ -35,7 +35,7 @@ module WeighflowCli
35
35
  end
36
36
 
37
37
 
38
- def commodity_outbound_truck
38
+ def commodity_outbound_truck
39
39
  find_orders(selection: 'OC')
40
40
  end
41
41
 
@@ -56,7 +56,7 @@ module WeighflowCli
56
56
  private
57
57
 
58
58
  def find_orders(selection: 'OC')
59
- response = self.class.get('/orders', query: { s: selection })
59
+ response = self.class.get('/orders', query: { s: selection })
60
60
  render_json(response)
61
61
  end
62
62
 
@@ -1,30 +1,41 @@
1
1
  require 'digest'
2
+
2
3
 
3
4
 
4
5
  module WeighflowCli
5
6
 
6
7
  module OrderHandler
7
-
8
8
  #
9
9
  # Pull order data from Weighflow and store in local repository
10
10
  def self.pull
11
- commodity_outbounds = WeighflowCli.client.commodity_outbound_truck
12
- commodity_inbounds = WeighflowCli.client.commodity_inbound_truck
11
+ ##
12
+ # api methods to collect orders
13
+ method_names = [:commodity_outbound_truck,
14
+ :commodity_inbound_truck,
15
+ :bulk_inventory_outbound_truck,
16
+ :bulk_inventory_inbound_truck]
13
17
  #
14
- inventory_outbounds = WeighflowCli.client.bulk_inventory_outbound_truck
15
- inventory_inbounds = WeighflowCli.client.bulk_inventory_inbound_truck
18
+ # collect orders using threads
19
+ results = threaded_api_query(method_names)
16
20
  #
17
- # combine
18
-
19
- orders = commodity_outbounds[:orders] + commodity_inbounds[:orders] + inventory_outbounds[:orders] + inventory_inbounds[:orders]
21
+ # flatten order array of hashes
22
+ orders = results.map { |orders| orders[:orders] }.flatten
20
23
  #
24
+ # Store in repository
21
25
  diff = OrderRepository.new(orders)
22
26
  diff.perform
23
-
24
27
  end
25
28
 
26
29
 
30
+ ##
31
+ # Process multiple api calls in threads
32
+ def self.threaded_api_query(method_names)
33
+ method_names.map do |name|
34
+ Thread.new { WeighflowCli.client.send(name) }
35
+ end.map(&:value)
36
+ end
27
37
 
38
+
28
39
  #
29
40
  #
30
41
  # Find a single order with details from the stored repository
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
  module WeighflowCli
6
- VERSION = "0.2.10"
6
+ VERSION = "0.2.11"
7
7
 
8
8
 
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weighflow_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.10
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruce Martin