ebayapi 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +0 -0
- data/MIT-LICENSE +20 -0
- data/README +0 -0
- data/examples/add_item.rb +50 -0
- data/examples/config.rb +10 -0
- data/examples/end_item.rb +18 -0
- data/examples/get_api_usage.rb +21 -0
- data/examples/get_attributes_xsl.rb +26 -0
- data/examples/get_ebay_details.rb +22 -0
- data/examples/get_ebay_time.rb +33 -0
- data/examples/get_ebay_time_raw.rb +31 -0
- data/examples/get_item.rb +25 -0
- data/examples/get_item_transactions.rb +36 -0
- data/examples/get_items_selling.rb +26 -0
- data/examples/get_my_messages.rb +21 -0
- data/examples/get_my_messages_folders.rb +20 -0
- data/examples/get_notification_preferences.rb +36 -0
- data/examples/get_notifications_usage.rb +23 -0
- data/examples/get_user.rb +26 -0
- data/examples/mark_my_messages_message_as_read.rb +22 -0
- data/examples/revise_item.rb +34 -0
- data/examples/set_notification_preferences.rb +27 -0
- data/examples/verify_add_item.rb +37 -0
- data/init.rb +2 -0
- data/lib/ebay/api.rb +179 -0
- data/lib/ebay/ebay.rb +26 -0
- data/lib/ebay/enumeration.rb +7 -0
- data/lib/ebay/initializer.rb +19 -0
- data/lib/ebay/notification.rb +109 -0
- data/lib/ebay/request/base.rb +18 -0
- data/lib/ebay/request/connection.rb +66 -0
- data/lib/ebay/request.rb +1 -0
- data/lib/ebay/requests/abstract.rb +28 -0
- data/lib/ebay/requests/add_dispute.rb +16 -0
- data/lib/ebay/requests/add_dispute_response.rb +18 -0
- data/lib/ebay/requests/add_item.rb +16 -0
- data/lib/ebay/requests/add_live_auction_item.rb +14 -0
- data/lib/ebay/requests/add_member_message.rb +15 -0
- data/lib/ebay/requests/add_member_message_aaq_to_partner.rb +15 -0
- data/lib/ebay/requests/add_member_message_rtq.rb +15 -0
- data/lib/ebay/requests/add_member_messages_aaq_to_bidder.rb +14 -0
- data/lib/ebay/requests/add_order.rb +14 -0
- data/lib/ebay/requests/add_second_chance_item.rb +19 -0
- data/lib/ebay/requests/add_to_item_description.rb +14 -0
- data/lib/ebay/requests/add_to_watch_list.rb +13 -0
- data/lib/ebay/requests/add_transaction_confirmation_item.rb +20 -0
- data/lib/ebay/requests/approve_live_auction_bidders.rb +17 -0
- data/lib/ebay/requests/complete_sale.rb +18 -0
- data/lib/ebay/requests/delete_my_messages.rb +14 -0
- data/lib/ebay/requests/end_item.rb +15 -0
- data/lib/ebay/requests/fetch_token.rb +13 -0
- data/lib/ebay/requests/get_account.rb +22 -0
- data/lib/ebay/requests/get_ad_format_leads.rb +13 -0
- data/lib/ebay/requests/get_all_bidders.rb +15 -0
- data/lib/ebay/requests/get_api_access_rules.rb +12 -0
- data/lib/ebay/requests/get_attributes_cs.rb +16 -0
- data/lib/ebay/requests/get_attributes_xsl.rb +14 -0
- data/lib/ebay/requests/get_best_offers.rb +15 -0
- data/lib/ebay/requests/get_bidder_list.rb +17 -0
- data/lib/ebay/requests/get_categories.rb +16 -0
- data/lib/ebay/requests/get_category2_cs.rb +14 -0
- data/lib/ebay/requests/get_category2_finance_offer.rb +14 -0
- data/lib/ebay/requests/get_category_features.rb +16 -0
- data/lib/ebay/requests/get_category_listings.rb +32 -0
- data/lib/ebay/requests/get_category_mappings.rb +13 -0
- data/lib/ebay/requests/get_challenge_token.rb +12 -0
- data/lib/ebay/requests/get_charities.rb +19 -0
- data/lib/ebay/requests/get_contextual_keywords.rb +15 -0
- data/lib/ebay/requests/get_cross_promotions.rb +15 -0
- data/lib/ebay/requests/get_description_templates.rb +15 -0
- data/lib/ebay/requests/get_dispute.rb +13 -0
- data/lib/ebay/requests/get_ebay_details.rb +13 -0
- data/lib/ebay/requests/get_ebay_official_time.rb +12 -0
- data/lib/ebay/requests/get_feedback.rb +16 -0
- data/lib/ebay/requests/get_finance_offers.rb +14 -0
- data/lib/ebay/requests/get_high_bidders.rb +13 -0
- data/lib/ebay/requests/get_item.rb +16 -0
- data/lib/ebay/requests/get_item_recommendations.rb +14 -0
- data/lib/ebay/requests/get_item_shipping.rb +16 -0
- data/lib/ebay/requests/get_item_transactions.rb +20 -0
- data/lib/ebay/requests/get_items_awaiting_feedback.rb +15 -0
- data/lib/ebay/requests/get_live_auction_bidders.rb +16 -0
- data/lib/ebay/requests/get_live_auction_catalog_details.rb +12 -0
- data/lib/ebay/requests/get_member_messages.rb +21 -0
- data/lib/ebay/requests/get_my_ebay.rb +22 -0
- data/lib/ebay/requests/get_my_ebay_buying.rb +22 -0
- data/lib/ebay/requests/get_my_ebay_reminders.rb +15 -0
- data/lib/ebay/requests/get_my_ebay_selling.rb +17 -0
- data/lib/ebay/requests/get_my_messages.rb +15 -0
- data/lib/ebay/requests/get_notification_preferences.rb +13 -0
- data/lib/ebay/requests/get_notifications_usage.rb +15 -0
- data/lib/ebay/requests/get_order_transactions.rb +15 -0
- data/lib/ebay/requests/get_orders.rb +20 -0
- data/lib/ebay/requests/get_picture_manager_details.rb +15 -0
- data/lib/ebay/requests/get_picture_manager_options.rb +12 -0
- data/lib/ebay/requests/get_popular_keywords.rb +17 -0
- data/lib/ebay/requests/get_product_family_members.rb +14 -0
- data/lib/ebay/requests/get_product_finder.rb +14 -0
- data/lib/ebay/requests/get_product_finder_xsl.rb +14 -0
- data/lib/ebay/requests/get_product_search_page.rb +14 -0
- data/lib/ebay/requests/get_product_search_results.rb +14 -0
- data/lib/ebay/requests/get_product_selling_pages.rb +15 -0
- data/lib/ebay/requests/get_promotion_rules.rb +15 -0
- data/lib/ebay/requests/get_recommendations.rb +21 -0
- data/lib/ebay/requests/get_return_url.rb +12 -0
- data/lib/ebay/requests/get_ru_name.rb +13 -0
- data/lib/ebay/requests/get_search_results.rb +58 -0
- data/lib/ebay/requests/get_search_results_express.rb +34 -0
- data/lib/ebay/requests/get_seller_events.rb +21 -0
- data/lib/ebay/requests/get_seller_list.rb +24 -0
- data/lib/ebay/requests/get_seller_payments.rb +17 -0
- data/lib/ebay/requests/get_seller_transactions.rb +19 -0
- data/lib/ebay/requests/get_store.rb +15 -0
- data/lib/ebay/requests/get_store_category_update_status.rb +13 -0
- data/lib/ebay/requests/get_store_custom_page.rb +13 -0
- data/lib/ebay/requests/get_store_options.rb +12 -0
- data/lib/ebay/requests/get_store_preferences.rb +12 -0
- data/lib/ebay/requests/get_suggested_categories.rb +13 -0
- data/lib/ebay/requests/get_tax_table.rb +12 -0
- data/lib/ebay/requests/get_user.rb +15 -0
- data/lib/ebay/requests/get_user_contact_details.rb +15 -0
- data/lib/ebay/requests/get_user_disputes.rb +18 -0
- data/lib/ebay/requests/get_user_preferences.rb +20 -0
- data/lib/ebay/requests/get_want_it_now_post.rb +13 -0
- data/lib/ebay/requests/get_want_it_now_search_results.rb +18 -0
- data/lib/ebay/requests/issue_refund.rb +18 -0
- data/lib/ebay/requests/leave_feedback.rb +17 -0
- data/lib/ebay/requests/place_offer.rb +16 -0
- data/lib/ebay/requests/relist_item.rb +17 -0
- data/lib/ebay/requests/remove_from_watch_list.rb +14 -0
- data/lib/ebay/requests/respond_to_best_offer.rb +18 -0
- data/lib/ebay/requests/respond_to_feedback.rb +18 -0
- data/lib/ebay/requests/respond_to_want_it_now_post.rb +14 -0
- data/lib/ebay/requests/revise_checkout_status.rb +34 -0
- data/lib/ebay/requests/revise_item.rb +17 -0
- data/lib/ebay/requests/revise_live_auction_item.rb +17 -0
- data/lib/ebay/requests/revise_my_messages.rb +17 -0
- data/lib/ebay/requests/revise_my_messages_folders.rb +15 -0
- data/lib/ebay/requests/seller_reverse_dispute.rb +14 -0
- data/lib/ebay/requests/send_invoice.rb +27 -0
- data/lib/ebay/requests/set_notification_preferences.rb +20 -0
- data/lib/ebay/requests/set_picture_manager_details.rb +15 -0
- data/lib/ebay/requests/set_promotion_rules.rb +15 -0
- data/lib/ebay/requests/set_return_url.rb +16 -0
- data/lib/ebay/requests/set_store.rb +14 -0
- data/lib/ebay/requests/set_store_categories.rb +17 -0
- data/lib/ebay/requests/set_store_custom_page.rb +14 -0
- data/lib/ebay/requests/set_store_preferences.rb +14 -0
- data/lib/ebay/requests/set_tax_table.rb +14 -0
- data/lib/ebay/requests/set_user_notes.rb +15 -0
- data/lib/ebay/requests/set_user_preferences.rb +28 -0
- data/lib/ebay/requests/validate_challenge_input.rb +15 -0
- data/lib/ebay/requests/validate_test_user_registration.rb +18 -0
- data/lib/ebay/requests/verify_add_item.rb +17 -0
- data/lib/ebay/requests/verify_add_second_chance_item.rb +19 -0
- data/lib/ebay/requests.rb +123 -0
- data/lib/ebay/response/base.rb +27 -0
- data/lib/ebay/responses/abstract.rb +27 -0
- data/lib/ebay/responses/add_dispute.rb +13 -0
- data/lib/ebay/responses/add_dispute_response.rb +12 -0
- data/lib/ebay/responses/add_item.rb +19 -0
- data/lib/ebay/responses/add_live_auction_item.rb +17 -0
- data/lib/ebay/responses/add_member_message.rb +12 -0
- data/lib/ebay/responses/add_member_message_aaq_to_partner.rb +12 -0
- data/lib/ebay/responses/add_member_message_rtq.rb +12 -0
- data/lib/ebay/responses/add_member_messages_aaq_to_bidder.rb +14 -0
- data/lib/ebay/responses/add_order.rb +14 -0
- data/lib/ebay/responses/add_second_chance_item.rb +17 -0
- data/lib/ebay/responses/add_to_item_description.rb +12 -0
- data/lib/ebay/responses/add_to_watch_list.rb +14 -0
- data/lib/ebay/responses/add_transaction_confirmation_item.rb +15 -0
- data/lib/ebay/responses/approve_live_auction_bidders.rb +14 -0
- data/lib/ebay/responses/complete_sale.rb +12 -0
- data/lib/ebay/responses/delete_my_messages.rb +12 -0
- data/lib/ebay/responses/end_item.rb +13 -0
- data/lib/ebay/responses/fetch_token.rb +14 -0
- data/lib/ebay/responses/get_account.rb +23 -0
- data/lib/ebay/responses/get_ad_format_leads.rb +15 -0
- data/lib/ebay/responses/get_all_bidders.rb +17 -0
- data/lib/ebay/responses/get_api_access_rules.rb +14 -0
- data/lib/ebay/responses/get_attributes_cs.rb +14 -0
- data/lib/ebay/responses/get_attributes_xsl.rb +14 -0
- data/lib/ebay/responses/get_best_offers.rb +16 -0
- data/lib/ebay/responses/get_bidder_list.rb +16 -0
- data/lib/ebay/responses/get_categories.rb +23 -0
- data/lib/ebay/responses/get_category2_cs.rb +18 -0
- data/lib/ebay/responses/get_category2_finance_offer.rb +15 -0
- data/lib/ebay/responses/get_category_features.rb +20 -0
- data/lib/ebay/responses/get_category_listings.rb +24 -0
- data/lib/ebay/responses/get_category_mappings.rb +15 -0
- data/lib/ebay/responses/get_challenge_token.rb +15 -0
- data/lib/ebay/responses/get_charities.rb +14 -0
- data/lib/ebay/responses/get_contextual_keywords.rb +14 -0
- data/lib/ebay/responses/get_cross_promotions.rb +14 -0
- data/lib/ebay/responses/get_description_templates.rb +20 -0
- data/lib/ebay/responses/get_dispute.rb +14 -0
- data/lib/ebay/responses/get_ebay_details.rb +32 -0
- data/lib/ebay/responses/get_ebay_official_time.rb +12 -0
- data/lib/ebay/responses/get_feedback.rb +18 -0
- data/lib/ebay/responses/get_finance_offers.rb +15 -0
- data/lib/ebay/responses/get_high_bidders.rb +15 -0
- data/lib/ebay/responses/get_item.rb +14 -0
- data/lib/ebay/responses/get_item_recommendations.rb +14 -0
- data/lib/ebay/responses/get_item_shipping.rb +14 -0
- data/lib/ebay/responses/get_item_transactions.rb +23 -0
- data/lib/ebay/responses/get_items_awaiting_feedback.rb +14 -0
- data/lib/ebay/responses/get_live_auction_bidders.rb +20 -0
- data/lib/ebay/responses/get_live_auction_catalog_details.rb +14 -0
- data/lib/ebay/responses/get_member_messages.rb +17 -0
- data/lib/ebay/responses/get_my_ebay.rb +23 -0
- data/lib/ebay/responses/get_my_ebay_buying.rb +27 -0
- data/lib/ebay/responses/get_my_ebay_reminders.rb +15 -0
- data/lib/ebay/responses/get_my_ebay_selling.rb +20 -0
- data/lib/ebay/responses/get_my_messages.rb +18 -0
- data/lib/ebay/responses/get_notification_preferences.rb +20 -0
- data/lib/ebay/responses/get_notifications_usage.rb +20 -0
- data/lib/ebay/responses/get_order_transactions.rb +14 -0
- data/lib/ebay/responses/get_orders.rb +20 -0
- data/lib/ebay/responses/get_picture_manager_details.rb +14 -0
- data/lib/ebay/responses/get_picture_manager_options.rb +16 -0
- data/lib/ebay/responses/get_popular_keywords.rb +17 -0
- data/lib/ebay/responses/get_product_family_members.rb +16 -0
- data/lib/ebay/responses/get_product_finder.rb +14 -0
- data/lib/ebay/responses/get_product_finder_xsl.rb +14 -0
- data/lib/ebay/responses/get_product_search_page.rb +15 -0
- data/lib/ebay/responses/get_product_search_results.rb +16 -0
- data/lib/ebay/responses/get_product_selling_pages.rb +13 -0
- data/lib/ebay/responses/get_promotion_rules.rb +14 -0
- data/lib/ebay/responses/get_recommendations.rb +22 -0
- data/lib/ebay/responses/get_return_url.rb +15 -0
- data/lib/ebay/responses/get_ru_name.rb +13 -0
- data/lib/ebay/responses/get_search_results.rb +30 -0
- data/lib/ebay/responses/get_search_results_express.rb +21 -0
- data/lib/ebay/responses/get_seller_events.rb +15 -0
- data/lib/ebay/responses/get_seller_list.rb +22 -0
- data/lib/ebay/responses/get_seller_payments.rb +20 -0
- data/lib/ebay/responses/get_seller_transactions.rb +23 -0
- data/lib/ebay/responses/get_store.rb +14 -0
- data/lib/ebay/responses/get_store_category_update_status.rb +13 -0
- data/lib/ebay/responses/get_store_custom_page.rb +14 -0
- data/lib/ebay/responses/get_store_options.rb +21 -0
- data/lib/ebay/responses/get_store_preferences.rb +14 -0
- data/lib/ebay/responses/get_suggested_categories.rb +15 -0
- data/lib/ebay/responses/get_tax_table.rb +15 -0
- data/lib/ebay/responses/get_user.rb +14 -0
- data/lib/ebay/responses/get_user_contact_details.rb +16 -0
- data/lib/ebay/responses/get_user_disputes.rb +22 -0
- data/lib/ebay/responses/get_user_preferences.rb +30 -0
- data/lib/ebay/responses/get_want_it_now_post.rb +14 -0
- data/lib/ebay/responses/get_want_it_now_search_results.rb +19 -0
- data/lib/ebay/responses/issue_refund.rb +14 -0
- data/lib/ebay/responses/leave_feedback.rb +13 -0
- data/lib/ebay/responses/notification_message.rb +14 -0
- data/lib/ebay/responses/place_offer.rb +14 -0
- data/lib/ebay/responses/relist_item.rb +19 -0
- data/lib/ebay/responses/remove_from_watch_list.rb +14 -0
- data/lib/ebay/responses/respond_to_best_offer.rb +14 -0
- data/lib/ebay/responses/respond_to_feedback.rb +12 -0
- data/lib/ebay/responses/respond_to_want_it_now_post.rb +12 -0
- data/lib/ebay/responses/revise_checkout_status.rb +12 -0
- data/lib/ebay/responses/revise_item.rb +19 -0
- data/lib/ebay/responses/revise_live_auction_item.rb +17 -0
- data/lib/ebay/responses/revise_my_messages.rb +12 -0
- data/lib/ebay/responses/revise_my_messages_folders.rb +12 -0
- data/lib/ebay/responses/seller_reverse_dispute.rb +12 -0
- data/lib/ebay/responses/send_invoice.rb +12 -0
- data/lib/ebay/responses/set_notification_preferences.rb +12 -0
- data/lib/ebay/responses/set_picture_manager_details.rb +12 -0
- data/lib/ebay/responses/set_promotion_rules.rb +12 -0
- data/lib/ebay/responses/set_return_url.rb +12 -0
- data/lib/ebay/responses/set_store.rb +12 -0
- data/lib/ebay/responses/set_store_categories.rb +14 -0
- data/lib/ebay/responses/set_store_custom_page.rb +14 -0
- data/lib/ebay/responses/set_store_preferences.rb +12 -0
- data/lib/ebay/responses/set_tax_table.rb +12 -0
- data/lib/ebay/responses/set_user_notes.rb +12 -0
- data/lib/ebay/responses/set_user_preferences.rb +12 -0
- data/lib/ebay/responses/validate_challenge_input.rb +13 -0
- data/lib/ebay/responses/validate_test_user_registration.rb +12 -0
- data/lib/ebay/responses/verify_add_item.rb +20 -0
- data/lib/ebay/responses/verify_add_second_chance_item.rb +16 -0
- data/lib/ebay/responses.rb +123 -0
- data/lib/ebay/schema/mapper/class_definition.rb +48 -0
- data/lib/ebay/schema/mapper/class_template.rb +46 -0
- data/lib/ebay/schema/mapper/ebay_schema_importer.rb +108 -0
- data/lib/ebay/schema/mapper/enumeration.rb +30 -0
- data/lib/ebay/schema/mapper/enumeration_validation.rb +17 -0
- data/lib/ebay/schema/mapper/node.rb +153 -0
- data/lib/ebay/schema/mapper/parser.rb +16 -0
- data/lib/ebay/schema/mapper/ruby_class_generator.rb +273 -0
- data/lib/ebay/schema/mapper/ruby_class_generator_helper.rb +52 -0
- data/lib/ebay/schema/mapper/schema.rb +15 -0
- data/lib/ebay/schema/mapper/templates/abstract_request.erb +7 -0
- data/lib/ebay/schema/mapper/templates/application_delivery_preferences.erb +7 -0
- data/lib/ebay/schema/mapper/templates/base.erb +21 -0
- data/lib/ebay/schema/mapper/templates/value.erb +12 -0
- data/lib/ebay/schema/mapper/templates/xsl_file.erb +11 -0
- data/lib/ebay/schema/mapper/xsd2ebay.rb +13 -0
- data/lib/ebay/schema/mapper.rb +9 -0
- data/lib/ebay/schema/version.rb +5 -0
- data/lib/ebay/types/access_rule_current_status_code.rb +16 -0
- data/lib/ebay/types/access_rule_status_code.rb +12 -0
- data/lib/ebay/types/account_detail_entry_code.rb +256 -0
- data/lib/ebay/types/account_entry.rb +25 -0
- data/lib/ebay/types/account_entry_sort_type_code.rb +16 -0
- data/lib/ebay/types/account_history_selection_code.rb +12 -0
- data/lib/ebay/types/account_state_code.rb +12 -0
- data/lib/ebay/types/account_summary.rb +33 -0
- data/lib/ebay/types/ack_code.rb +13 -0
- data/lib/ebay/types/ad_format_enabled_code.rb +14 -0
- data/lib/ebay/types/ad_format_enabled_definition.rb +12 -0
- data/lib/ebay/types/ad_format_lead.rb +21 -0
- data/lib/ebay/types/add_member_messages_aaq_to_bidder_request_container.rb +16 -0
- data/lib/ebay/types/add_member_messages_aaq_to_bidder_response_container.rb +14 -0
- data/lib/ebay/types/additional_account.rb +15 -0
- data/lib/ebay/types/address.rb +40 -0
- data/lib/ebay/types/address_owner_code.rb +11 -0
- data/lib/ebay/types/address_record_type_code.rb +11 -0
- data/lib/ebay/types/address_status_code.rb +12 -0
- data/lib/ebay/types/affiliate_tracking_details.rb +16 -0
- data/lib/ebay/types/amount.rb +14 -0
- data/lib/ebay/types/api_access_rule.rb +28 -0
- data/lib/ebay/types/api_subscription_type_code.rb +29 -0
- data/lib/ebay/types/application_delivery_preferences.rb +25 -0
- data/lib/ebay/types/application_device_type_code.rb +13 -0
- data/lib/ebay/types/attribute.rb +16 -0
- data/lib/ebay/types/attribute_recommendations.rb +14 -0
- data/lib/ebay/types/attribute_set.rb +16 -0
- data/lib/ebay/types/authentication_entry.rb +17 -0
- data/lib/ebay/types/balance_code.rb +10 -0
- data/lib/ebay/types/basic_amount.rb +14 -0
- data/lib/ebay/types/basic_upgrade_pack_enabled_definition.rb +12 -0
- data/lib/ebay/types/best_offer.rb +23 -0
- data/lib/ebay/types/best_offer_action_code.rb +12 -0
- data/lib/ebay/types/best_offer_auto_decline_enabled_definition.rb +12 -0
- data/lib/ebay/types/best_offer_counter_enabled_definition.rb +12 -0
- data/lib/ebay/types/best_offer_details.rb +17 -0
- data/lib/ebay/types/best_offer_enabled_definition.rb +12 -0
- data/lib/ebay/types/best_offer_status_code.rb +18 -0
- data/lib/ebay/types/best_offer_type_code.rb +12 -0
- data/lib/ebay/types/bid_action_code.rb +19 -0
- data/lib/ebay/types/bid_approval.rb +16 -0
- data/lib/ebay/types/bid_approval_array.rb +14 -0
- data/lib/ebay/types/bidder_detail.rb +19 -0
- data/lib/ebay/types/bidder_detail_array.rb +14 -0
- data/lib/ebay/types/bidder_id.rb +28 -0
- data/lib/ebay/types/bidder_notice_preferences.rb +13 -0
- data/lib/ebay/types/bidder_status_code.rb +12 -0
- data/lib/ebay/types/bidder_type_code.rb +11 -0
- data/lib/ebay/types/bidding_details.rb +17 -0
- data/lib/ebay/types/bidding_summary.rb +20 -0
- data/lib/ebay/types/bulk_catalog_lister_status_code.rb +15 -0
- data/lib/ebay/types/buyer.rb +14 -0
- data/lib/ebay/types/buyer_payment_method_code.rb +32 -0
- data/lib/ebay/types/buyer_protection_code.rb +13 -0
- data/lib/ebay/types/buyer_requirements.rb +21 -0
- data/lib/ebay/types/buying_guide.rb +16 -0
- data/lib/ebay/types/buying_guide_details.rb +15 -0
- data/lib/ebay/types/buying_summary.rb +19 -0
- data/lib/ebay/types/calculated_shipping_charge_option_code.rb +11 -0
- data/lib/ebay/types/calculated_shipping_preferences.rb +16 -0
- data/lib/ebay/types/calculated_shipping_rate.rb +23 -0
- data/lib/ebay/types/calculated_shipping_rate_option_code.rb +11 -0
- data/lib/ebay/types/cancel_offer.rb +15 -0
- data/lib/ebay/types/cancel_offer_array.rb +14 -0
- data/lib/ebay/types/category.rb +38 -0
- data/lib/ebay/types/category_feature.rb +41 -0
- data/lib/ebay/types/category_feature_detail_level_code.rb +11 -0
- data/lib/ebay/types/category_finance_offer.rb +14 -0
- data/lib/ebay/types/category_listings_order_code.rb +17 -0
- data/lib/ebay/types/category_listings_search_code.rb +11 -0
- data/lib/ebay/types/category_mapping.rb +14 -0
- data/lib/ebay/types/characteristic.rb +21 -0
- data/lib/ebay/types/characteristic_set_ids.rb +13 -0
- data/lib/ebay/types/characteristics_search_code.rb +11 -0
- data/lib/ebay/types/characteristics_set.rb +17 -0
- data/lib/ebay/types/charity.rb +20 -0
- data/lib/ebay/types/charity_affiliation.rb +14 -0
- data/lib/ebay/types/charity_affiliation_type_code.rb +12 -0
- data/lib/ebay/types/charity_id.rb +14 -0
- data/lib/ebay/types/charity_info.rb +21 -0
- data/lib/ebay/types/charity_seller.rb +15 -0
- data/lib/ebay/types/charity_seller_status_code.rb +18 -0
- data/lib/ebay/types/charity_status_code.rb +11 -0
- data/lib/ebay/types/checkout_method_code.rb +11 -0
- data/lib/ebay/types/checkout_status.rb +16 -0
- data/lib/ebay/types/checkout_status_code.rb +13 -0
- data/lib/ebay/types/combined_payment_option_code.rb +12 -0
- data/lib/ebay/types/combined_payment_period_code.rb +14 -0
- data/lib/ebay/types/combined_payment_preferences.rb +18 -0
- data/lib/ebay/types/comment_type_code.rb +14 -0
- data/lib/ebay/types/complete_status_code.rb +12 -0
- data/lib/ebay/types/condition_selection_code.rb +11 -0
- data/lib/ebay/types/context_search_asset.rb +16 -0
- data/lib/ebay/types/country_code.rb +253 -0
- data/lib/ebay/types/country_details.rb +14 -0
- data/lib/ebay/types/cross_promotion_preferences.rb +19 -0
- data/lib/ebay/types/cross_promotions.rb +21 -0
- data/lib/ebay/types/currency_code.rb +183 -0
- data/lib/ebay/types/currency_details.rb +14 -0
- data/lib/ebay/types/custom_security_header.rb +17 -0
- data/lib/ebay/types/data_element_set.rb +15 -0
- data/lib/ebay/types/date_specifier_code.rb +12 -0
- data/lib/ebay/types/deposit_type_code.rb +12 -0
- data/lib/ebay/types/description_revise_mode_code.rb +12 -0
- data/lib/ebay/types/description_template.rb +22 -0
- data/lib/ebay/types/description_template_code.rb +11 -0
- data/lib/ebay/types/detail_level_code.rb +16 -0
- data/lib/ebay/types/detail_name_code.rb +19 -0
- data/lib/ebay/types/device_type_code.rb +11 -0
- data/lib/ebay/types/digital_delivery_details.rb +16 -0
- data/lib/ebay/types/digital_delivery_enabled_code.rb +12 -0
- data/lib/ebay/types/digital_delivery_enabled_definition.rb +12 -0
- data/lib/ebay/types/digital_delivery_method_code.rb +12 -0
- data/lib/ebay/types/dispatch_time_max_details.rb +14 -0
- data/lib/ebay/types/display_pay_now_button_code.rb +11 -0
- data/lib/ebay/types/dispute.rb +35 -0
- data/lib/ebay/types/dispute_activity_code.rb +18 -0
- data/lib/ebay/types/dispute_credit_eligibility_code.rb +11 -0
- data/lib/ebay/types/dispute_explanation_code.rb +22 -0
- data/lib/ebay/types/dispute_filter_count.rb +14 -0
- data/lib/ebay/types/dispute_filter_type_code.rb +16 -0
- data/lib/ebay/types/dispute_message.rb +16 -0
- data/lib/ebay/types/dispute_message_source_code.rb +12 -0
- data/lib/ebay/types/dispute_reason_code.rb +15 -0
- data/lib/ebay/types/dispute_record_type_code.rb +11 -0
- data/lib/ebay/types/dispute_resolution.rb +15 -0
- data/lib/ebay/types/dispute_resolution_reason_code.rb +22 -0
- data/lib/ebay/types/dispute_resolution_record_type_code.rb +20 -0
- data/lib/ebay/types/dispute_sort_type_code.rb +16 -0
- data/lib/ebay/types/dispute_state_code.rb +34 -0
- data/lib/ebay/types/dispute_status_code.rb +28 -0
- data/lib/ebay/types/distance.rb +14 -0
- data/lib/ebay/types/domain_histogram.rb +14 -0
- data/lib/ebay/types/duplicate_invocation_details.rb +15 -0
- data/lib/ebay/types/dutch_bin_enabled_definition.rb +12 -0
- data/lib/ebay/types/ebay_subscription_type_code.rb +29 -0
- data/lib/ebay/types/ebx_opt_in_preference.rb +13 -0
- data/lib/ebay/types/enable_code.rb +11 -0
- data/lib/ebay/types/end_of_auction_email_preferences.rb +19 -0
- data/lib/ebay/types/end_of_auction_logo_type_code.rb +13 -0
- data/lib/ebay/types/end_reason_code.rb +14 -0
- data/lib/ebay/types/error.rb +20 -0
- data/lib/ebay/types/error_classification_code.rb +11 -0
- data/lib/ebay/types/error_handling_code.rb +13 -0
- data/lib/ebay/types/error_parameter.rb +14 -0
- data/lib/ebay/types/escrow_code.rb +12 -0
- data/lib/ebay/types/expansion_array.rb +15 -0
- data/lib/ebay/types/express_condition_required_definition.rb +12 -0
- data/lib/ebay/types/express_detail_level_code.rb +12 -0
- data/lib/ebay/types/express_details.rb +15 -0
- data/lib/ebay/types/express_enabled_definition.rb +12 -0
- data/lib/ebay/types/express_histogram_aisle.rb +16 -0
- data/lib/ebay/types/express_histogram_department.rb +16 -0
- data/lib/ebay/types/express_histogram_domain_details.rb +17 -0
- data/lib/ebay/types/express_histogram_product.rb +14 -0
- data/lib/ebay/types/express_histogram_sort_code.rb +12 -0
- data/lib/ebay/types/express_item_requirements.rb +31 -0
- data/lib/ebay/types/express_item_sort_code.rb +12 -0
- data/lib/ebay/types/express_pictures_required_definition.rb +12 -0
- data/lib/ebay/types/express_preferences.rb +14 -0
- data/lib/ebay/types/express_product.rb +22 -0
- data/lib/ebay/types/express_product_sort_code.rb +12 -0
- data/lib/ebay/types/express_seller_requirements.rb +25 -0
- data/lib/ebay/types/express_selling_preference_code.rb +12 -0
- data/lib/ebay/types/extended_product_finder_id.rb +14 -0
- data/lib/ebay/types/external_alert_id_array.rb +13 -0
- data/lib/ebay/types/external_product_code.rb +14 -0
- data/lib/ebay/types/external_product_id.rb +19 -0
- data/lib/ebay/types/external_transaction.rb +16 -0
- data/lib/ebay/types/fault_details.rb +15 -0
- data/lib/ebay/types/feature_definitions.rb +72 -0
- data/lib/ebay/types/feature_id_code.rb +37 -0
- data/lib/ebay/types/fee.rb +14 -0
- data/lib/ebay/types/feedback_detail.rb +29 -0
- data/lib/ebay/types/feedback_info.rb +15 -0
- data/lib/ebay/types/feedback_period.rb +14 -0
- data/lib/ebay/types/feedback_period_array.rb +14 -0
- data/lib/ebay/types/feedback_rating_star_code.rb +20 -0
- data/lib/ebay/types/feedback_requirements.rb +14 -0
- data/lib/ebay/types/feedback_response_code.rb +11 -0
- data/lib/ebay/types/feedback_summary.rb +21 -0
- data/lib/ebay/types/finance_offer.rb +20 -0
- data/lib/ebay/types/flat_rate_insurance_range_code.rb +15 -0
- data/lib/ebay/types/flat_rate_insurance_range_cost.rb +14 -0
- data/lib/ebay/types/flat_shipping_preferences.rb +18 -0
- data/lib/ebay/types/flat_shipping_rate_option_code.rb +12 -0
- data/lib/ebay/types/gallery_sort_filter_code.rb +12 -0
- data/lib/ebay/types/gallery_type_code.rb +13 -0
- data/lib/ebay/types/general_payment_method_code.rb +14 -0
- data/lib/ebay/types/get_all_bidders_mode_code.rb +12 -0
- data/lib/ebay/types/get_recommendations_request_container.rb +23 -0
- data/lib/ebay/types/get_recommendations_response_container.rb +23 -0
- data/lib/ebay/types/gift_services_code.rb +12 -0
- data/lib/ebay/types/granularity_level_code.rb +12 -0
- data/lib/ebay/types/hit_counter_code.rb +16 -0
- data/lib/ebay/types/home_page_featured_enabled_definition.rb +12 -0
- data/lib/ebay/types/insurance_details.rb +14 -0
- data/lib/ebay/types/insurance_option_code.rb +14 -0
- data/lib/ebay/types/insurance_selected_code.rb +14 -0
- data/lib/ebay/types/international_shipping_service_options.rb +18 -0
- data/lib/ebay/types/invocation_status.rb +12 -0
- data/lib/ebay/types/item.rb +151 -0
- data/lib/ebay/types/item_bid_details.rb +17 -0
- data/lib/ebay/types/item_format_sort_filter_code.rb +13 -0
- data/lib/ebay/types/item_list_customization.rb +19 -0
- data/lib/ebay/types/item_location_code.rb +11 -0
- data/lib/ebay/types/item_sort_filter_code.rb +15 -0
- data/lib/ebay/types/item_sort_type_code.rb +79 -0
- data/lib/ebay/types/item_totals.rb +14 -0
- data/lib/ebay/types/item_transaction_id.rb +14 -0
- data/lib/ebay/types/item_type_filter_code.rb +18 -0
- data/lib/ebay/types/label.rb +14 -0
- data/lib/ebay/types/listing_analyzer_recommendations.rb +14 -0
- data/lib/ebay/types/listing_checkout_redirect_preference.rb +14 -0
- data/lib/ebay/types/listing_designer.rb +15 -0
- data/lib/ebay/types/listing_details.rb +36 -0
- data/lib/ebay/types/listing_duration_code.rb +21 -0
- data/lib/ebay/types/listing_duration_definition.rb +14 -0
- data/lib/ebay/types/listing_duration_definitions.rb +15 -0
- data/lib/ebay/types/listing_duration_reference.rb +14 -0
- data/lib/ebay/types/listing_enhancements_code.rb +18 -0
- data/lib/ebay/types/listing_flow_code.rb +12 -0
- data/lib/ebay/types/listing_status_code.rb +13 -0
- data/lib/ebay/types/listing_subtype_enum.rb +10 -0
- data/lib/ebay/types/listing_tip.rb +18 -0
- data/lib/ebay/types/listing_tip_field.rb +16 -0
- data/lib/ebay/types/listing_tip_message.rb +16 -0
- data/lib/ebay/types/listing_type_code.rb +21 -0
- data/lib/ebay/types/live_auction_approval_status.rb +14 -0
- data/lib/ebay/types/live_auction_approval_status_array.rb +14 -0
- data/lib/ebay/types/live_auction_bid.rb +16 -0
- data/lib/ebay/types/live_auction_bid_array.rb +14 -0
- data/lib/ebay/types/live_auction_catalog.rb +16 -0
- data/lib/ebay/types/live_auction_details.rb +17 -0
- data/lib/ebay/types/local_listing_distances_non_subscription_definition.rb +12 -0
- data/lib/ebay/types/local_listing_distances_regular_definition.rb +12 -0
- data/lib/ebay/types/local_listing_distances_specialty_definition.rb +12 -0
- data/lib/ebay/types/local_market_non_subscription_definition.rb +12 -0
- data/lib/ebay/types/local_market_premium_subscription_definition.rb +12 -0
- data/lib/ebay/types/local_market_regular_subscription_definition.rb +12 -0
- data/lib/ebay/types/local_market_speciality_subscription_definition.rb +12 -0
- data/lib/ebay/types/local_search.rb +14 -0
- data/lib/ebay/types/logo_type_code.rb +12 -0
- data/lib/ebay/types/lookup_attribute.rb +14 -0
- data/lib/ebay/types/mail_options_type_code.rb +12 -0
- data/lib/ebay/types/mark_up_mark_down_event.rb +19 -0
- data/lib/ebay/types/mark_up_mark_down_event_type_code.rb +11 -0
- data/lib/ebay/types/maximum_item_requirements.rb +14 -0
- data/lib/ebay/types/measure.rb +15 -0
- data/lib/ebay/types/measurement_system_code.rb +11 -0
- data/lib/ebay/types/member_message.rb +24 -0
- data/lib/ebay/types/member_message_exchange.rb +20 -0
- data/lib/ebay/types/member_message_exchange_array.rb +14 -0
- data/lib/ebay/types/merch_display_code.rb +11 -0
- data/lib/ebay/types/merchandizing_pref_code.rb +11 -0
- data/lib/ebay/types/message_status_type_code.rb +11 -0
- data/lib/ebay/types/message_type_code.rb +13 -0
- data/lib/ebay/types/minimum_reserve_price_definition.rb +12 -0
- data/lib/ebay/types/modified_field.rb +14 -0
- data/lib/ebay/types/modify_action_code.rb +12 -0
- data/lib/ebay/types/modify_code.rb +11 -0
- data/lib/ebay/types/my_ebay_favorite_search.rb +14 -0
- data/lib/ebay/types/my_ebay_favorite_search_list.rb +15 -0
- data/lib/ebay/types/my_ebay_favorite_seller.rb +14 -0
- data/lib/ebay/types/my_ebay_favorite_seller_list.rb +15 -0
- data/lib/ebay/types/my_ebay_second_chance_offer_list.rb +15 -0
- data/lib/ebay/types/my_ebay_selection.rb +15 -0
- data/lib/ebay/types/my_messages_alert.rb +36 -0
- data/lib/ebay/types/my_messages_alert_array.rb +14 -0
- data/lib/ebay/types/my_messages_alert_id.rb +28 -0
- data/lib/ebay/types/my_messages_alert_id_array.rb +13 -0
- data/lib/ebay/types/my_messages_alert_resolution_status_code.rb +12 -0
- data/lib/ebay/types/my_messages_folder.rb +14 -0
- data/lib/ebay/types/my_messages_folder_operation_code.rb +12 -0
- data/lib/ebay/types/my_messages_folder_summary.rb +18 -0
- data/lib/ebay/types/my_messages_forward_details.rb +14 -0
- data/lib/ebay/types/my_messages_message.rb +32 -0
- data/lib/ebay/types/my_messages_message_array.rb +14 -0
- data/lib/ebay/types/my_messages_message_id.rb +28 -0
- data/lib/ebay/types/my_messages_message_id_array.rb +13 -0
- data/lib/ebay/types/my_messages_response_details.rb +15 -0
- data/lib/ebay/types/my_messages_summary.rb +20 -0
- data/lib/ebay/types/name_value_list.rb +14 -0
- data/lib/ebay/types/name_value_list_array.rb +14 -0
- data/lib/ebay/types/notification_delivery_status_code.rb +13 -0
- data/lib/ebay/types/notification_details.rb +25 -0
- data/lib/ebay/types/notification_enable.rb +14 -0
- data/lib/ebay/types/notification_enable_array.rb +14 -0
- data/lib/ebay/types/notification_event_property.rb +15 -0
- data/lib/ebay/types/notification_event_property_name_code.rb +10 -0
- data/lib/ebay/types/notification_event_state_code.rb +19 -0
- data/lib/ebay/types/notification_event_type_code.rb +50 -0
- data/lib/ebay/types/notification_payload_type_code.rb +10 -0
- data/lib/ebay/types/notification_role_code.rb +13 -0
- data/lib/ebay/types/notification_statistics.rb +17 -0
- data/lib/ebay/types/notification_user_data.rb +16 -0
- data/lib/ebay/types/offer.rb +27 -0
- data/lib/ebay/types/offer_array.rb +14 -0
- data/lib/ebay/types/operation_type_code.rb +11 -0
- data/lib/ebay/types/order.rb +38 -0
- data/lib/ebay/types/order_role_code.rb +11 -0
- data/lib/ebay/types/order_status_code.rb +13 -0
- data/lib/ebay/types/order_transaction.rb +16 -0
- data/lib/ebay/types/paginated_item_array.rb +16 -0
- data/lib/ebay/types/paginated_order_transaction_array.rb +16 -0
- data/lib/ebay/types/paginated_transaction_array.rb +16 -0
- data/lib/ebay/types/pagination.rb +14 -0
- data/lib/ebay/types/pagination_result.rb +14 -0
- data/lib/ebay/types/paid_status_code.rb +20 -0
- data/lib/ebay/types/pay_pal_account_level_code.rb +16 -0
- data/lib/ebay/types/pay_pal_account_status_code.rb +17 -0
- data/lib/ebay/types/pay_pal_account_type_code.rb +14 -0
- data/lib/ebay/types/payment_details.rb +14 -0
- data/lib/ebay/types/payment_method_search_code.rb +12 -0
- data/lib/ebay/types/payment_option_details.rb +14 -0
- data/lib/ebay/types/payment_status_code.rb +15 -0
- data/lib/ebay/types/payment_type_code.rb +14 -0
- data/lib/ebay/types/paypal_account_level_code.rb +16 -0
- data/lib/ebay/types/paypal_account_status_code.rb +17 -0
- data/lib/ebay/types/paypal_account_type_code.rb +14 -0
- data/lib/ebay/types/photo_display_code.rb +16 -0
- data/lib/ebay/types/picture_details.rb +17 -0
- data/lib/ebay/types/picture_manager_action_code.rb +14 -0
- data/lib/ebay/types/picture_manager_detail_level_code.rb +12 -0
- data/lib/ebay/types/picture_manager_details.rb +20 -0
- data/lib/ebay/types/picture_manager_folder.rb +16 -0
- data/lib/ebay/types/picture_manager_picture.rb +17 -0
- data/lib/ebay/types/picture_manager_picture_display.rb +17 -0
- data/lib/ebay/types/picture_manager_picture_display_type_code.rb +15 -0
- data/lib/ebay/types/picture_manager_subscription.rb +15 -0
- data/lib/ebay/types/picture_manager_subscription_level_code.rb +14 -0
- data/lib/ebay/types/picture_source_code.rb +12 -0
- data/lib/ebay/types/price_range_filter.rb +14 -0
- data/lib/ebay/types/pricing_recommendations.rb +14 -0
- data/lib/ebay/types/pro_pack_enabled_definition.rb +12 -0
- data/lib/ebay/types/pro_pack_plus_enabled_definition.rb +12 -0
- data/lib/ebay/types/pro_stores_checkout_preference.rb +15 -0
- data/lib/ebay/types/pro_stores_details.rb +15 -0
- data/lib/ebay/types/product.rb +21 -0
- data/lib/ebay/types/product_family.rb +16 -0
- data/lib/ebay/types/product_finder_constraint.rb +14 -0
- data/lib/ebay/types/product_info.rb +16 -0
- data/lib/ebay/types/product_listing_details.rb +18 -0
- data/lib/ebay/types/product_search.rb +26 -0
- data/lib/ebay/types/product_search_page.rb +20 -0
- data/lib/ebay/types/product_search_result.rb +26 -0
- data/lib/ebay/types/product_use_case_code.rb +12 -0
- data/lib/ebay/types/promoted_item.rb +24 -0
- data/lib/ebay/types/promotion_details.rb +16 -0
- data/lib/ebay/types/promotion_item_price_type_code.rb +13 -0
- data/lib/ebay/types/promotion_item_selection_code.rb +11 -0
- data/lib/ebay/types/promotion_method_code.rb +11 -0
- data/lib/ebay/types/promotion_rule.rb +24 -0
- data/lib/ebay/types/promotion_scheme_code.rb +18 -0
- data/lib/ebay/types/proximity_search.rb +14 -0
- data/lib/ebay/types/proximity_search_details.rb +13 -0
- data/lib/ebay/types/purchase_purpose_type_code.rb +17 -0
- data/lib/ebay/types/quantity.rb +14 -0
- data/lib/ebay/types/quantity_operator_code.rb +14 -0
- data/lib/ebay/types/question_type_code.rb +13 -0
- data/lib/ebay/types/range_code.rb +11 -0
- data/lib/ebay/types/rcs_payment_status_code.rb +12 -0
- data/lib/ebay/types/recommendation_engine_code.rb +13 -0
- data/lib/ebay/types/refund_reason_code.rb +15 -0
- data/lib/ebay/types/refund_type_code.rb +12 -0
- data/lib/ebay/types/region_details.rb +14 -0
- data/lib/ebay/types/reminder_customization.rb +14 -0
- data/lib/ebay/types/reminders.rb +20 -0
- data/lib/ebay/types/request_categories.rb +16 -0
- data/lib/ebay/types/response_attribute_set.rb +21 -0
- data/lib/ebay/types/revise_status.rb +17 -0
- data/lib/ebay/types/sales_tax.rb +16 -0
- data/lib/ebay/types/schedule.rb +14 -0
- data/lib/ebay/types/scheduling_info.rb +15 -0
- data/lib/ebay/types/search_attributes.rb +17 -0
- data/lib/ebay/types/search_details.rb +15 -0
- data/lib/ebay/types/search_flags_code.rb +13 -0
- data/lib/ebay/types/search_location.rb +15 -0
- data/lib/ebay/types/search_location_filter.rb +17 -0
- data/lib/ebay/types/search_request.rb +16 -0
- data/lib/ebay/types/search_result_item.rb +17 -0
- data/lib/ebay/types/search_result_values_code.rb +14 -0
- data/lib/ebay/types/search_sort_order_code.rb +25 -0
- data/lib/ebay/types/search_store_filter.rb +14 -0
- data/lib/ebay/types/search_type_code.rb +11 -0
- data/lib/ebay/types/second_chance_offer_duration_code.rb +13 -0
- data/lib/ebay/types/selection_mode_code.rb +11 -0
- data/lib/ebay/types/seller.rb +39 -0
- data/lib/ebay/types/seller_business_code.rb +12 -0
- data/lib/ebay/types/seller_contact_details_enabled_definition.rb +12 -0
- data/lib/ebay/types/seller_favorite_item_preferences.rb +19 -0
- data/lib/ebay/types/seller_guarantee_level_code.rb +13 -0
- data/lib/ebay/types/seller_level_code.rb +15 -0
- data/lib/ebay/types/seller_payment.rb +26 -0
- data/lib/ebay/types/seller_payment_method_code.rb +14 -0
- data/lib/ebay/types/seller_payment_preferences.rb +20 -0
- data/lib/ebay/types/selling_manager_product_details.rb +15 -0
- data/lib/ebay/types/selling_status.rb +26 -0
- data/lib/ebay/types/selling_summary.rb +19 -0
- data/lib/ebay/types/set_user_notes_action_code.rb +11 -0
- data/lib/ebay/types/severity_code.rb +11 -0
- data/lib/ebay/types/shipment.rb +39 -0
- data/lib/ebay/types/shipment_delivery_status_code.rb +16 -0
- data/lib/ebay/types/shipment_status_code.rb +11 -0
- data/lib/ebay/types/shipping_carrier_code.rb +16 -0
- data/lib/ebay/types/shipping_details.rb +43 -0
- data/lib/ebay/types/shipping_feature_code.rb +15 -0
- data/lib/ebay/types/shipping_location_details.rb +14 -0
- data/lib/ebay/types/shipping_option_code.rb +13 -0
- data/lib/ebay/types/shipping_package_code.rb +27 -0
- data/lib/ebay/types/shipping_rate_type_code.rb +11 -0
- data/lib/ebay/types/shipping_region_code.rb +23 -0
- data/lib/ebay/types/shipping_service_code.rb +433 -0
- data/lib/ebay/types/shipping_service_details.rb +20 -0
- data/lib/ebay/types/shipping_service_options.rb +21 -0
- data/lib/ebay/types/shipping_term_required_definition.rb +12 -0
- data/lib/ebay/types/shipping_terms_code.rb +11 -0
- data/lib/ebay/types/shipping_type_code.rb +16 -0
- data/lib/ebay/types/sifftas_recommendations.rb +14 -0
- data/lib/ebay/types/site_code.rb +34 -0
- data/lib/ebay/types/site_defaults.rb +43 -0
- data/lib/ebay/types/site_details.rb +14 -0
- data/lib/ebay/types/site_hosted_picture.rb +17 -0
- data/lib/ebay/types/site_id_filter_code.rb +14 -0
- data/lib/ebay/types/site_location.rb +13 -0
- data/lib/ebay/types/site_wide_characteristics.rb +15 -0
- data/lib/ebay/types/skype_contact_option_code.rb +11 -0
- data/lib/ebay/types/skype_me_non_transactional_enabled_definition.rb +12 -0
- data/lib/ebay/types/skype_me_transactional_enabled_definition.rb +12 -0
- data/lib/ebay/types/skype_option_code.rb +11 -0
- data/lib/ebay/types/sms_subscription.rb +17 -0
- data/lib/ebay/types/sms_subscription_error_code_code.rb +14 -0
- data/lib/ebay/types/sms_subscription_user_status_code.rb +13 -0
- data/lib/ebay/types/sort_order_code.rb +11 -0
- data/lib/ebay/types/spelling_suggestion.rb +14 -0
- data/lib/ebay/types/store.rb +34 -0
- data/lib/ebay/types/store_category_update_action_code.rb +13 -0
- data/lib/ebay/types/store_color.rb +15 -0
- data/lib/ebay/types/store_color_scheme.rb +18 -0
- data/lib/ebay/types/store_color_scheme_array.rb +14 -0
- data/lib/ebay/types/store_custom_category.rb +18 -0
- data/lib/ebay/types/store_custom_category_array.rb +14 -0
- data/lib/ebay/types/store_custom_header_layout_code.rb +11 -0
- data/lib/ebay/types/store_custom_listing_header.rb +20 -0
- data/lib/ebay/types/store_custom_listing_header_display_code.rb +12 -0
- data/lib/ebay/types/store_custom_listing_header_link.rb +15 -0
- data/lib/ebay/types/store_custom_listing_header_link_code.rb +13 -0
- data/lib/ebay/types/store_custom_page.rb +21 -0
- data/lib/ebay/types/store_custom_page_array.rb +14 -0
- data/lib/ebay/types/store_custom_page_status_code.rb +12 -0
- data/lib/ebay/types/store_font.rb +21 -0
- data/lib/ebay/types/store_font_face_code.rb +13 -0
- data/lib/ebay/types/store_font_size_code.rb +16 -0
- data/lib/ebay/types/store_header_style_code.rb +11 -0
- data/lib/ebay/types/store_inventory_enabled_definition.rb +12 -0
- data/lib/ebay/types/store_item_list_layout_code.rb +11 -0
- data/lib/ebay/types/store_item_list_sort_order_code.rb +13 -0
- data/lib/ebay/types/store_logo.rb +15 -0
- data/lib/ebay/types/store_logo_array.rb +14 -0
- data/lib/ebay/types/store_preferences.rb +14 -0
- data/lib/ebay/types/store_search_code.rb +13 -0
- data/lib/ebay/types/store_subscription.rb +14 -0
- data/lib/ebay/types/store_subscription_array.rb +14 -0
- data/lib/ebay/types/store_subscription_level_code.rb +13 -0
- data/lib/ebay/types/store_theme.rb +16 -0
- data/lib/ebay/types/store_theme_array.rb +16 -0
- data/lib/ebay/types/store_vacation_preferences.rb +19 -0
- data/lib/ebay/types/storefront.rb +16 -0
- data/lib/ebay/types/string_match_code.rb +11 -0
- data/lib/ebay/types/subscription.rb +15 -0
- data/lib/ebay/types/suggested_category.rb +15 -0
- data/lib/ebay/types/summary_event_schedule.rb +15 -0
- data/lib/ebay/types/summary_frequency_code.rb +49 -0
- data/lib/ebay/types/summary_window_period_code.rb +17 -0
- data/lib/ebay/types/supported_event_types_array.rb +13 -0
- data/lib/ebay/types/task_status_code.rb +13 -0
- data/lib/ebay/types/tax_jurisdiction.rb +16 -0
- data/lib/ebay/types/tcr_enabled_definition.rb +12 -0
- data/lib/ebay/types/theme_group.rb +16 -0
- data/lib/ebay/types/token_return_method_code.rb +11 -0
- data/lib/ebay/types/trading_role_code.rb +11 -0
- data/lib/ebay/types/transaction.rb +54 -0
- data/lib/ebay/types/transaction_platform.rb +11 -0
- data/lib/ebay/types/transaction_status.rb +18 -0
- data/lib/ebay/types/unit_code.rb +15 -0
- data/lib/ebay/types/ups_rate_option_code.rb +11 -0
- data/lib/ebay/types/url_details.rb +14 -0
- data/lib/ebay/types/url_type_code.rb +20 -0
- data/lib/ebay/types/user.rb +56 -0
- data/lib/ebay/types/user_consent_required_definition.rb +12 -0
- data/lib/ebay/types/user_id_array.rb +13 -0
- data/lib/ebay/types/user_id_filter.rb +14 -0
- data/lib/ebay/types/user_id_password.rb +17 -0
- data/lib/ebay/types/user_status_code.rb +26 -0
- data/lib/ebay/types/val.rb +15 -0
- data/lib/ebay/types/value_pack_enabled_definition.rb +12 -0
- data/lib/ebay/types/vat_details.rb +15 -0
- data/lib/ebay/types/vat_status_code.rb +12 -0
- data/lib/ebay/types/vendor_hosted_picture.rb +17 -0
- data/lib/ebay/types/verified_user_requirements.rb +14 -0
- data/lib/ebay/types/want_it_now_post.rb +19 -0
- data/lib/ebay/types/warning_level_code.rb +11 -0
- data/lib/ebay/types/wireless_carrier_id_code.rb +23 -0
- data/lib/ebay/types/xml_requester_credentials.rb +15 -0
- data/lib/ebay/types/xsl_file.rb +26 -0
- data/lib/ebay/types.rb +204 -0
- data/lib/ebay.rb +32 -0
- data/lib/support/cattr_accessor.rb +57 -0
- data/lib/support/core_ext/hash.rb +24 -0
- data/lib/support/core_ext/string.rb +21 -0
- data/lib/support/xml_mapping/cdata_node.rb +7 -0
- data/lib/support/xml_mapping/money_node.rb +22 -0
- data/lib/support/xml_mapping/time_node.rb +14 -0
- data/lib/support/xml_mapping/value_array_node.rb +8 -0
- data/lib/support/xml_mapping.rb +10 -0
- data/rakefile +130 -0
- data/test/credentials.rb +7 -0
- data/test/fixtures/notifications/ask_seller_question.xml +58 -0
- data/test/fixtures/notifications/invalid_signature.xml +333 -0
- data/test/fixtures/notifications/m2m_message1.xml +333 -0
- data/test/fixtures/notifications/no_soap_body.xml +10 -0
- data/test/fixtures/responses/get_attributes_cs.xml +93188 -0
- data/test/fixtures/responses/get_attributes_xsl.xml +3973 -0
- data/test/fixtures/responses/official_time_failure.xml +2 -0
- data/test/fixtures/responses/official_time_success.xml +2 -0
- data/test/fixtures/responses/official_time_warning.xml +2 -0
- data/test/fixtures/responses/verify_add_item.xml +2 -0
- data/test/fixtures/responses/verify_add_item_failure.xml +2 -0
- data/test/fixtures/templates/abstract_response.erb +3 -0
- data/test/fixtures/templates/base.erb +19 -0
- data/test/fixtures/templates/ebay_class.erb +14 -0
- data/test/http_mock.rb +48 -0
- data/test/test_helper.rb +27 -0
- data/test/unit/abstract_request_test.rb +20 -0
- data/test/unit/application_delivery_preferences_test.rb +21 -0
- data/test/unit/class_definition_test.rb +20 -0
- data/test/unit/config_test.rb +24 -0
- data/test/unit/core_ext_hash_test.rb +61 -0
- data/test/unit/core_ext_string_test.rb +93 -0
- data/test/unit/ebay_test.rb +63 -0
- data/test/unit/generate_from_xsd.rb +35 -0
- data/test/unit/get_attributes_cs_test.rb +15 -0
- data/test/unit/get_attributes_xsl.rb +18 -0
- data/test/unit/initializer_test.rb +84 -0
- data/test/unit/mapping_subclass_test.rb +24 -0
- data/test/unit/node_test.rb +113 -0
- data/test/unit/notification_signature_test.rb +14 -0
- data/test/unit/notifications_test.rb +52 -0
- data/test/unit/template_test.rb +70 -0
- data/test/unit/xml_mapping_cdata_node_test.rb +31 -0
- data/test/unit/xml_mapping_money_node_test.rb +28 -0
- data/test/unit/xml_mapping_test.rb +28 -0
- data/test/unit/xml_mapping_time_node_test.rb +37 -0
- data/test/unit/xml_mapping_value_array_node_test.rb +57 -0
- metadata +943 -0
@@ -0,0 +1,108 @@
|
|
1
|
+
module Ebay
|
2
|
+
module Schema
|
3
|
+
class ApiSchemaImporter
|
4
|
+
include RubyClassGeneratorHelper
|
5
|
+
|
6
|
+
attr_reader :complex_types, :simple_types
|
7
|
+
|
8
|
+
Ignores = [ 'RecipientRelationCodeType' ]
|
9
|
+
|
10
|
+
def initialize(schema)
|
11
|
+
@elements = schema.collect_elements
|
12
|
+
@elements.uniq!
|
13
|
+
@attributes = schema.collect_attributes
|
14
|
+
@attributes.uniq!
|
15
|
+
# Only want the simple types that have an enumeration (codes)
|
16
|
+
@simple_types = schema.collect_simpletypes
|
17
|
+
@simple_types.uniq!
|
18
|
+
|
19
|
+
@code_types = @simple_types.reject{ |e| e.restriction.enumeration.empty? || Ignores.include?(e.name.name) }
|
20
|
+
|
21
|
+
@complex_types = schema.collect_complextypes
|
22
|
+
@complex_types.uniq!
|
23
|
+
@fault_types = nil
|
24
|
+
if schema.respond_to?(:collect_faulttypes)
|
25
|
+
@fault_types = schema.collect_faulttypes
|
26
|
+
end
|
27
|
+
|
28
|
+
@unused_files = []
|
29
|
+
end
|
30
|
+
|
31
|
+
def export_classes(base_dir)
|
32
|
+
@base_dir = base_dir
|
33
|
+
write_classes
|
34
|
+
end
|
35
|
+
|
36
|
+
def write_classes
|
37
|
+
|
38
|
+
complex_classes = @complex_types.collect do |type|
|
39
|
+
puts "Generating class for #{type.name.name}"
|
40
|
+
RubyClassGenerator.new(type, @simple_types, @complex_types)
|
41
|
+
end
|
42
|
+
|
43
|
+
simple_classes = @code_types.collect do |type|
|
44
|
+
puts "Generating simple type class for #{type.name.name}"
|
45
|
+
RubyClassGenerator.new(type, @simple_types, @complex_types)
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
write_requires_files(complex_classes)
|
50
|
+
write_class_files(complex_classes)
|
51
|
+
|
52
|
+
write_class_files(simple_classes)
|
53
|
+
write_requires_file('types', simple_classes)
|
54
|
+
remove_unused_files
|
55
|
+
end
|
56
|
+
|
57
|
+
private
|
58
|
+
def write_class_files(classes)
|
59
|
+
classes.each do |klass|
|
60
|
+
write_class(klass)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def write_requires_files(classes)
|
65
|
+
requests = classes.select{|c| c.request?}
|
66
|
+
responses = classes.select{|c| c.response?}
|
67
|
+
types = classes.select{|c| c.type?}
|
68
|
+
|
69
|
+
write_requires_file('requests', requests, true)
|
70
|
+
write_requires_file('responses', requests, true)
|
71
|
+
end
|
72
|
+
|
73
|
+
def write_requires_file(name, classes, add_abstract = false)
|
74
|
+
prefix = "ebay/#{name}"
|
75
|
+
File.open("#{@base_dir}/#{name}.rb", 'w') do |file|
|
76
|
+
file.puts require_statement("#{prefix}/abstract") if add_abstract
|
77
|
+
file.puts classes.inject(''){|memo, c| memo << require_statement("#{prefix}/#{c.name.gsub(/(Request|Response)$/, '').ebay_underscore}")}
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def write_class(klass)
|
82
|
+
File.open(generate_filename(klass.name, klass.module_name, klass.type? && !klass.abstract?), "w") do |file|
|
83
|
+
file.puts klass.to_s
|
84
|
+
@unused_files.concat(klass.ignored_classes.collect{|c| generate_filename(c, 'types', true)})
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def generate_filename(name, module_name, simple)
|
89
|
+
name = name.gsub(/Type$/,'')
|
90
|
+
name.gsub!(/(Response|Request)$/, '') unless simple
|
91
|
+
|
92
|
+
"#{@base_dir}/#{module_name.downcase}/#{name.ebay_underscore}.rb"
|
93
|
+
end
|
94
|
+
|
95
|
+
def remove_unused_files
|
96
|
+
@unused_files.uniq!.each do |file|
|
97
|
+
if File.exists?(file)
|
98
|
+
puts "Removing #{file}"
|
99
|
+
File.delete(file)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
|
108
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Ebay
|
2
|
+
module Schema
|
3
|
+
class Enumeration
|
4
|
+
attr_accessor :codes
|
5
|
+
def initialize(codes = [])
|
6
|
+
codes.delete('CustomCode')
|
7
|
+
@codes = codes
|
8
|
+
end
|
9
|
+
|
10
|
+
def to_s
|
11
|
+
<<-END
|
12
|
+
CODES = #{@codes.inspect}
|
13
|
+
|
14
|
+
|
15
|
+
class << self
|
16
|
+
def codes
|
17
|
+
CODES
|
18
|
+
end
|
19
|
+
|
20
|
+
CODES.each do |code|
|
21
|
+
define_method(code.ebay_underscore) do
|
22
|
+
new(code)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
END
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,153 @@
|
|
1
|
+
module Ebay
|
2
|
+
module Schema
|
3
|
+
class Node
|
4
|
+
class_inheritable_accessor :override_type
|
5
|
+
|
6
|
+
attr_accessor :name, :min, :max
|
7
|
+
def initialize(name, attributes = {})
|
8
|
+
@name = name
|
9
|
+
@type = attributes[:type]
|
10
|
+
@min = attributes[:min] || "1"
|
11
|
+
@max = attributes[:max] || "1"
|
12
|
+
@field = attributes[:field]
|
13
|
+
@child = attributes[:child]
|
14
|
+
end
|
15
|
+
|
16
|
+
def optional?
|
17
|
+
@min == "0"
|
18
|
+
end
|
19
|
+
|
20
|
+
def accessor_name
|
21
|
+
name = @name.ebay_underscore
|
22
|
+
if name =~ /_array$/
|
23
|
+
name.gsub!(/_array$/, '')
|
24
|
+
Inflector.pluralize(name)
|
25
|
+
else
|
26
|
+
name
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def xml_mapping_node_type
|
31
|
+
override_type || Inflector.demodulize(self.class.to_s).underscore
|
32
|
+
end
|
33
|
+
|
34
|
+
def declaration
|
35
|
+
"#{xml_mapping_node_type} :#{accessor_name}"
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
def clean_class_name(name)
|
40
|
+
trim_namespace(name.gsub(/Type$/, '')).camelize
|
41
|
+
end
|
42
|
+
|
43
|
+
def trim_name(type)
|
44
|
+
type.gsub(/Type$/,'')
|
45
|
+
end
|
46
|
+
|
47
|
+
def trim_namespace(name)
|
48
|
+
name.gsub(/^.*:/,'')
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
class TextNode < Node
|
53
|
+
def to_s
|
54
|
+
result = "#{declaration}, "
|
55
|
+
result << (@field.nil? ? "'#{@name}'" : "'#{@field}'")
|
56
|
+
result << ', :optional => true' if optional?
|
57
|
+
if @name == 'Type'
|
58
|
+
result += <<-ENDMETHOD
|
59
|
+
|
60
|
+
def type
|
61
|
+
@type
|
62
|
+
end
|
63
|
+
ENDMETHOD
|
64
|
+
end
|
65
|
+
result
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
class CdataNode < TextNode
|
70
|
+
end
|
71
|
+
|
72
|
+
class BooleanNode < Node
|
73
|
+
def to_s
|
74
|
+
result = "#{declaration}, '#{@name}', 'true', 'false'"
|
75
|
+
result << ', :optional => true' if @min == '0'
|
76
|
+
result
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
class NumericNode < Node
|
81
|
+
def to_s
|
82
|
+
result = "#{declaration}, "
|
83
|
+
result << (@field.nil? ? "'#{@name}'" : "'#{@field}'")
|
84
|
+
result << ', :optional => true' if optional?
|
85
|
+
result
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
class DateTimeNode < TextNode
|
90
|
+
self.override_type = 'time_node'
|
91
|
+
end
|
92
|
+
|
93
|
+
class ValueArrayNode < Node
|
94
|
+
def to_s
|
95
|
+
result = "#{declaration.pluralize}, '#{@name}', "
|
96
|
+
result << "'#{@child}', " if @child
|
97
|
+
result << ":default_value => []"
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
class ArrayNode < Node
|
102
|
+
def class_name
|
103
|
+
clean_class_name(@type)
|
104
|
+
end
|
105
|
+
|
106
|
+
def to_s
|
107
|
+
result = "#{declaration.pluralize}, '#{@name}', "
|
108
|
+
result << "'#{@child}', " if @child
|
109
|
+
result << ":class => #{class_name}, :default_value => []"
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
class MoneyNode < Node
|
114
|
+
def to_s
|
115
|
+
result = "#{declaration}, '#{@name}'"
|
116
|
+
result << ', :optional => true' if @min == '0'
|
117
|
+
result
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
class ValueNode < Node
|
122
|
+
def class_name
|
123
|
+
clean_class_name(@type)
|
124
|
+
end
|
125
|
+
|
126
|
+
def to_s
|
127
|
+
result = "#{declaration}, '#{@name}', :class => #{class_name}"
|
128
|
+
result << ', :optional => true' if @min == '0'
|
129
|
+
result
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
class ObjectNode < Node
|
134
|
+
def class_name
|
135
|
+
clean_class_name(@type)
|
136
|
+
end
|
137
|
+
|
138
|
+
def to_s
|
139
|
+
result = "#{declaration}, '#{@name}', :class => #{class_name}"
|
140
|
+
result << ', :optional => true' if @min == '0'
|
141
|
+
if @name == 'Type'
|
142
|
+
result += <<-ENDMETHOD
|
143
|
+
|
144
|
+
def type
|
145
|
+
@type.code
|
146
|
+
end
|
147
|
+
ENDMETHOD
|
148
|
+
end
|
149
|
+
result
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'xsd/qname'
|
2
|
+
require 'xsd/ns'
|
3
|
+
require 'xsd/charset'
|
4
|
+
require 'xsd/datatypes'
|
5
|
+
require 'xsd/xmlparser'
|
6
|
+
require 'wsdl/xmlSchema/parser'
|
7
|
+
|
8
|
+
module Ebay
|
9
|
+
module Schema
|
10
|
+
class Parser
|
11
|
+
def self.parse(string_or_readable)
|
12
|
+
WSDL::XMLSchema::Parser.new.parse(string_or_readable)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,273 @@
|
|
1
|
+
module Ebay
|
2
|
+
module Schema
|
3
|
+
class RubyClassGenerator
|
4
|
+
include RubyClassGeneratorHelper
|
5
|
+
BuiltInTypes = ['string', 'anyURI', 'int', 'float', 'long', 'dateTime', 'boolean', 'token', 'decimal', 'duration', 'double']
|
6
|
+
|
7
|
+
attr_reader :ignored_classes
|
8
|
+
|
9
|
+
def initialize(type, simple_types, complex_types)
|
10
|
+
@indent = 2
|
11
|
+
@type = type
|
12
|
+
@simple_types, @complex_types = simple_types, complex_types
|
13
|
+
@ignored_classes = []
|
14
|
+
find_base
|
15
|
+
end
|
16
|
+
|
17
|
+
def simple_content?
|
18
|
+
@type.simplecontent
|
19
|
+
end
|
20
|
+
|
21
|
+
def simple?
|
22
|
+
@type.is_a?(WSDL::XMLSchema::SimpleType)
|
23
|
+
end
|
24
|
+
|
25
|
+
def complex?
|
26
|
+
@type.is_a?(WSDL::XMLSchema::ComplexType)
|
27
|
+
end
|
28
|
+
|
29
|
+
def to_s
|
30
|
+
@class_def ||= generate_class
|
31
|
+
end
|
32
|
+
|
33
|
+
def generate_class
|
34
|
+
|
35
|
+
template = simple? ? 'value' : 'base'
|
36
|
+
base = ClassTemplate.new(template).load
|
37
|
+
|
38
|
+
customization = ClassTemplate.new(name.ebay_underscore)
|
39
|
+
customization.load if customization.exists?
|
40
|
+
|
41
|
+
if request? || response?
|
42
|
+
class_name = name.ebay_camelize.gsub(/(Request|Response)$/, '')
|
43
|
+
else
|
44
|
+
class_name = name.ebay_camelize
|
45
|
+
end
|
46
|
+
|
47
|
+
element_name = name.ebay_camelize
|
48
|
+
|
49
|
+
|
50
|
+
class_def = ClassDefinition.new(class_name, element_name, module_name, base_class)
|
51
|
+
nodes = generate_nodes
|
52
|
+
|
53
|
+
class_def.nodes.concat nodes
|
54
|
+
|
55
|
+
class_def.customization = customization.render(class_def) if customization.exists?
|
56
|
+
|
57
|
+
base.render(class_def)
|
58
|
+
end
|
59
|
+
|
60
|
+
def name
|
61
|
+
@name ||= trim_type(@type.name.name)
|
62
|
+
end
|
63
|
+
|
64
|
+
def base_class
|
65
|
+
if abstract_request? || abstract_response?
|
66
|
+
'Base'
|
67
|
+
else
|
68
|
+
trim_type(@base.name.name) unless @base.nil?
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def type?
|
73
|
+
!(derived_request? || derived_response?)
|
74
|
+
end
|
75
|
+
|
76
|
+
def abstract?
|
77
|
+
abstract_request? || abstract_response?
|
78
|
+
end
|
79
|
+
|
80
|
+
def abstract_request?
|
81
|
+
name == 'AbstractRequest'
|
82
|
+
end
|
83
|
+
|
84
|
+
def abstract_response?
|
85
|
+
name == 'AbstractResponse'
|
86
|
+
end
|
87
|
+
|
88
|
+
def module_name
|
89
|
+
if request?
|
90
|
+
'Requests'
|
91
|
+
elsif response?
|
92
|
+
'Responses'
|
93
|
+
else
|
94
|
+
'Types'
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
def request?
|
99
|
+
abstract_request? || derived_request?
|
100
|
+
end
|
101
|
+
|
102
|
+
def response?
|
103
|
+
abstract_response? || derived_response?
|
104
|
+
end
|
105
|
+
|
106
|
+
def derived_request?
|
107
|
+
base_class == 'AbstractRequest'
|
108
|
+
end
|
109
|
+
|
110
|
+
def derived_response?
|
111
|
+
base_class == 'AbstractResponse'
|
112
|
+
end
|
113
|
+
|
114
|
+
|
115
|
+
private
|
116
|
+
def select_template
|
117
|
+
# First try and load a template for the class
|
118
|
+
template = ClassTemplate.new(name.ebay_underscore)
|
119
|
+
if !template.exists?
|
120
|
+
template = ClassTemplate.new('ebay_class')
|
121
|
+
end
|
122
|
+
template.load
|
123
|
+
end
|
124
|
+
|
125
|
+
def find_base
|
126
|
+
type = @type.complexcontent.extension.base
|
127
|
+
@base = @complex_types.find_name(type.name) unless type.nil?
|
128
|
+
rescue NoMethodError
|
129
|
+
end
|
130
|
+
|
131
|
+
def non_inherited_elements
|
132
|
+
return @type.elements if @base.nil?
|
133
|
+
|
134
|
+
@type.elements.reject do |e|
|
135
|
+
@base.find_element(e.name)
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
def generate_nodes
|
140
|
+
if simple?
|
141
|
+
enumeration = @type.restriction.enumeration
|
142
|
+
if enumeration.any?
|
143
|
+
@type.restriction.enumeration.select{|c| c != 'CustomCode'}
|
144
|
+
end
|
145
|
+
elsif simple_content?
|
146
|
+
content = @type.simplecontent
|
147
|
+
result = []
|
148
|
+
result << build_node_for_built_in_type(trim_type(name), content.extension.base.name, :field => '', :min => '0')
|
149
|
+
|
150
|
+
result.concat(content.attributes.collect do |a|
|
151
|
+
TextNode.new(trim_code_type(a.type.name), :field => "@#{a.name.name}", :min => '0')
|
152
|
+
end)
|
153
|
+
result
|
154
|
+
else
|
155
|
+
result = nodes_for_complex_elements
|
156
|
+
result.concat nodes_for_complex_attributes
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
def nodes_for_complex_elements
|
161
|
+
begin
|
162
|
+
non_inherited_elements.collect do |e|
|
163
|
+
node_for(e)
|
164
|
+
end.flatten
|
165
|
+
rescue NoMethodError
|
166
|
+
# Hack for when the type doesn't respond to elements
|
167
|
+
@type.complexcontent.content.content.elements.collect do |e|
|
168
|
+
node_for(e)
|
169
|
+
end.flatten
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
def nodes_for_complex_attributes
|
174
|
+
@type.attributes.collect do |a|
|
175
|
+
build_node_for_built_in_type(trim_code_type(a.name.name), a.type.name, :field => "@#{a.name.name}", :min => '0')
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
def generate_require_statements
|
180
|
+
result = ''
|
181
|
+
result << @nodes.inject('') do |memo, node|
|
182
|
+
if node.respond_to?(:class_name)
|
183
|
+
memo << require_statement(node.class_name.ebay_underscore)
|
184
|
+
else
|
185
|
+
memo
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
result << "\n"
|
190
|
+
end
|
191
|
+
|
192
|
+
def node_for(element)
|
193
|
+
name = element.name.name
|
194
|
+
type = element.type.name
|
195
|
+
min = element.minoccurs || "1"
|
196
|
+
max = element.maxoccurs || "1"
|
197
|
+
|
198
|
+
options = { :type => type,
|
199
|
+
:min => min,
|
200
|
+
:max => max
|
201
|
+
}
|
202
|
+
|
203
|
+
if BuiltInTypes.include?(type)
|
204
|
+
build_node_for_built_in_type(name, type, options)
|
205
|
+
else
|
206
|
+
build_node_for_complex_type(name, type, options)
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
def build_node_for_built_in_type(name, type, options)
|
211
|
+
case type
|
212
|
+
when 'string'
|
213
|
+
if self.name == 'Item' && name == 'Description'
|
214
|
+
CdataNode.new(name, options)
|
215
|
+
else
|
216
|
+
TextNode.new(name, options)
|
217
|
+
end
|
218
|
+
when 'anyURI', 'token', 'duration'
|
219
|
+
TextNode.new(name, options)
|
220
|
+
when 'int', 'float', 'long', 'decimal', 'double'
|
221
|
+
NumericNode.new(name, options)
|
222
|
+
when 'dateTime'
|
223
|
+
DateTimeNode.new(name, options)
|
224
|
+
when 'boolean'
|
225
|
+
BooleanNode.new(name, options)
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
229
|
+
def build_node_for_complex_type(name, type, options)
|
230
|
+
min, max = options[:min], options[:max]
|
231
|
+
simple_type = @simple_types.find_name(type)
|
232
|
+
|
233
|
+
case max
|
234
|
+
when "1"
|
235
|
+
if simple_type
|
236
|
+
TextNode.new(name, options)
|
237
|
+
elsif element = @complex_types.find_name(type)
|
238
|
+
if element.elements.size == 1 && element.elements[0].maxoccurs == "unbounded"
|
239
|
+
# Found a container!
|
240
|
+
child = element.elements[0]
|
241
|
+
|
242
|
+
ignored = %w( MemberMessage BidApproval )
|
243
|
+
|
244
|
+
unless BuiltInTypes.include?(child.type.name)
|
245
|
+
@ignored_classes << name unless ignored.include?(name)
|
246
|
+
options[:type] = child.type.name
|
247
|
+
options[:child] = child.name.name
|
248
|
+
end
|
249
|
+
|
250
|
+
if simple_type = @simple_types.find_name(child.type.name)
|
251
|
+
ValueArrayNode.new(name, options)
|
252
|
+
else
|
253
|
+
ArrayNode.new(name, options)
|
254
|
+
end
|
255
|
+
else
|
256
|
+
if type == 'AmountType'
|
257
|
+
MoneyNode.new(name, options)
|
258
|
+
else
|
259
|
+
ObjectNode.new(name, options)
|
260
|
+
end
|
261
|
+
end
|
262
|
+
end
|
263
|
+
else
|
264
|
+
if simple_type
|
265
|
+
ValueArrayNode.new(name, options)
|
266
|
+
else
|
267
|
+
ArrayNode.new(name, options)
|
268
|
+
end
|
269
|
+
end
|
270
|
+
end
|
271
|
+
end
|
272
|
+
end
|
273
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Ebay
|
2
|
+
module Schema
|
3
|
+
module RubyClassGeneratorHelper
|
4
|
+
private
|
5
|
+
def trim_type(type)
|
6
|
+
type.gsub(/Type$/, '')
|
7
|
+
end
|
8
|
+
|
9
|
+
def trim_code_type(type)
|
10
|
+
type.gsub(/CodeType$/, '')
|
11
|
+
end
|
12
|
+
|
13
|
+
def require_statement(library_name)
|
14
|
+
"require '#{library_name}'\n"
|
15
|
+
end
|
16
|
+
|
17
|
+
def include_module(module_name)
|
18
|
+
"include #{module_name}\n"
|
19
|
+
end
|
20
|
+
|
21
|
+
def define_module(name)
|
22
|
+
result = ''
|
23
|
+
result << "module #{name}\n"
|
24
|
+
result << indent("#{yield}\n")
|
25
|
+
result << "end"
|
26
|
+
end
|
27
|
+
|
28
|
+
def define_class(name, superclass)
|
29
|
+
# result = ''
|
30
|
+
result = "class #{trim_type(name).ebay_camelize}"
|
31
|
+
result << " < #{trim_type(superclass)}" unless superclass.nil?
|
32
|
+
# case name
|
33
|
+
# when /RequestType$/
|
34
|
+
# result << " < AbstractRequest"
|
35
|
+
# when /ResponseType$/
|
36
|
+
# result << " < AbstractResponse"
|
37
|
+
# end
|
38
|
+
|
39
|
+
result << "\n"
|
40
|
+
result << indent("#{yield}\n")
|
41
|
+
result << "end"
|
42
|
+
end
|
43
|
+
|
44
|
+
def indent(text)
|
45
|
+
ass #{trim_type(name).ebay_camelize}"
|
46
|
+
text.collect{|line| ' ' * @indent + line}.join('')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'mapper/parser'
|
2
|
+
require 'mapper/enumeration'
|
3
|
+
require 'mapper/enumeration_validation'
|
4
|
+
require 'mapper/node'
|
5
|
+
require 'mapper/ruby_class_generator_helper'
|
6
|
+
require 'mapper/ruby_class_generator'
|
7
|
+
require 'mapper/ebay_schema_importer'
|
8
|
+
require 'mapper/xsd2ebay'
|
9
|
+
|
10
|
+
module Ebay
|
11
|
+
module Schema
|
12
|
+
Namespace = 'urn:ebay:apis:eBLBaseComponents'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<% for req in requires -%>
|
2
|
+
<%= "require 'ebay/types/#{req}'" %>
|
3
|
+
<% end -%>
|
4
|
+
|
5
|
+
module Ebay
|
6
|
+
module <%= module_name %>
|
7
|
+
class <%= class_definition %>
|
8
|
+
include XML::Mapping
|
9
|
+
include Initializer
|
10
|
+
root_element_name '<%= element_name %>'
|
11
|
+
<% for node in nodes -%>
|
12
|
+
<%= node.to_s %>
|
13
|
+
<% end -%>
|
14
|
+
<% for line in customization -%>
|
15
|
+
<%= line.chomp %>
|
16
|
+
<% end -%>
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|