mercadolibre 0.0.5 → 0.0.6
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/CHANGELOG.md +4 -0
- data/lib/mercadolibre.rb +3 -0
- data/lib/mercadolibre/core/categories_and_listings.rb +24 -3
- data/lib/mercadolibre/entity/category.rb +4 -1
- data/lib/mercadolibre/entity/category_settings.rb +26 -0
- data/lib/mercadolibre/entity/listing_exposure.rb +21 -0
- data/lib/mercadolibre/entity/listing_price.rb +26 -0
- data/lib/mercadolibre/version.rb +1 -1
- metadata +4 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b60ec4c7008916fec74f5ad3075b5b498d7ac5a8
         | 
| 4 | 
            +
              data.tar.gz: e353fdc23d5390b9b075b1a5fc9a0ed27182e359
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 64223dc129fa6fd0e56099a8a2320c8e28182b49827a9a96eab9d55b33c8aea12c87606fc479434566db351b2e2e6a96ce306e735ef2c5a3a4bd578301c14ba7
         | 
| 7 | 
            +
              data.tar.gz: e52819ae03da6b4460a72220136d62168e73f076da5ccddd67d22cd43b598b871d07fc0d7e00a2518a3990395c8e0fb60cf0530ab76b2499369a20fbfdf58917
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/lib/mercadolibre.rb
    CHANGED
    
    | @@ -4,6 +4,7 @@ require "mercadolibre/version" | |
| 4 4 | 
             
            require "mercadolibre/entity/answer"
         | 
| 5 5 | 
             
            require "mercadolibre/entity/auth"
         | 
| 6 6 | 
             
            require "mercadolibre/entity/category"
         | 
| 7 | 
            +
            require "mercadolibre/entity/category_settings"
         | 
| 7 8 | 
             
            require "mercadolibre/entity/city"
         | 
| 8 9 | 
             
            require "mercadolibre/entity/country"
         | 
| 9 10 | 
             
            require "mercadolibre/entity/currency"
         | 
| @@ -12,6 +13,8 @@ require "mercadolibre/entity/feedback" | |
| 12 13 | 
             
            require "mercadolibre/entity/item"
         | 
| 13 14 | 
             
            require "mercadolibre/entity/item_description"
         | 
| 14 15 | 
             
            require "mercadolibre/entity/item_picture"
         | 
| 16 | 
            +
            require "mercadolibre/entity/listing_exposure"
         | 
| 17 | 
            +
            require "mercadolibre/entity/listing_price"
         | 
| 15 18 | 
             
            require "mercadolibre/entity/listing_type"
         | 
| 16 19 | 
             
            require "mercadolibre/entity/order"
         | 
| 17 20 | 
             
            require "mercadolibre/entity/order_item"
         | 
| @@ -19,10 +19,25 @@ module Mercadolibre | |
| 19 19 | 
             
                    Mercadolibre::Entity::SiteDomain.new(result[:body])
         | 
| 20 20 | 
             
                  end
         | 
| 21 21 |  | 
| 22 | 
            -
                  def  | 
| 23 | 
            -
                    results = get_request("/sites/#{site_id}/ | 
| 22 | 
            +
                  def get_listing_types(site_id)
         | 
| 23 | 
            +
                    results = get_request("/sites/#{site_id}/listing_types")
         | 
| 24 24 |  | 
| 25 | 
            -
                    results[:body].map { |r| Mercadolibre::Entity:: | 
| 25 | 
            +
                    results[:body].map { |r| Mercadolibre::Entity::ListingType.new(r) }
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                  def get_listing_exposures(site_id)
         | 
| 29 | 
            +
                    results = get_request("/sites/#{site_id}/listing_exposures")
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                    results[:body].map { |r| Mercadolibre::Entity::ListingExposure.new(r) }
         | 
| 32 | 
            +
                  end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                  def get_listing_prices(filters)
         | 
| 35 | 
            +
                    valid_filters = ['price', 'listing_type_id', 'quantity', 'category_id', 'currency_id']
         | 
| 36 | 
            +
                    filters.keep_if { |k,v| valid_filters.include?(k.to_s) }
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                    results = get_request("/sites/#{site_id}/listing_prices", filters)
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                    results[:body].map { |r| Mercadolibre::Entity::ListingPrice.new(r) }
         | 
| 26 41 | 
             
                  end
         | 
| 27 42 |  | 
| 28 43 | 
             
                  def get_site_categories(site_id)
         | 
| @@ -30,6 +45,12 @@ module Mercadolibre | |
| 30 45 |  | 
| 31 46 | 
             
                    results[:body].map { |r| Mercadolibre::Entity::Category.new(r) }
         | 
| 32 47 | 
             
                  end
         | 
| 48 | 
            +
             | 
| 49 | 
            +
                  def get_category(category_id)
         | 
| 50 | 
            +
                    result = get_request("/categories/#{category_id}")
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                    Mercadolibre::Entity::Category.new(result[:body])
         | 
| 53 | 
            +
                  end
         | 
| 33 54 | 
             
                end
         | 
| 34 55 | 
             
              end
         | 
| 35 56 | 
             
            end
         | 
| @@ -2,7 +2,8 @@ module Mercadolibre | |
| 2 2 | 
             
              module Entity
         | 
| 3 3 | 
             
                class Category
         | 
| 4 4 | 
             
                  def self.attr_list
         | 
| 5 | 
            -
                    [:id, :name, : | 
| 5 | 
            +
                    [:id, :name, :picture, :permalink, :total_items_in_this_category,
         | 
| 6 | 
            +
                     :path_from_root, :children_categories, :attribute_types, :settings]
         | 
| 6 7 | 
             
                  end
         | 
| 7 8 |  | 
| 8 9 | 
             
                  attr_reader *attr_list
         | 
| @@ -11,6 +12,8 @@ module Mercadolibre | |
| 11 12 | 
             
                    attributes.each do |k, v|
         | 
| 12 13 | 
             
                      if ['path_from_root', 'children_categories'].include?(k.to_s)
         | 
| 13 14 | 
             
                        self.state = v.map { |x| Category.new(x) }
         | 
| 15 | 
            +
                      elsif k.to_s == 'settings'
         | 
| 16 | 
            +
                        self.settings = CategorySettings.new(v)
         | 
| 14 17 | 
             
                      else
         | 
| 15 18 | 
             
                        self.send("#{k}=", v) if self.respond_to?(k)
         | 
| 16 19 | 
             
                      end
         | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Entity
         | 
| 3 | 
            +
                class CategorySettings
         | 
| 4 | 
            +
                  def self.attr_list
         | 
| 5 | 
            +
                    [:adult_content, :buying_allowed, :buying_modes, :coverage_areas, :currencies,
         | 
| 6 | 
            +
                     :fragile, :immediate_payment, :item_conditions, :items_reviews_allowed, :listing_allowed,
         | 
| 7 | 
            +
                     :max_description_length, :max_pictures_per_item, :max_sub_title_length, :max_title_length,
         | 
| 8 | 
            +
                     :maximum_price, :minimum_price, :mirror_category, :price, :restrictions, :rounded_address,
         | 
| 9 | 
            +
                     :seller_contact, :shipping_modes, :shipping_options, :shipping_profile,
         | 
| 10 | 
            +
                     :show_contact_information, :simple_shipping, :stock, :tags, :vip_subdomain]
         | 
| 11 | 
            +
                  end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                  attr_reader *attr_list
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                  def initialize(attributes={})
         | 
| 16 | 
            +
                    attributes.each do |k, v|
         | 
| 17 | 
            +
                      self.send("#{k}=", v) if self.respond_to?(k)
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  private
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  attr_writer *attr_list
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Entity
         | 
| 3 | 
            +
                class ListingExposure
         | 
| 4 | 
            +
                  def self.attr_list
         | 
| 5 | 
            +
                    [:id, :name, :home_page, :category_home_page, :advertising_on_listing_page, :priority_in_search]
         | 
| 6 | 
            +
                  end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  attr_reader *attr_list
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                  def initialize(attributes={})
         | 
| 11 | 
            +
                    attributes.each do |k, v|
         | 
| 12 | 
            +
                      self.send("#{k}=", v) if self.respond_to?(k)
         | 
| 13 | 
            +
                    end
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  private
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  attr_writer *attr_list
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Entity
         | 
| 3 | 
            +
                class ListingPrice
         | 
| 4 | 
            +
                  def self.attr_list
         | 
| 5 | 
            +
                    [:listing_type_id, :listing_type_name, :listing_exposure, :requires_picture,
         | 
| 6 | 
            +
                     :currency_id, :listing_fee_amount, :sale_fee_amount, :free_relist, :stop_time]
         | 
| 7 | 
            +
                  end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  attr_reader *attr_list
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                  def initialize(attributes={})
         | 
| 12 | 
            +
                    attributes.each do |k, v|
         | 
| 13 | 
            +
                      if k.to_s == 'stop_time'
         | 
| 14 | 
            +
                        self.stop_time = Time.parse(v)
         | 
| 15 | 
            +
                      else
         | 
| 16 | 
            +
                        self.send("#{k}=", v) if self.respond_to?(k)
         | 
| 17 | 
            +
                      end
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  private
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  attr_writer *attr_list
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
            end
         | 
    
        data/lib/mercadolibre/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: mercadolibre
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.6
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Matias Hick
         | 
| @@ -74,6 +74,7 @@ files: | |
| 74 74 | 
             
            - lib/mercadolibre/entity/answer.rb
         | 
| 75 75 | 
             
            - lib/mercadolibre/entity/auth.rb
         | 
| 76 76 | 
             
            - lib/mercadolibre/entity/category.rb
         | 
| 77 | 
            +
            - lib/mercadolibre/entity/category_settings.rb
         | 
| 77 78 | 
             
            - lib/mercadolibre/entity/city.rb
         | 
| 78 79 | 
             
            - lib/mercadolibre/entity/country.rb
         | 
| 79 80 | 
             
            - lib/mercadolibre/entity/currency.rb
         | 
| @@ -82,6 +83,8 @@ files: | |
| 82 83 | 
             
            - lib/mercadolibre/entity/item.rb
         | 
| 83 84 | 
             
            - lib/mercadolibre/entity/item_description.rb
         | 
| 84 85 | 
             
            - lib/mercadolibre/entity/item_picture.rb
         | 
| 86 | 
            +
            - lib/mercadolibre/entity/listing_exposure.rb
         | 
| 87 | 
            +
            - lib/mercadolibre/entity/listing_price.rb
         | 
| 85 88 | 
             
            - lib/mercadolibre/entity/listing_type.rb
         | 
| 86 89 | 
             
            - lib/mercadolibre/entity/order.rb
         | 
| 87 90 | 
             
            - lib/mercadolibre/entity/order_item.rb
         |