mercadolibre 0.0.4 → 0.0.5
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 +12 -4
- data/lib/mercadolibre/core/categories_and_listings.rb +36 -0
- data/lib/mercadolibre/core/{items.rb → items_and_searches.rb} +33 -15
- data/lib/mercadolibre/core/{locations.rb → locations_and_currencies.rb} +7 -1
- data/lib/mercadolibre/core/{orders.rb → order_management.rb} +7 -1
- data/lib/mercadolibre/core/{users.rb → users_and_apps.rb} +7 -1
- data/lib/mercadolibre/entity/category.rb +25 -0
- data/lib/mercadolibre/entity/item_description.rb +25 -0
- data/lib/mercadolibre/entity/listing_type.rb +21 -0
- data/lib/mercadolibre/entity/payment_method.rb +21 -0
- data/lib/mercadolibre/entity/site.rb +28 -0
- data/lib/mercadolibre/entity/site_domain.rb +21 -0
- data/lib/mercadolibre/entity/zip_code.rb +29 -0
- data/lib/mercadolibre/version.rb +1 -1
- metadata +14 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0ae7b377aa44efd0110a7b576d0beadbe19f610e
         | 
| 4 | 
            +
              data.tar.gz: 893c83d6feb9c676d8366c6e3fe49cb620bacafe
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 071602cfacac1e949dcd9cda8acee48af6d1f5177e2d7cb169339386c9bd5b81ef08c3d51d6520662d72ae5e599621d0a2d433376ef9225fa9982ee385c6b3f7
         | 
| 7 | 
            +
              data.tar.gz: 58f5ecb52070c072d91a4e7240373dee44f29686c8f552e2dc9fc5d1767b5b85c25fadd7b1ce5a8e42ec21095d120edbef8aae6b43a37a9676948e0e6010a084
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/lib/mercadolibre.rb
    CHANGED
    
    | @@ -3,27 +3,35 @@ require "mercadolibre/version" | |
| 3 3 | 
             
            # entities
         | 
| 4 4 | 
             
            require "mercadolibre/entity/answer"
         | 
| 5 5 | 
             
            require "mercadolibre/entity/auth"
         | 
| 6 | 
            +
            require "mercadolibre/entity/category"
         | 
| 6 7 | 
             
            require "mercadolibre/entity/city"
         | 
| 7 8 | 
             
            require "mercadolibre/entity/country"
         | 
| 8 9 | 
             
            require "mercadolibre/entity/currency"
         | 
| 9 10 | 
             
            require "mercadolibre/entity/currency_conversion_ratio"
         | 
| 10 11 | 
             
            require "mercadolibre/entity/feedback"
         | 
| 11 12 | 
             
            require "mercadolibre/entity/item"
         | 
| 13 | 
            +
            require "mercadolibre/entity/item_description"
         | 
| 12 14 | 
             
            require "mercadolibre/entity/item_picture"
         | 
| 15 | 
            +
            require "mercadolibre/entity/listing_type"
         | 
| 13 16 | 
             
            require "mercadolibre/entity/order"
         | 
| 14 17 | 
             
            require "mercadolibre/entity/order_item"
         | 
| 15 18 | 
             
            require "mercadolibre/entity/payment"
         | 
| 19 | 
            +
            require "mercadolibre/entity/payment_method"
         | 
| 16 20 | 
             
            require "mercadolibre/entity/phone"
         | 
| 17 21 | 
             
            require "mercadolibre/entity/question"
         | 
| 22 | 
            +
            require "mercadolibre/entity/site"
         | 
| 23 | 
            +
            require "mercadolibre/entity/site_domain"
         | 
| 18 24 | 
             
            require "mercadolibre/entity/state"
         | 
| 19 25 | 
             
            require "mercadolibre/entity/user"
         | 
| 26 | 
            +
            require "mercadolibre/entity/zip_code"
         | 
| 20 27 | 
             
            # core
         | 
| 21 28 | 
             
            require "mercadolibre/core/auth"
         | 
| 22 | 
            -
            require "mercadolibre/core/ | 
| 23 | 
            -
            require "mercadolibre/core/ | 
| 24 | 
            -
            require "mercadolibre/core/ | 
| 29 | 
            +
            require "mercadolibre/core/categories_and_listings"
         | 
| 30 | 
            +
            require "mercadolibre/core/items_and_searches"
         | 
| 31 | 
            +
            require "mercadolibre/core/locations_and_currencies"
         | 
| 32 | 
            +
            require "mercadolibre/core/order_management"
         | 
| 25 33 | 
             
            require "mercadolibre/core/questions"
         | 
| 26 | 
            -
            require "mercadolibre/core/ | 
| 34 | 
            +
            require "mercadolibre/core/users_and_apps"
         | 
| 27 35 | 
             
            require "mercadolibre/api"
         | 
| 28 36 |  | 
| 29 37 | 
             
            # dependencies
         | 
| @@ -0,0 +1,36 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Core
         | 
| 3 | 
            +
                module CategoriesAndListings
         | 
| 4 | 
            +
                  def get_sites
         | 
| 5 | 
            +
                    results = get_request('/sites')
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                    results[:body].map { |r| Mercadolibre::Entity::Site.new(r) }
         | 
| 8 | 
            +
                  end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                  def get_site(site_id)
         | 
| 11 | 
            +
                    result = get_request("/sites/#{site_id}")
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                    Mercadolibre::Entity::Site.new(result[:body])
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  def get_site_domain_info(domain)
         | 
| 17 | 
            +
                    result = get_request("/site_domains/#{domain}")
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                    Mercadolibre::Entity::SiteDomain.new(result[:body])
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  def get_site_categories(site_id)
         | 
| 23 | 
            +
                    results = get_request("/sites/#{site_id}/categories")
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                    results[:body].map { |r| Mercadolibre::Entity::Category.new(r) }
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                  def get_site_categories(site_id)
         | 
| 29 | 
            +
                    results = get_request("/sites/#{site_id}/categories")
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                    results[:body].map { |r| Mercadolibre::Entity::Category.new(r) }
         | 
| 32 | 
            +
                  end
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
              end
         | 
| 35 | 
            +
            end
         | 
| 36 | 
            +
             | 
| @@ -1,6 +1,7 @@ | |
| 1 1 | 
             
            module Mercadolibre
         | 
| 2 2 | 
             
              module Core
         | 
| 3 | 
            -
                module  | 
| 3 | 
            +
                module ItemsAndSearches
         | 
| 4 | 
            +
                  # This method is meant to be used when you need to save all data in your local database
         | 
| 4 5 | 
             
                  def get_all_my_item_ids(filters={})
         | 
| 5 6 | 
             
                    user_id = get_my_user.id
         | 
| 6 7 |  | 
| @@ -35,6 +36,7 @@ module Mercadolibre | |
| 35 36 | 
             
                    }
         | 
| 36 37 | 
             
                  end
         | 
| 37 38 |  | 
| 39 | 
            +
                  # This method is meant to be used when you need to save all data in your local database
         | 
| 38 40 | 
             
                  def get_all_item_ids(filters={})
         | 
| 39 41 | 
             
                    filters.merge!({ limit: 50, offset: 0 })
         | 
| 40 42 |  | 
| @@ -63,13 +65,35 @@ module Mercadolibre | |
| 63 65 | 
             
                    }
         | 
| 64 66 | 
             
                  end
         | 
| 65 67 |  | 
| 68 | 
            +
                  def get_item(item_id)
         | 
| 69 | 
            +
                    result = get_request("/items/#{item_id}")
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                    Mercadolibre::Entity::Item.new(result[:body])
         | 
| 72 | 
            +
                  end
         | 
| 73 | 
            +
             | 
| 66 74 | 
             
                  def get_item_visits(item_ids)
         | 
| 67 75 | 
             
                    if item_ids.is_a? Array
         | 
| 68 76 | 
             
                      get_request("/visits/items?ids=#{item_ids.join(',')}")[:body]
         | 
| 69 77 | 
             
                    else
         | 
| 70 78 | 
             
                      get_request("/visits/items?ids=#{item_ids}")[:body][item_ids]
         | 
| 71 79 | 
             
                    end
         | 
| 80 | 
            +
                  end
         | 
| 81 | 
            +
             | 
| 82 | 
            +
                  def get_item_descriptions(item_id)
         | 
| 83 | 
            +
                    results = get_request("/items/#{item_id}/descriptions")
         | 
| 84 | 
            +
             | 
| 85 | 
            +
                    results[:body].map { |r| Mercadolibre::Entity::ItemDescription.new(r) }
         | 
| 86 | 
            +
                  end
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                  def get_item_available_upgrades(item_id)
         | 
| 89 | 
            +
                    results = get_request("/items/#{item_id}/available_upgrades?access_token=@access_token")
         | 
| 72 90 |  | 
| 91 | 
            +
                    results[:body].map { |r| Mercadolibre::Entity::ListingType.new(r) }
         | 
| 92 | 
            +
                  end
         | 
| 93 | 
            +
             | 
| 94 | 
            +
                  def get_search_url(site_id, q)
         | 
| 95 | 
            +
                    result = get_request("/sites/#{site_id}/searchUrl?q=#{q}")
         | 
| 96 | 
            +
                    result[:body]['url']
         | 
| 73 97 | 
             
                  end
         | 
| 74 98 |  | 
| 75 99 | 
             
                  def create_item(attribs)
         | 
| @@ -92,20 +116,6 @@ module Mercadolibre | |
| 92 116 | 
             
                    Mercadolibre::Entity::Item.new(result[:body])
         | 
| 93 117 | 
             
                  end
         | 
| 94 118 |  | 
| 95 | 
            -
                  def get_item(item_id)
         | 
| 96 | 
            -
                    result = get_request("/items/#{item_id}")
         | 
| 97 | 
            -
             | 
| 98 | 
            -
                    Mercadolibre::Entity::Item.new(result[:body])
         | 
| 99 | 
            -
                  end
         | 
| 100 | 
            -
             | 
| 101 | 
            -
                  def add_item_description(item_id, text)
         | 
| 102 | 
            -
                    payload = { text: text }.to_json
         | 
| 103 | 
            -
             | 
| 104 | 
            -
                    headers = { content_type: :json, accept: :json }
         | 
| 105 | 
            -
             | 
| 106 | 
            -
                    post_request("/items/#{item_id}/descriptions?access_token=#{@access_token}", payload, headers)[:body]
         | 
| 107 | 
            -
                  end
         | 
| 108 | 
            -
             | 
| 109 119 | 
             
                  def update_item_fields(item_id, attribs)
         | 
| 110 120 | 
             
                    payload = attribs.to_json
         | 
| 111 121 |  | 
| @@ -121,6 +131,14 @@ module Mercadolibre | |
| 121 131 |  | 
| 122 132 | 
             
                    post_request("/items/#{item_id}/listing_type?access_token=#{@access_token}", payload, headers)[:body]
         | 
| 123 133 | 
             
                  end
         | 
| 134 | 
            +
             | 
| 135 | 
            +
                  def add_item_description(item_id, text)
         | 
| 136 | 
            +
                    payload = { text: text }.to_json
         | 
| 137 | 
            +
             | 
| 138 | 
            +
                    headers = { content_type: :json, accept: :json }
         | 
| 139 | 
            +
             | 
| 140 | 
            +
                    post_request("/items/#{item_id}/descriptions?access_token=#{@access_token}", payload, headers)[:body]
         | 
| 141 | 
            +
                  end
         | 
| 124 142 | 
             
                end
         | 
| 125 143 | 
             
              end
         | 
| 126 144 | 
             
            end
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            module Mercadolibre
         | 
| 2 2 | 
             
              module Core
         | 
| 3 | 
            -
                module  | 
| 3 | 
            +
                module LocationsAndCurrencies
         | 
| 4 4 | 
             
                  def get_countries
         | 
| 5 5 | 
             
                    results = get_request('/countries')
         | 
| 6 6 |  | 
| @@ -48,6 +48,12 @@ module Mercadolibre | |
| 48 48 | 
             
                      mercado_pago_ratio: result[:body]['mercado_pago_ratio']
         | 
| 49 49 | 
             
                    })
         | 
| 50 50 | 
             
                  end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                  def get_zip_code_info(country_id, zip_code)
         | 
| 53 | 
            +
                    result = get_request("/countries/#{country_id}/zip_codes/#{zip_code}")
         | 
| 54 | 
            +
             | 
| 55 | 
            +
                    Mercadolibre::Entity::ZipCode.new(result[:body])
         | 
| 56 | 
            +
                  end
         | 
| 51 57 | 
             
                end
         | 
| 52 58 | 
             
              end
         | 
| 53 59 | 
             
            end
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            module Mercadolibre
         | 
| 2 2 | 
             
              module Core
         | 
| 3 | 
            -
                module  | 
| 3 | 
            +
                module OrderManagement
         | 
| 4 4 | 
             
                  def get_all_orders(filters={})
         | 
| 5 5 | 
             
                    filters.merge!({
         | 
| 6 6 | 
             
                      seller: get_my_user.id,
         | 
| @@ -121,6 +121,12 @@ module Mercadolibre | |
| 121 121 | 
             
                      raise 'invalid kind'
         | 
| 122 122 | 
             
                    end
         | 
| 123 123 | 
             
                  end
         | 
| 124 | 
            +
             | 
| 125 | 
            +
                  def get_site_payment_methods(site_id)
         | 
| 126 | 
            +
                    results = get_request("/sites/#{site_id}/payment_methods")
         | 
| 127 | 
            +
             | 
| 128 | 
            +
                    results[:body].map { |r| Mercadolibre::Entity::PaymentMethod.new(r) }
         | 
| 129 | 
            +
                  end
         | 
| 124 130 | 
             
                end
         | 
| 125 131 | 
             
              end
         | 
| 126 132 | 
             
            end
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            module Mercadolibre
         | 
| 2 2 | 
             
              module Core
         | 
| 3 | 
            -
                module  | 
| 3 | 
            +
                module UsersAndApps
         | 
| 4 4 | 
             
                  def get_my_user
         | 
| 5 5 | 
             
                    result = get_request('/users/me', { access_token: @access_token })
         | 
| 6 6 |  | 
| @@ -18,6 +18,12 @@ module Mercadolibre | |
| 18 18 |  | 
| 19 19 | 
             
                    results[:body].map { |r| Mercadolibre::Entity::User.new(r) }
         | 
| 20 20 | 
             
                  end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  def get_user_accepted_payment_methods(user_id)
         | 
| 23 | 
            +
                    results = get_request("/users/#{user_id}/accepted_payment_methods")
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                    results[:body].map { |r| Mercadolibre::Entity::PaymentMethod.new(r) }
         | 
| 26 | 
            +
                  end
         | 
| 21 27 | 
             
                end
         | 
| 22 28 | 
             
              end
         | 
| 23 29 | 
             
            end
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Entity
         | 
| 3 | 
            +
                class Category
         | 
| 4 | 
            +
                  def self.attr_list
         | 
| 5 | 
            +
                    [:id, :name, :path_from_root, :children_categories]
         | 
| 6 | 
            +
                  end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  attr_reader *attr_list
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                  def initialize(attributes={})
         | 
| 11 | 
            +
                    attributes.each do |k, v|
         | 
| 12 | 
            +
                      if ['path_from_root', 'children_categories'].include?(k.to_s)
         | 
| 13 | 
            +
                        self.state = v.map { |x| Category.new(x) }
         | 
| 14 | 
            +
                      else
         | 
| 15 | 
            +
                        self.send("#{k}=", v) if self.respond_to?(k)
         | 
| 16 | 
            +
                      end
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  private
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  attr_writer *attr_list
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Entity
         | 
| 3 | 
            +
                class ItemDescription
         | 
| 4 | 
            +
                  def self.attr_list
         | 
| 5 | 
            +
                    [:id, :created, :text, :plain_text]
         | 
| 6 | 
            +
                  end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  attr_reader *attr_list
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                  def initialize(attributes={})
         | 
| 11 | 
            +
                    attributes.each do |k, v|
         | 
| 12 | 
            +
                      if k.to_s == 'created'
         | 
| 13 | 
            +
                        self.created = Time.parse(v) unless v.nil?
         | 
| 14 | 
            +
                      else
         | 
| 15 | 
            +
                        self.send("#{k}=", v) if self.respond_to?(k)
         | 
| 16 | 
            +
                      end
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  private
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  attr_writer *attr_list
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Entity
         | 
| 3 | 
            +
                class ListingType
         | 
| 4 | 
            +
                  def self.attr_list
         | 
| 5 | 
            +
                    [:site_id, :id, :name]
         | 
| 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,21 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Entity
         | 
| 3 | 
            +
                class PaymentMethod
         | 
| 4 | 
            +
                  def self.attr_list
         | 
| 5 | 
            +
                    [:id, :name, :payment_type_id, :thumbnail, :secure_thumbnail]
         | 
| 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,28 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Entity
         | 
| 3 | 
            +
                class Country
         | 
| 4 | 
            +
                  def self.attr_list
         | 
| 5 | 
            +
                    [:id, :name, :country_id, :sale_fees_mode, :mercadopago_version, :default_currency_id,
         | 
| 6 | 
            +
                     :currencies, :immediate_payment, :payment_method_ids, :categories]
         | 
| 7 | 
            +
                  end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  attr_reader *attr_list
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                  def initialize(attributes={})
         | 
| 12 | 
            +
                    attributes.each do |k, v|
         | 
| 13 | 
            +
                      if k.to_s == 'currencies'
         | 
| 14 | 
            +
                        self.states = v.map { |x| Currency.new(x) }
         | 
| 15 | 
            +
                      elsif k.to_s == 'categories'
         | 
| 16 | 
            +
                        self.categories = v.map { |x| Category.new(x) }
         | 
| 17 | 
            +
                      else
         | 
| 18 | 
            +
                        self.send("#{k}=", v) if self.respond_to?(k)
         | 
| 19 | 
            +
                      end
         | 
| 20 | 
            +
                    end
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  private
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                  attr_writer *attr_list
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
            end
         | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Entity
         | 
| 3 | 
            +
                class SiteDomain
         | 
| 4 | 
            +
                  def self.attr_list
         | 
| 5 | 
            +
                    [:id, :site_id, :country_id, :locale, :tag]
         | 
| 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,29 @@ | |
| 1 | 
            +
            module Mercadolibre
         | 
| 2 | 
            +
              module Entity
         | 
| 3 | 
            +
                class ZipCode
         | 
| 4 | 
            +
                  def self.attr_list
         | 
| 5 | 
            +
                    [:zip_code, :city, :state, :country]
         | 
| 6 | 
            +
                  end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  attr_reader *attr_list
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                  def initialize(attributes={})
         | 
| 11 | 
            +
                    attributes.each do |k, v|
         | 
| 12 | 
            +
                      if k.to_s == 'state'
         | 
| 13 | 
            +
                        self.state = State.new(v)
         | 
| 14 | 
            +
                      elsif k.to_s == 'country'
         | 
| 15 | 
            +
                        self.country = Country.new(v)
         | 
| 16 | 
            +
                      elsif k.to_s == 'city'
         | 
| 17 | 
            +
                        self.country = City.new(v)
         | 
| 18 | 
            +
                      else
         | 
| 19 | 
            +
                        self.send("#{k}=", v) if self.respond_to?(k)
         | 
| 20 | 
            +
                      end
         | 
| 21 | 
            +
                    end
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                  private
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  attr_writer *attr_list
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
              end
         | 
| 29 | 
            +
            end
         | 
    
        data/lib/mercadolibre/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 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.5
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Matias Hick
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-03- | 
| 11 | 
            +
            date: 2014-03-17 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -65,27 +65,35 @@ files: | |
| 65 65 | 
             
            - lib/mercadolibre.rb
         | 
| 66 66 | 
             
            - lib/mercadolibre/api.rb
         | 
| 67 67 | 
             
            - lib/mercadolibre/core/auth.rb
         | 
| 68 | 
            -
            - lib/mercadolibre/core/ | 
| 69 | 
            -
            - lib/mercadolibre/core/ | 
| 70 | 
            -
            - lib/mercadolibre/core/ | 
| 68 | 
            +
            - lib/mercadolibre/core/categories_and_listings.rb
         | 
| 69 | 
            +
            - lib/mercadolibre/core/items_and_searches.rb
         | 
| 70 | 
            +
            - lib/mercadolibre/core/locations_and_currencies.rb
         | 
| 71 | 
            +
            - lib/mercadolibre/core/order_management.rb
         | 
| 71 72 | 
             
            - lib/mercadolibre/core/questions.rb
         | 
| 72 | 
            -
            - lib/mercadolibre/core/ | 
| 73 | 
            +
            - lib/mercadolibre/core/users_and_apps.rb
         | 
| 73 74 | 
             
            - lib/mercadolibre/entity/answer.rb
         | 
| 74 75 | 
             
            - lib/mercadolibre/entity/auth.rb
         | 
| 76 | 
            +
            - lib/mercadolibre/entity/category.rb
         | 
| 75 77 | 
             
            - lib/mercadolibre/entity/city.rb
         | 
| 76 78 | 
             
            - lib/mercadolibre/entity/country.rb
         | 
| 77 79 | 
             
            - lib/mercadolibre/entity/currency.rb
         | 
| 78 80 | 
             
            - lib/mercadolibre/entity/currency_conversion_ratio.rb
         | 
| 79 81 | 
             
            - lib/mercadolibre/entity/feedback.rb
         | 
| 80 82 | 
             
            - lib/mercadolibre/entity/item.rb
         | 
| 83 | 
            +
            - lib/mercadolibre/entity/item_description.rb
         | 
| 81 84 | 
             
            - lib/mercadolibre/entity/item_picture.rb
         | 
| 85 | 
            +
            - lib/mercadolibre/entity/listing_type.rb
         | 
| 82 86 | 
             
            - lib/mercadolibre/entity/order.rb
         | 
| 83 87 | 
             
            - lib/mercadolibre/entity/order_item.rb
         | 
| 84 88 | 
             
            - lib/mercadolibre/entity/payment.rb
         | 
| 89 | 
            +
            - lib/mercadolibre/entity/payment_method.rb
         | 
| 85 90 | 
             
            - lib/mercadolibre/entity/phone.rb
         | 
| 86 91 | 
             
            - lib/mercadolibre/entity/question.rb
         | 
| 92 | 
            +
            - lib/mercadolibre/entity/site.rb
         | 
| 93 | 
            +
            - lib/mercadolibre/entity/site_domain.rb
         | 
| 87 94 | 
             
            - lib/mercadolibre/entity/state.rb
         | 
| 88 95 | 
             
            - lib/mercadolibre/entity/user.rb
         | 
| 96 | 
            +
            - lib/mercadolibre/entity/zip_code.rb
         | 
| 89 97 | 
             
            - lib/mercadolibre/version.rb
         | 
| 90 98 | 
             
            homepage: https://github.com/unformattmh/mercadolibre
         | 
| 91 99 | 
             
            licenses:
         |