discount_code_batch.rb 884 B

1234567891011121314151617181920212223242526272829303132
  1. # frozen_string_literal: true
  2. module ShopifyAPI
  3. class DiscountCodeBatch < Base
  4. init_prefix :price_rule
  5. self.collection_name = 'batch'
  6. def price_rule_id
  7. @prefix_options[:price_rule_id]
  8. end
  9. def discount_code_job
  10. @discount_codes ||= begin
  11. if id
  12. path = self.class.api_version.construct_api_path("price_rules/#{price_rule_id}/batch/#{id}/discount_codes.json")
  13. discount_codes = ShopifyAPI::DiscountCode.find(:all, from: path)
  14. discount_codes.each do |code|
  15. errors = code.attributes['errors']
  16. errors.attributes.each do |key, values|
  17. values.each { |message| code.errors.add(key, message) }
  18. end
  19. end
  20. discount_codes
  21. end
  22. end
  23. end
  24. def encode(options = {})
  25. send("to_#{self.class.format.extension}", options)
  26. end
  27. end
  28. end