mercadolibre_rails 0.3 → 0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/app/assets/config/mercadolibre_rails_manifest.js +0 -0
- data/app/assets/javascripts/mercadolibre_rails/application.js +0 -0
- data/app/assets/stylesheets/mercadolibre_rails/application.css +0 -0
- data/app/controllers/mercadolibre_rails/application_controller.rb +0 -0
- data/app/helpers/mercadolibre_rails/application_helper.rb +0 -0
- data/app/jobs/mercadolibre_rails/application_job.rb +0 -0
- data/app/mailers/mercadolibre_rails/application_mailer.rb +0 -0
- data/app/models/mercadolibre_rails/application_record.rb +0 -0
- data/app/models/mercadolibre_rails/picture.rb +8 -0
- data/app/models/mercadolibre_rails/product.rb +8 -1
- data/app/models/mercadolibre_rails/seller.rb +9 -0
- data/app/models/mercadolibre_rails/site.rb +0 -0
- data/app/models/mercadolibre_rails/version.rb +0 -0
- data/app/models/paper_trail/version.rb +0 -0
- data/app/views/layouts/mercadolibre_rails/application.html.erb +0 -0
- data/config/routes.rb +0 -0
- data/db/migrate/20181003152541_create_mercadolibre_rails_sites.rb +0 -0
- data/db/migrate/20181004142438_create_mercadolibre_rails_products.rb +0 -0
- data/db/migrate/20181004143133_create_mercadolibre_rails_sellers.rb +0 -0
- data/db/migrate/20181004143244_add_site_to_products.rb +0 -0
- data/db/migrate/20181004150308_add_seller_to_mercadolibre_rails_products.rb +0 -0
- data/db/migrate/20181010142220_create_mercadolibre_rails_versions.rb +0 -0
- data/db/migrate/20181010142221_add_object_changes_to_mercadolibre_rails_versions.rb +0 -0
- data/db/migrate/20181012133312_create_mercadolibre_rails_pictures.rb +10 -0
- data/lib/mercadolibre_rails/engine.rb +0 -0
- data/lib/mercadolibre_rails/version.rb +1 -1
- data/lib/mercadolibre_rails.rb +0 -0
- data/lib/tasks/mercadolibre_rails_tasks.rake +0 -0
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4534f513781489dd5f68379a0e10e95370918f8376b2820de504329d16655f5
|
4
|
+
data.tar.gz: 5f0209ae2ed18ccd17b24c74e9681cef0e3d7705301d2bc5d7fa8c4b64008f8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ff935a2e2005a6f7b5d885fe79a60398b98a450eda2c30c5121d2883b62c87d19bd62b09b0fe3627aa088df82e3a164ab37470cca51a6489e3ec2e1fc643832
|
7
|
+
data.tar.gz: c312ccc37ca12ad892dbd1ee9bdb70a40debbab1910f36a916e039981377e175248abc23ca175b77fc0e0de29cceae6584e62f75413648e4e40af2d299a8904b
|
data/MIT-LICENSE
CHANGED
File without changes
|
data/README.md
CHANGED
File without changes
|
data/Rakefile
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -14,6 +14,7 @@ module MercadolibreRails
|
|
14
14
|
|
15
15
|
delegate :code, to: :site, prefix: true
|
16
16
|
after_create_commit :update_metadata
|
17
|
+
has_many :pictures, dependent: :destroy, class_name: 'MercadolibreRails::Picture'
|
17
18
|
|
18
19
|
def self.create_from(url:)
|
19
20
|
ml_id = MercadolibreApi::Products::Queries::GetID.run!(product_url: url)
|
@@ -25,14 +26,20 @@ module MercadolibreRails
|
|
25
26
|
mercadolibre_site.products.find_or_create_by!(mercadolibre_id: ml_id)
|
26
27
|
end
|
27
28
|
|
29
|
+
# rubocop:disable Metrics/AbcSize
|
28
30
|
def update_metadata
|
29
31
|
ml_product = MercadolibreApi::Products::Queries::Find.run!(product_id: mercadolibre_id)
|
30
|
-
ml_seller = Seller.find_or_create_by!(mercadolibre_id: ml_product[:seller_id])
|
32
|
+
ml_seller = MercadolibreRails::Seller.find_or_create_by!(mercadolibre_id: ml_product[:seller_id])
|
31
33
|
|
32
34
|
update!(seller: ml_seller, title: ml_product[:title], price: ml_product[:price],
|
33
35
|
currency_code: ml_product[:currency_id], sold_quantity: ml_product[:sold_quantity],
|
34
36
|
description: ml_product[:description], status: ml_product[:status],
|
35
37
|
latitude: ml_product.dig(:geolocation, :latitude), longitude: ml_product.dig(:geolocation, :longitude))
|
38
|
+
|
39
|
+
ml_product[:pictures].each do |picture|
|
40
|
+
MercadolibreRails::Picture.find_or_create_by!(url: picture[:url], product_id: id)
|
41
|
+
end
|
36
42
|
end
|
43
|
+
# rubocop:enable Metrics/AbcSize
|
37
44
|
end
|
38
45
|
end
|
@@ -1,5 +1,14 @@
|
|
1
|
+
require 'mercadolibre_api'
|
2
|
+
|
1
3
|
module MercadolibreRails
|
2
4
|
class Seller < ApplicationRecord
|
3
5
|
has_many :products, dependent: :destroy
|
6
|
+
|
7
|
+
def self.create_from(product_url:)
|
8
|
+
ml_product_id = MercadolibreApi::Products::Queries::GetID.run!(product_url: product_url)
|
9
|
+
ml_seller_id = MercadolibreApi::Sellers::Queries::GetID.run!(product_id: ml_product_id)
|
10
|
+
|
11
|
+
find_or_create_by!(mercadolibre_id: ml_seller_id)
|
12
|
+
end
|
4
13
|
end
|
5
14
|
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/config/routes.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,10 @@
|
|
1
|
+
class CreateMercadolibreRailsPictures < ActiveRecord::Migration[5.2]
|
2
|
+
def change
|
3
|
+
create_table :mercadolibre_rails_pictures do |t|
|
4
|
+
t.string :url, null: false, index: { unique: true }
|
5
|
+
t.references :product, index: true, foreign_key: { to_table: :mercadolibre_rails_products }
|
6
|
+
|
7
|
+
t.timestamps
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
File without changes
|
data/lib/mercadolibre_rails.rb
CHANGED
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mercadolibre_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.5'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pablo Gonzaga
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mercadolibre_api
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.9'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.9'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: paper_trail
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,6 +168,7 @@ files:
|
|
168
168
|
- app/jobs/mercadolibre_rails/application_job.rb
|
169
169
|
- app/mailers/mercadolibre_rails/application_mailer.rb
|
170
170
|
- app/models/mercadolibre_rails/application_record.rb
|
171
|
+
- app/models/mercadolibre_rails/picture.rb
|
171
172
|
- app/models/mercadolibre_rails/product.rb
|
172
173
|
- app/models/mercadolibre_rails/seller.rb
|
173
174
|
- app/models/mercadolibre_rails/site.rb
|
@@ -182,6 +183,7 @@ files:
|
|
182
183
|
- db/migrate/20181004150308_add_seller_to_mercadolibre_rails_products.rb
|
183
184
|
- db/migrate/20181010142220_create_mercadolibre_rails_versions.rb
|
184
185
|
- db/migrate/20181010142221_add_object_changes_to_mercadolibre_rails_versions.rb
|
186
|
+
- db/migrate/20181012133312_create_mercadolibre_rails_pictures.rb
|
185
187
|
- lib/mercadolibre_rails.rb
|
186
188
|
- lib/mercadolibre_rails/engine.rb
|
187
189
|
- lib/mercadolibre_rails/version.rb
|
@@ -206,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
206
208
|
version: '0'
|
207
209
|
requirements: []
|
208
210
|
rubyforge_project:
|
209
|
-
rubygems_version: 2.7.
|
211
|
+
rubygems_version: 2.7.6
|
210
212
|
signing_key:
|
211
213
|
specification_version: 4
|
212
214
|
summary: Library to integrate MercadolibreApi into a Rails Project.
|