item_builder 0.1.62 → 0.1.63

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: 05134b331b2cdd689c0ac1a1fa28f923d4adc16386b7a26d86abaf3182a26a86
4
- data.tar.gz: 011e8b088536b1d8e9c548f1a48624d2b41d428314b76fd243256c23757dcf06
3
+ metadata.gz: 1b48a75c5e15be8f6899f995d9a25f6e2c8fece519738579714ec81f6125ca6d
4
+ data.tar.gz: b4a9cebcec35b4fb2fbf5336526a786c99275bef0677334d78bef7a85033e524
5
5
  SHA512:
6
- metadata.gz: 4bbd5073781ffeff11cb643d3b3dc641b856b08e08576901174ca671195850f9cf333700627070a10d06d487dfdb2c6685d1f78481125ad1d212f0933ba08630
7
- data.tar.gz: 1cc851fa3dfbadf7ec8db81ae1f5c7d753f4d5f68ffba4a546c3aa232f8cab5c6dce0dab9c4e837028ded567eb54427760bbdcaad529f1db5f22547546775484
6
+ metadata.gz: 372fbfc1f0d49fbfaf9eb81af4bca332131e6f034a92656f93c22a51229b593ccbf519ce32c75db2978b4086735f1e532c883b025e599f64a75530c0ddc938b9
7
+ data.tar.gz: a48406e9bfb520fd5e5d3d034cbb89717b260bc59c68e7ceca1bc9328c87e1366e0483579738118ddd5c1f3af17a91ecf2e7c9a0df9371f3301f0abd5fd4a054
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'item_builder/modes/create/base'
4
+ class ItemBuilder
5
+ module Modes
6
+ module Create
7
+ class TokopediaService < Base
8
+ def perform
9
+ {
10
+ category: category,
11
+ master_option_types: master_option_types
12
+ }
13
+ end
14
+
15
+ def category
16
+ {
17
+ id: item_listing&.item_listing_category&.id,
18
+ local_id: item_listing&.item_listing_category&.tokopedia&.local_id,
19
+ name: item_listing&.item_listing_category&.tokopedia&.name
20
+ }
21
+ end
22
+
23
+ def master_option_types
24
+ item.option_types.map do |option_type|
25
+ {
26
+ name: option_type.name,
27
+ option_list: option_list(option_type)
28
+ }
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def option_list(option_type)
35
+ options = option_type
36
+ .options
37
+ .joins(:variant_option_associations)
38
+ .where({item_variant_option_associations: {variant_id: variant_ids}})
39
+ .pluck(:name)
40
+ .reject{|option_name| option_name.blank? }
41
+ .map{|name| YAML.load(name)}
42
+ end
43
+
44
+ def variant_ids
45
+ @variant_ids ||= item.variants.pluck(:id)
46
+ end
47
+
48
+ def item
49
+ @item ||= item_listing.item
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'item_builder/modes.rb'
4
4
  require 'item_builder/modes/create/shopee_service'
5
+ require 'item_builder/modes/create/tokopedia_service'
5
6
  class ItemBuilder
6
7
  module Modes
7
8
  class CreateService
@@ -9,6 +10,7 @@ class ItemBuilder
9
10
 
10
11
  CREATE_CHANNEL = {}.tap do |hash|
11
12
  hash[12] = :Shopee
13
+ hash[15] = :Tokopedia
12
14
  end.freeze
13
15
 
14
16
  def perform
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'item_builder/modes/map_create/base'
4
+ class ItemBuilder
5
+ module Modes
6
+ module MapCreate
7
+ class TokopediaService < Base
8
+ def perform
9
+ {
10
+ item_custom_fields: [],
11
+ variant_custom_fields: variant_custom_fields,
12
+ new_condition: listing.new_condition,
13
+ minimum_order: listing.minimum_order,
14
+ etalase_id: listing.tokopedia_showcase_id,
15
+ master_option_types: master_option_types
16
+ }
17
+ end
18
+
19
+ private
20
+
21
+ def variant_custom_fields
22
+ listing.item_listing_variant_custom_fields.map do |variant|
23
+ {
24
+ value: YAML.load(variant.value),
25
+ local_id: variant&.tokopedia&.local_id,
26
+ name: variant&.tokopedia&.name,
27
+ identifier: variant&.tokopedia&.display_name
28
+ }
29
+ end
30
+ end
31
+
32
+ def master_option_types
33
+ listing
34
+ .variant
35
+ .options.order(:option_type_id)
36
+ .pluck(:name)
37
+ .map{|name| YAML.load(name)}
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'item_builder/modes.rb'
4
4
  require 'item_builder/modes/map_create/shopee_service'
5
+ require 'item_builder/modes/map_create/tokopedia_service'
5
6
  class ItemBuilder
6
7
  module Modes
7
8
  class MapCreateService
@@ -9,6 +10,7 @@ class ItemBuilder
9
10
 
10
11
  MAP_CREATE_CHANNEL = {}.tap do |hash|
11
12
  hash[12] = :Shopee
13
+ hash[15] = :Tokopedia
12
14
  end.freeze
13
15
 
14
16
  def perform
@@ -50,7 +52,7 @@ class ItemBuilder
50
52
  id: img.id,
51
53
  local_id: img.local_id,
52
54
  local_url: img.local_url,
53
- url: img.image.image.url
55
+ url: img.image.image.url(:xlarge, timestamp: false)
54
56
  }
55
57
  end
56
58
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class ItemBuilder
4
- VERSION = '0.1.62'
4
+ VERSION = '0.1.63'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: item_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.62
4
+ version: 0.1.63
5
5
  platform: ruby
6
6
  authors:
7
7
  - okaaryanata
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-23 00:00:00.000000000 Z
11
+ date: 2022-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.0.11
89
+ version: 0.0.18
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.0.11
96
+ version: 0.0.18
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: warehouse_models
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -123,9 +123,11 @@ files:
123
123
  - lib/item_builder/modes/base_service.rb
124
124
  - lib/item_builder/modes/create/base.rb
125
125
  - lib/item_builder/modes/create/shopee_service.rb
126
+ - lib/item_builder/modes/create/tokopedia_service.rb
126
127
  - lib/item_builder/modes/create_service.rb
127
128
  - lib/item_builder/modes/map_create/base.rb
128
129
  - lib/item_builder/modes/map_create/shopee_service.rb
130
+ - lib/item_builder/modes/map_create/tokopedia_service.rb
129
131
  - lib/item_builder/modes/map_create_service.rb
130
132
  - lib/item_builder/modes/precondition_create/base.rb
131
133
  - lib/item_builder/modes/precondition_create/shopee_service.rb