discount_code_batch.rb 908 B

12345678910111213141516171819202122232425262728293031323334
  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(
  13. "price_rules/#{price_rule_id}/batch/#{id}/discount_codes.json"
  14. )
  15. discount_codes = ShopifyAPI::DiscountCode.find(:all, from: path)
  16. discount_codes.each do |code|
  17. errors = code.attributes['errors']
  18. errors.attributes.each do |key, values|
  19. values.each { |message| code.errors.add(key, message) }
  20. end
  21. end
  22. discount_codes
  23. end
  24. end
  25. end
  26. def encode(options = {})
  27. send("to_#{self.class.format.extension}", options)
  28. end
  29. end
  30. end