sunil 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/gem-push.yml +33 -0
  3. data/.gitignore +12 -0
  4. data/.talismanrc +1 -0
  5. data/.yardopts +6 -0
  6. data/CHANGELOG.md +79 -0
  7. data/CODEOWNERS +1 -0
  8. data/CODE_OF_CONDUCT.md +73 -0
  9. data/Gemfile +3 -0
  10. data/Gemfile.lock +77 -0
  11. data/LICENSE.txt +21 -0
  12. data/README.md +197 -0
  13. data/SECURITY.md +27 -0
  14. data/lib/contentstack/api.rb +191 -0
  15. data/lib/contentstack/asset.rb +69 -0
  16. data/lib/contentstack/asset_collection.rb +28 -0
  17. data/lib/contentstack/client.rb +92 -0
  18. data/lib/contentstack/content_type.rb +54 -0
  19. data/lib/contentstack/entry.rb +222 -0
  20. data/lib/contentstack/entry_collection.rb +45 -0
  21. data/lib/contentstack/error.rb +7 -0
  22. data/lib/contentstack/query.rb +654 -0
  23. data/lib/contentstack/region.rb +6 -0
  24. data/lib/contentstack/sync_result.rb +30 -0
  25. data/lib/contentstack/version.rb +3 -0
  26. data/lib/contentstack.rb +32 -0
  27. data/lib/util.rb +111 -0
  28. data/rakefile.rb +4 -0
  29. data/spec/asset_collection_spec.rb +16 -0
  30. data/spec/asset_spec.rb +48 -0
  31. data/spec/content_type_spec.rb +81 -0
  32. data/spec/contentstack_spec.rb +39 -0
  33. data/spec/entry_collection_spec.rb +42 -0
  34. data/spec/entry_spec.rb +102 -0
  35. data/spec/fixtures/asset.json +1 -0
  36. data/spec/fixtures/asset_collection.json +1 -0
  37. data/spec/fixtures/category_content_type.json +1 -0
  38. data/spec/fixtures/category_entry.json +1 -0
  39. data/spec/fixtures/category_entry_collection.json +1 -0
  40. data/spec/fixtures/category_entry_collection_without_count.json +1 -0
  41. data/spec/fixtures/content_types.json +1 -0
  42. data/spec/fixtures/product_entry.json +1 -0
  43. data/spec/fixtures/product_entry_collection.json +1 -0
  44. data/spec/fixtures/sync_init.json +2975 -0
  45. data/spec/query_spec.rb +206 -0
  46. data/spec/spec_helper.rb +181 -0
  47. data/spec/sync_spec.rb +27 -0
  48. data/sunil.gemspec +30 -0
  49. metadata +186 -0
@@ -0,0 +1 @@
1
+ {"entries":[{"title":"Motorola Moto X4","url":"/products/product_1_uid","price":"500","discounted_price":"450","featured_image":{"uid":"image_1_uid","created_at":"2017-09-28T07:02:20.745Z","updated_at":"2017-09-28T07:02:20.745Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"311812","tags":[],"filename":"1.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"1.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:28:47.919Z","user":"user_uid"}},"product_images":[{"uid":"image_1_uid","created_at":"2017-09-28T07:02:20.745Z","updated_at":"2017-09-28T07:02:20.745Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"311812","tags":[],"filename":"1.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"1.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:28:47.919Z","user":"user_uid"}},{"uid":"product_2_uid","created_at":"2017-09-28T07:02:30.108Z","updated_at":"2017-09-28T07:02:30.108Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"4226","tags":[],"filename":"2.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"2.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:28:47.919Z","user":"user_uid"}},{"uid":"product_3_uid","created_at":"2017-09-28T07:02:32.375Z","updated_at":"2017-09-28T07:02:32.375Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"5755","tags":[],"filename":"3.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"3.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:28:47.919Z","user":"user_uid"}},{"uid":"product_4_uid","created_at":"2017-09-28T07:02:36.507Z","updated_at":"2017-09-28T07:02:36.507Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"312464","tags":[],"filename":"4.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"4.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:28:47.919Z","user":"user_uid"}}],"description":"dual cameras.\nsingular design.\nAdvanced dual rear cameras for your best photos yet. Plus, a beautiful contoured glass and metal frame with an IP68 water resistance rating.* Coming soon.","categories":[{"title":"Smartphones","tags":[],"locale":"en-us","uid":"product_4_uid","created_by":"user_uid","updated_by":"user_uid","created_at":"2017-09-28T06:07:37.132Z","updated_at":"2017-09-28T06:07:37.132Z","ACL":{},"_version":1,"publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:28:47.932Z","user":"user_uid"},"_publish_environment":"environment_uid","_publish_locale":"en-us","_publish_scheduled":false}],"related_products":[{"title":"OnePlus 3T A3000 64GB Gunmetal","url":"/products/product_6_uid","price":"539","discounted_price":"499","featured_image":{"uid":"image_2_uid","created_at":"2017-09-28T06:56:13.016Z","updated_at":"2017-09-28T06:56:13.016Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"40674","tags":[],"filename":"one-plus-three-1x.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"one-plus-three-1x.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:42:37.885Z","user":"user_uid"}},"product_images":[{"uid":"image_2_uid","created_at":"2017-09-28T06:56:13.016Z","updated_at":"2017-09-28T06:56:13.016Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"40674","tags":[],"filename":"one-plus-three-1x.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"one-plus-three-1x.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:42:37.885Z","user":"user_uid"}},{"uid":"product_8_uid","created_at":"2017-09-28T06:56:20.954Z","updated_at":"2017-09-28T06:56:20.954Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"13187","tags":[],"filename":"one-plus-3-2.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"one-plus-3-2.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:42:31.431Z","user":"user_uid"}},{"uid":"product_7_uid","created_at":"2017-09-28T06:56:24.656Z","updated_at":"2017-09-28T06:56:24.656Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"27485","tags":[],"filename":"one-plus-3-3.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"one-plus-3-3.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:42:26.882Z","user":"user_uid"}}],"description":"Snapdragon 821 6gb RAM Unlocked Smartphone","categories":["product_4_uid"],"related_products":["product_5_uid"],"tags":[],"locale":"en-us","uid":"product_6_uid","created_by":"user_uid","updated_by":"user_uid","created_at":"2017-09-28T06:57:55.574Z","updated_at":"2017-09-28T06:57:55.574Z","ACL":{},"_version":1,"publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:28:47.933Z","user":"user_uid"},"_publish_environment":"environment_uid","_publish_locale":"en-us","_publish_scheduled":false}],"tags":[],"locale":"en-us","uid":"product_1_uid","created_by":"user_uid","updated_by":"user_uid","created_at":"2017-09-28T07:03:11.350Z","updated_at":"2017-09-28T07:03:11.350Z","ACL":{},"_version":1,"_owner":{}},{"title":"OnePlus 3T A3000 64GB Gunmetal","url":"/products/product_6_uid","price":"539","discounted_price":"499","featured_image":{"uid":"image_2_uid","created_at":"2017-09-28T06:56:13.016Z","updated_at":"2017-09-28T06:56:13.016Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"40674","tags":[],"filename":"one-plus-three-1x.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"one-plus-three-1x.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:42:37.885Z","user":"user_uid"}},"product_images":[{"uid":"image_2_uid","created_at":"2017-09-28T06:56:13.016Z","updated_at":"2017-09-28T06:56:13.016Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"40674","tags":[],"filename":"one-plus-three-1x.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"one-plus-three-1x.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:42:37.885Z","user":"user_uid"}},{"uid":"product_8_uid","created_at":"2017-09-28T06:56:20.954Z","updated_at":"2017-09-28T06:56:20.954Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"13187","tags":[],"filename":"one-plus-3-2.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"one-plus-3-2.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:42:31.431Z","user":"user_uid"}},{"uid":"product_7_uid","created_at":"2017-09-28T06:56:24.656Z","updated_at":"2017-09-28T06:56:24.656Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"27485","tags":[],"filename":"one-plus-3-3.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"one-plus-3-3.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:42:26.882Z","user":"user_uid"}}],"description":"Snapdragon 821 6gb RAM Unlocked Smartphone","categories":[{"title":"Smartphones","tags":[],"locale":"en-us","uid":"product_4_uid","created_by":"user_uid","updated_by":"user_uid","created_at":"2017-09-28T06:07:37.132Z","updated_at":"2017-09-28T06:07:37.132Z","ACL":{},"_version":1,"publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:28:47.932Z","user":"user_uid"},"_publish_environment":"environment_uid","_publish_locale":"en-us","_publish_scheduled":false}],"related_products":[{"title":"Google Wifi System (Single Wifi Point) - Router Replacement For Whole Home Coverage","url":"/products/product_5_uid","price":"135","discounted_price":"129","featured_image":{"uid":"product_9_uid","created_at":"2017-09-28T06:18:06.662Z","updated_at":"2017-09-28T06:18:06.662Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"20474","tags":[],"filename":"google-wifi-1.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"google-wifi-1.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:43:24.012Z","user":"user_uid"}},"product_images":[{"uid":"product_9_uid","created_at":"2017-09-28T06:18:06.662Z","updated_at":"2017-09-28T06:18:06.662Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"20474","tags":[],"filename":"google-wifi-1.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"google-wifi-1.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:43:24.012Z","user":"user_uid"}},{"uid":"product_10_uid","created_at":"2017-09-28T06:18:11.003Z","updated_at":"2017-09-28T06:18:11.003Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"22491","tags":[],"filename":"google-wifi-2.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"google-wifi-2.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:43:24.012Z","user":"user_uid"}},{"uid":"product_11_uid","created_at":"2017-09-28T06:18:14.842Z","updated_at":"2017-09-28T06:18:14.842Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"10662","tags":[],"filename":"google-wifi-3.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"google-wifi-3.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:43:24.012Z","user":"user_uid"}}],"description":"A new type of connected system that replaces your router for seamless Wi-Fi coverage throughout your home, helping eliminate dead zones and buffering. Network Assist technology keeps your connection fast by always selecting the clearest channel and fastest band for your devices.","tags":[],"locale":"en-us","uid":"product_5_uid","created_by":"user_uid","updated_by":"user_uid","created_at":"2017-09-28T06:16:23.740Z","updated_at":"2017-09-28T06:18:40.456Z","ACL":{},"_version":2,"categories":["category_1_uid"],"publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:43:24.028Z","user":"user_uid"},"_publish_environment":"environment_uid","_publish_locale":"en-us","_publish_scheduled":false}],"tags":[],"locale":"en-us","uid":"product_6_uid","created_by":"user_uid","updated_by":"user_uid","created_at":"2017-09-28T06:57:55.574Z","updated_at":"2017-09-28T06:57:55.574Z","ACL":{},"_version":1,"_owner":{}},{"title":"Google Wifi System (Single Wifi Point) - Router Replacement For Whole Home Coverage","url":"/products/product_5_uid","price":"135","discounted_price":"129","featured_image":{"uid":"product_9_uid","created_at":"2017-09-28T06:18:06.662Z","updated_at":"2017-09-28T06:18:06.662Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"20474","tags":[],"filename":"google-wifi-1.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"google-wifi-1.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:43:24.012Z","user":"user_uid"}},"product_images":[{"uid":"product_9_uid","created_at":"2017-09-28T06:18:06.662Z","updated_at":"2017-09-28T06:18:06.662Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"20474","tags":[],"filename":"google-wifi-1.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"google-wifi-1.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:43:24.012Z","user":"user_uid"}},{"uid":"product_10_uid","created_at":"2017-09-28T06:18:11.003Z","updated_at":"2017-09-28T06:18:11.003Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"22491","tags":[],"filename":"google-wifi-2.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"google-wifi-2.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:43:24.012Z","user":"user_uid"}},{"uid":"product_11_uid","created_at":"2017-09-28T06:18:14.842Z","updated_at":"2017-09-28T06:18:14.842Z","created_by":"user_uid","updated_by":"user_uid","content_type":"image/jpeg","file_size":"10662","tags":[],"filename":"google-wifi-3.jpg","url":"image_url","ACL":{},"is_dir":false,"_version":1,"title":"google-wifi-3.jpg","publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:43:24.012Z","user":"user_uid"}}],"description":"A new type of connected system that replaces your router for seamless Wi-Fi coverage throughout your home, helping eliminate dead zones and buffering. Network Assist technology keeps your connection fast by always selecting the clearest channel and fastest band for your devices.","tags":[],"locale":"en-us","uid":"product_5_uid","created_by":"user_uid","updated_by":"user_uid","created_at":"2017-09-28T06:16:23.740Z","updated_at":"2017-09-28T06:18:40.456Z","ACL":{},"_version":2,"categories":[{"title":"Home & Appliances","tags":[],"locale":"en-us","uid":"category_1_uid","created_by":"user_uid","updated_by":"user_uid","created_at":"2017-09-28T06:08:32.914Z","updated_at":"2017-09-28T06:08:32.914Z","ACL":{},"_version":1,"publish_details":{"environment":"environment_uid","locale":"en-us","time":"2017-09-28T09:43:24.027Z","user":"user_uid"},"_publish_environment":"environment_uid","_publish_locale":"en-us","_publish_scheduled":false}],"_owner":{}}],"content_type":{"created_at":"2017-09-28T06:04:02.500Z","updated_at":"2017-09-28T07:13:13.612Z","title":"Product","uid":"product","inbuilt_class":false,"schema":[{"display_name":"Title","uid":"title","data_type":"text","mandatory":true,"unique":true,"field_metadata":{"_default":true},"multiple":false},{"display_name":"URL","uid":"url","data_type":"text","mandatory":false,"field_metadata":{"_default":true},"multiple":false,"unique":false},{"data_type":"text","display_name":"Price","uid":"price","field_metadata":{"description":"","default_value":""},"format":"","error_messages":{"format":""},"multiple":false,"mandatory":false,"unique":false},{"data_type":"text","display_name":"Discounted Price","uid":"discounted_price","field_metadata":{"description":"","default_value":""},"format":"","error_messages":{"format":""},"multiple":false,"mandatory":false,"unique":false},{"data_type":"file","display_name":"Featured Image","uid":"featured_image","extensions":[],"field_metadata":{"description":"","rich_text_type":"standard"},"multiple":false,"mandatory":false,"unique":false},{"data_type":"file","display_name":"Product Images","uid":"product_images","extensions":[],"field_metadata":{"description":"","rich_text_type":"standard"},"multiple":true,"mandatory":false,"unique":false},{"data_type":"text","display_name":"Description","uid":"description","field_metadata":{"description":"","default_value":"","multiline":true},"format":"","error_messages":{"format":""},"multiple":false,"mandatory":false,"unique":false},{"data_type":"reference","display_name":"Categories","reference_to":"category","field_metadata":{"ref_multiple":true},"uid":"categories","multiple":false,"mandatory":false,"unique":false},{"data_type":"reference","display_name":"Related Products","reference_to":"product","field_metadata":{"ref_multiple":true},"uid":"related_products","mandatory":false,"multiple":false,"unique":false}],"last_activity":{"environments":[{"uid":"environment_uid","details":[{"locale":"en-us","time":"2017-09-28T09:43:24.028Z"}]}]},"maintain_revisions":true,"description":"","options":{"is_page":true,"singleton":false,"title":"title","sub_title":[],"url_pattern":"/:unique_id","url_prefix":"/products/"},"abilities":{"get_one_object":true,"get_all_objects":true,"create_object":true,"update_object":true,"delete_object":true,"delete_all_objects":true},"DEFAULT_ACL":{"others":{"read":false,"create":false},"users":[{"uid":"rule","read":true,"sub_acl":{"read":true}}]}}}