mercadolibre 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|