item_builder 0.1.15 → 0.1.16
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/lib/item_builder.rb +54 -52
- data/lib/item_builder/get_quantity_service.rb +1 -1
- data/lib/item_builder/modes.rb +1 -1
- data/lib/item_builder/modes/active_service.rb +1 -1
- data/lib/item_builder/modes/base_service.rb +1 -1
- data/lib/item_builder/modes/price/base.rb +1 -1
- data/lib/item_builder/modes/price/blibli_service.rb +1 -1
- data/lib/item_builder/modes/price/bukalapak_service.rb +1 -1
- data/lib/item_builder/modes/price/jd_service.rb +1 -1
- data/lib/item_builder/modes/price/sale_price_policy.rb +1 -1
- data/lib/item_builder/modes/price/shopify_service.rb +1 -1
- data/lib/item_builder/modes/price/zalora_service.rb +1 -1
- data/lib/item_builder/modes/price_service.rb +1 -1
- data/lib/item_builder/modes/quantity/base.rb +1 -1
- data/lib/item_builder/modes/quantity/blibli_service.rb +1 -1
- data/lib/item_builder/modes/quantity/lazada_service.rb +1 -1
- data/lib/item_builder/modes/quantity/zalora_service.rb +1 -1
- data/lib/item_builder/modes/quantity_service.rb +1 -1
- data/lib/item_builder/modes/simple_service.rb +1 -1
- data/lib/item_builder/modes/update/base.rb +1 -1
- data/lib/item_builder/modes/update/blibli_service.rb +1 -1
- data/lib/item_builder/modes/update/bukalapak_service.rb +1 -1
- data/lib/item_builder/modes/update/jd_service.rb +1 -1
- data/lib/item_builder/modes/update/lazada_service.rb +1 -1
- data/lib/item_builder/modes/update/shopify_service.rb +1 -1
- data/lib/item_builder/modes/update/tokopedia_service.rb +1 -1
- data/lib/item_builder/modes/update/zalora_service.rb +1 -1
- data/lib/item_builder/modes/update_service.rb +1 -1
- data/lib/item_builder/version.rb +2 -2
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c73662d1db692cc3c0356465e141d519e3880f2f57ecf9934e8c14b431fad8ba
         | 
| 4 | 
            +
              data.tar.gz: a210f12fb2665cbb4275816c7dd10d8483dacd70a9bcbc066634ec7fdeeddec0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d7cee35582b4506ec8762dbccb7681c1cfbb93c17f9c30c86b0cc607bde60e479ee8e973a444ae30f3a36f619dbac97c424629ea3e0e2a3afeeb0b2a3c53d710
         | 
| 7 | 
            +
              data.tar.gz: 670770117728b939f832b038849a82a33041c53677e6b211f154aa684bb215e192a0af7dc21022815e79d10f93e55c6578db17dd6cfb61a7284300c8cda45fbd
         | 
    
        data/lib/item_builder.rb
    CHANGED
    
    | @@ -8,68 +8,70 @@ require 'item_builder/modes/quantity_service' | |
| 8 8 | 
             
            require 'item_builder/modes/simple_service'
         | 
| 9 9 | 
             
            require 'item_models'
         | 
| 10 10 |  | 
| 11 | 
            -
             | 
| 12 | 
            -
               | 
| 13 | 
            -
                 | 
| 14 | 
            -
             | 
| 15 | 
            -
                attr_reader :mode
         | 
| 16 | 
            -
                attr_reader :wh_spaces
         | 
| 17 | 
            -
                attr_reader :variants
         | 
| 18 | 
            -
                attr_reader :variant_ids
         | 
| 19 | 
            -
                def build(listing_ids, mode)
         | 
| 20 | 
            -
                  @listing_ids = listing_ids
         | 
| 21 | 
            -
                  @mode = mode
         | 
| 22 | 
            -
                  mode_check
         | 
| 23 | 
            -
                end
         | 
| 11 | 
            +
            class ItemBuilder
         | 
| 12 | 
            +
              def self.build(listing_ids, mode)
         | 
| 13 | 
            +
                new(listing_ids, mode).mode_check
         | 
| 14 | 
            +
              end
         | 
| 24 15 |  | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
                end
         | 
| 16 | 
            +
              attr_reader :listing_ids
         | 
| 17 | 
            +
              attr_reader :listings
         | 
| 18 | 
            +
              attr_reader :mode
         | 
| 19 | 
            +
              attr_reader :wh_spaces
         | 
| 20 | 
            +
              attr_reader :variants
         | 
| 21 | 
            +
              attr_reader :variant_ids
         | 
| 32 22 |  | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
                      wh_spaces: wh_spaces,
         | 
| 38 | 
            -
                      variants: variants
         | 
| 39 | 
            -
                    ).perform
         | 
| 40 | 
            -
                  end
         | 
| 41 | 
            -
                end
         | 
| 23 | 
            +
              def initialize(listing_ids, mode)
         | 
| 24 | 
            +
                @listing_ids = listing_ids
         | 
| 25 | 
            +
                @mode = mode
         | 
| 26 | 
            +
              end
         | 
| 42 27 |  | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 28 | 
            +
              def mode_check
         | 
| 29 | 
            +
                if mode == :quantity
         | 
| 30 | 
            +
                  quantity_mode
         | 
| 31 | 
            +
                else
         | 
| 32 | 
            +
                  default
         | 
| 47 33 | 
             
                end
         | 
| 34 | 
            +
              end
         | 
| 48 35 |  | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 36 | 
            +
              def quantity_mode
         | 
| 37 | 
            +
                listings.map do |listing|
         | 
| 38 | 
            +
                  modes[mode].new(
         | 
| 39 | 
            +
                    listing: listing,
         | 
| 40 | 
            +
                    wh_spaces: wh_spaces,
         | 
| 41 | 
            +
                    variants: variants
         | 
| 42 | 
            +
                  ).perform
         | 
| 51 43 | 
             
                end
         | 
| 44 | 
            +
              end
         | 
| 52 45 |  | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 46 | 
            +
              def default
         | 
| 47 | 
            +
                listings.map do |listing|
         | 
| 48 | 
            +
                  modes[mode].new(listing: listing).perform
         | 
| 55 49 | 
             
                end
         | 
| 50 | 
            +
              end
         | 
| 56 51 |  | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 52 | 
            +
              def wh_spaces
         | 
| 53 | 
            +
                @wh_spaces ||= WarehouseSpace.where(item_variant_id: variant_ids)
         | 
| 54 | 
            +
              end
         | 
| 60 55 |  | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 56 | 
            +
              def variants
         | 
| 57 | 
            +
                @variants ||= Variant.where(id: variant_ids)
         | 
| 58 | 
            +
              end
         | 
| 64 59 |  | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 72 | 
            -
             | 
| 73 | 
            -
             | 
| 60 | 
            +
              def variant_ids
         | 
| 61 | 
            +
                @variant_ids ||= listings.map(&:variant_id).uniq
         | 
| 62 | 
            +
              end
         | 
| 63 | 
            +
             | 
| 64 | 
            +
              def listings
         | 
| 65 | 
            +
                @listings ||= VariantListing.where(id: listing_ids)
         | 
| 66 | 
            +
              end
         | 
| 67 | 
            +
             | 
| 68 | 
            +
              def modes
         | 
| 69 | 
            +
                {
         | 
| 70 | 
            +
                  price: ItemBuilder::Modes::PriceService,
         | 
| 71 | 
            +
                  quantity: ItemBuilder::Modes::QuantityService,
         | 
| 72 | 
            +
                  simple: ItemBuilder::Modes::SimpleService,
         | 
| 73 | 
            +
                  active: ItemBuilder::Modes::ActiveService,
         | 
| 74 | 
            +
                  update: ItemBuilder::Modes::UpdateService
         | 
| 75 | 
            +
                }
         | 
| 74 76 | 
             
              end
         | 
| 75 77 | 
             
            end
         | 
    
        data/lib/item_builder/modes.rb
    CHANGED
    
    | @@ -6,7 +6,7 @@ require 'item_builder/modes/quantity_service' | |
| 6 6 | 
             
            require 'item_builder/modes/simple_service'
         | 
| 7 7 | 
             
            require 'item_builder/modes/active_service'
         | 
| 8 8 | 
             
            require 'item_builder/modes/update_service'
         | 
| 9 | 
            -
             | 
| 9 | 
            +
            class ItemBuilder
         | 
| 10 10 | 
             
              module Modes
         | 
| 11 11 | 
             
                attr_reader :listing
         | 
| 12 12 | 
             
                attr_reader :wh_spaces
         | 
| @@ -6,7 +6,7 @@ require 'item_builder/modes/price/bukalapak_service' | |
| 6 6 | 
             
            require 'item_builder/modes/price/zalora_service'
         | 
| 7 7 | 
             
            require 'item_builder/modes/price/shopify_service'
         | 
| 8 8 | 
             
            require 'item_builder/modes/price/jd_service'
         | 
| 9 | 
            -
             | 
| 9 | 
            +
            class ItemBuilder
         | 
| 10 10 | 
             
              module Modes
         | 
| 11 11 | 
             
                class PriceService
         | 
| 12 12 | 
             
                  include Modes
         | 
| @@ -7,7 +7,7 @@ require 'item_builder/modes/quantity/base' | |
| 7 7 | 
             
            require 'item_builder/modes/quantity/lazada_service'
         | 
| 8 8 | 
             
            require 'item_builder/modes/quantity/blibli_service'
         | 
| 9 9 | 
             
            require 'item_builder/modes/quantity/zalora_service'
         | 
| 10 | 
            -
             | 
| 10 | 
            +
            class ItemBuilder
         | 
| 11 11 | 
             
              module Modes
         | 
| 12 12 | 
             
                class QuantityService
         | 
| 13 13 | 
             
                  include Modes
         | 
| @@ -8,7 +8,7 @@ require 'item_builder/modes/update/zalora_service' | |
| 8 8 | 
             
            require 'item_builder/modes/update/shopify_service'
         | 
| 9 9 | 
             
            require 'item_builder/modes/update/jd_service'
         | 
| 10 10 | 
             
            require 'item_builder/modes/update/tokopedia_service'
         | 
| 11 | 
            -
             | 
| 11 | 
            +
            class ItemBuilder
         | 
| 12 12 | 
             
              module Modes
         | 
| 13 13 | 
             
                class UpdateService
         | 
| 14 14 | 
             
                  include Modes
         | 
    
        data/lib/item_builder/version.rb
    CHANGED
    
    
    
        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. | 
| 4 | 
            +
              version: 0.1.16
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - okaaryanata
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021-01- | 
| 11 | 
            +
            date: 2021-01-14 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |