solidus_bling 2.0.1 → 2.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2bcd2be4e908655cc3e344207e95426a1080bd7ce085c7681afc04c8e42f1669
4
- data.tar.gz: d45a21cb6418615949b88cb148e12f713945bab1b69dcd8ce5339c8bae6de271
3
+ metadata.gz: 3888ee5c2c2115caad5550a8b4b0c4a8c357271dedac7ceac19d8f9bf518b4b0
4
+ data.tar.gz: e635f3c6e6dafb8a38b437611cc157e0535a0dfacebe61f60bf7bf31be0bc76b
5
5
  SHA512:
6
- metadata.gz: f2e1c07f30c56963647a28896f834be013489509c69331dc2806745b20ec6c8205b754b32ff9e7721ce492fee2191f33b92d4a46e2f9ee41fd61ad76ffe7e641
7
- data.tar.gz: 3a8170ad8a641d67c132c95ce36ba0a5967f779141657872edbdda5208e35f25b5677dd756a7b3601cbc18ee1f8159d8b14f32901cf672ba946f20b6122a8076
6
+ metadata.gz: 52f2e484e6f4ed2110b5ea29858eea98bb24de7fd6d65d0381632bcf47650c18d978afd7265026b3b02f7f528f648ee0895fec925043d5119550a0f95025c9f6
7
+ data.tar.gz: 3ffda6fc4dedc0ceda4dc2bb9d0e9de143fbda038562a6efb4297e195ba679125e47e3c77428c88483fe22f7240c276b6dbb7598a3d4d39915a02e15d0189baf
data/.gitignore CHANGED
@@ -19,3 +19,4 @@ spec/examples.txt
19
19
  .rvmrc
20
20
  .ruby-version
21
21
  .ruby-gemset
22
+ release.sh
@@ -10,8 +10,8 @@ module Spree
10
10
 
11
11
  def new
12
12
  @bling_account = SolidusBling::Account.new
13
- @payment_methods = Spree::PaymentMethod.all.pluck(:name, :id)
14
- @shipping_methods = Spree::ShippingMethod.all.pluck(:name, :id)
13
+ @payment_methods = ::Spree::PaymentMethod.all.pluck(:name, :id)
14
+ @shipping_methods = ::Spree::ShippingMethod.all.pluck(:name, :id)
15
15
  @bling_account.payment_methods.build
16
16
  @bling_account.shipping_methods.build
17
17
  @bling_account.sellers.build
@@ -24,8 +24,10 @@ module Spree
24
24
 
25
25
  def edit
26
26
  @bling_account = SolidusBling::Account.find(params[:id])
27
- @payment_methods = Spree::PaymentMethod.all.pluck(:name, :id)
28
- @shipping_methods = Spree::ShippingMethod.all.pluck(:name, :id)
27
+ @payment_methods = ::Spree::PaymentMethod.all.pluck(:name, :id)
28
+ @shipping_methods = ::Spree::ShippingMethod.all.pluck(:name, :id)
29
+ @products_count = @bling_account.products.count
30
+ @last_update = SolidusBling::Event.where(method: "products_updated").max.created_at.strftime("%d/%m/%Y %H:%M")
29
31
  end
30
32
 
31
33
  def update
@@ -0,0 +1,20 @@
1
+ module Spree
2
+ module Admin
3
+ class BlingProductsController < ResourceController
4
+
5
+ def update
6
+ account = SolidusBling::Account.find(params[:id])
7
+ SolidusBling::UpdateProductJob.perform_later(account)
8
+ flash[:success] = "Baixando produtos"
9
+ redirect_to edit_admin_account_path(account)
10
+ end
11
+
12
+ private
13
+
14
+ def model_class
15
+ SolidusBling::Account
16
+ end
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,4 @@
1
+ module SolidusBling
2
+ module BlingProductsHelper
3
+ end
4
+ end
@@ -0,0 +1,9 @@
1
+ module SolidusBling
2
+ class UpdateProductJob < ApplicationJob
3
+ queue_as :default
4
+
5
+ def perform(account)
6
+ SolidusBling::Product.update(account)
7
+ end
8
+ end
9
+ end
@@ -39,7 +39,7 @@ module SolidusBling
39
39
  ensure
40
40
  json = JSON.parse(req.body)
41
41
  response_has_error?(json)
42
- Spree::Bus.publish :bling_contact_created, args: {order: order, contato: json}
42
+ ::Spree::Bus.publish :bling_contact_created, args: {order: order, contato: json}
43
43
  return json.dig("data", "id")
44
44
  end
45
45
  end
@@ -4,14 +4,14 @@ module SolidusBling
4
4
 
5
5
  def self.update bling_account
6
6
  bling_api = SolidusBling::Api.new(bling_account)
7
- skus = Spree::Variant.pluck(:sku)
7
+ skus = ::Spree::Variant.pluck(:sku)
8
8
  hash_products = {}
9
9
  products = skus.map do |sku|
10
10
  begin
11
11
  attempts ||= 1
12
12
  req = Typhoeus.get("#{bling_api.account.api_base_url}/produtos?codigo=#{sku}", headers: bling_api.headers)
13
13
  res_json = JSON.parse(req.body)
14
- p "#{sku} => #{res_json}"
14
+ # p "#{sku} => #{res_json}"
15
15
  next if res_json["data"] == []
16
16
  product = res_json["data"].first
17
17
  hash_products[sku] = product["id"]
@@ -23,13 +23,13 @@ module SolidusBling
23
23
  }
24
24
  rescue => e
25
25
  hash_products[sku] = res_json
26
- p "#{sku} => #{res_json} => #{e}"
26
+ # p "#{sku} => #{res_json} => #{e}"
27
27
  sleep 1
28
28
  retry if (attempts += 1) < 5
29
29
  end
30
30
  end.compact.uniq
31
31
  SolidusBling::Product.upsert_all(products, unique_by: :sku)
32
- Spree::Bus.publish :bling_products_updated, products: hash_products
32
+ ::Spree::Bus.publish :bling_products_updated, products: hash_products
33
33
  end
34
34
 
35
35
  end
@@ -1,2 +1,9 @@
1
+ <div style="margin: 10px 0px">
2
+ <%= button_to "Baixar produtos", admin_bling_product_path(@bling_account.id), method: :put, data:
3
+ {confirm: "Deseja baixar os produtos?" } %>
4
+ <span>Produtos baixados: <%= @products_count %></span>
5
+ <br>
6
+ <span>Ultima atualização: <%= @last_update %> </span>
7
+ </div>
1
8
 
2
9
  <%= render "form", bling_account: @bling_account, form_url: admin_account_path(@bling_account.id) %>
@@ -0,0 +1,5 @@
1
+ pt-BR:
2
+ spree:
3
+ admin:
4
+ tab:
5
+ bling_account: "Conta Bling"
data/config/routes.rb CHANGED
@@ -3,5 +3,6 @@
3
3
  Spree::Core::Engine.routes.draw do
4
4
  namespace :admin do
5
5
  resources :accounts
6
+ resources :bling_products, only: [:update]
6
7
  end
7
8
  end
@@ -1,5 +1,5 @@
1
1
  class AddBlingOrderIdToSpreeOrders < ActiveRecord::Migration[7.0]
2
2
  def change
3
- add_column :spree_orders, :bling_order_id, :string, default: nil
3
+ add_column :spree_orders, :bling_order_id, :string, default: nil, if_not_exists: true
4
4
  end
5
5
  end
@@ -19,7 +19,7 @@ module SolidusBling
19
19
  [:bling_account],
20
20
  'exclamation',
21
21
  url: :admin_accounts_path,
22
- condition: -> { can?(:manage, Spree::Store) }
22
+ condition: -> { can?(:manage, ::Spree::Store) }
23
23
  )
24
24
  end
25
25
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SolidusBling
4
- VERSION = '2.0.1'
4
+ VERSION = '2.0.3'
5
5
  end
@@ -0,0 +1,17 @@
1
+ require 'rails_helper'
2
+
3
+ # Specs in this file have access to a helper object that includes
4
+ # the BlingProductsHelper. For example:
5
+ #
6
+ # describe BlingProductsHelper do
7
+ # describe "string concat" do
8
+ # it "concats two strings with spaces" do
9
+ # expect(helper.concat_strings("this","that")).to eq("this that")
10
+ # end
11
+ # end
12
+ # end
13
+ module SolidusBling
14
+ RSpec.describe BlingProductsHelper, type: :helper do
15
+ pending "add some examples to (or delete) #{__FILE__}"
16
+ end
17
+ end
@@ -0,0 +1,7 @@
1
+ require 'rails_helper'
2
+
3
+ module SolidusBling
4
+ RSpec.describe UpdateProductJob, type: :job do
5
+ pending "add some examples to (or delete) #{__FILE__}"
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe "BlingProducts", type: :request do
4
+ describe "GET /index" do
5
+ pending "add some examples (or delete) #{__FILE__}"
6
+ end
7
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_bling
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ulysses-bull
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-18 00:00:00.000000000 Z
11
+ date: 2023-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus_core
@@ -109,13 +109,16 @@ files:
109
109
  - app/assets/stylesheets/spree/backend/solidus_bling.css
110
110
  - app/assets/stylesheets/spree/frontend/solidus_bling.css
111
111
  - app/controllers/spree/admin/accounts_controller.rb
112
+ - app/controllers/spree/admin/bling_products_controller.rb
112
113
  - app/decorators/models/solidus_bling/spree/payment_method_decorator.rb
113
114
  - app/decorators/models/solidus_bling/spree/shipping_method_decorator.rb
114
115
  - app/helpers/solidus_bling/accounts_helper.rb
116
+ - app/helpers/solidus_bling/bling_products_helper.rb
115
117
  - app/jobs/solidus_bling/application_job.rb
116
118
  - app/jobs/solidus_bling/contact_job.rb
117
119
  - app/jobs/solidus_bling/order_job.rb
118
120
  - app/jobs/solidus_bling/product_job.rb
121
+ - app/jobs/solidus_bling/update_product_job.rb
119
122
  - app/models/solidus_bling/account.rb
120
123
  - app/models/solidus_bling/api.rb
121
124
  - app/models/solidus_bling/contact.rb
@@ -139,6 +142,7 @@ files:
139
142
  - bin/sandbox
140
143
  - bin/setup
141
144
  - config/locales/en.yml
145
+ - config/locales/pt-BR.yml
142
146
  - config/routes.rb
143
147
  - db/migrate/20230918141419_create_solidus_bling_accounts.rb
144
148
  - db/migrate/20230918141505_add_bling_order_id_to_spree_orders.rb
@@ -156,9 +160,11 @@ files:
156
160
  - lib/solidus_bling/version.rb
157
161
  - solidus_bling.gemspec
158
162
  - spec/helpers/solidus_bling/accounts_helper_spec.rb
163
+ - spec/helpers/solidus_bling/bling_products_helper_spec.rb
159
164
  - spec/jobs/solidus_bling/contact_job_spec.rb
160
165
  - spec/jobs/solidus_bling/order_job_spec.rb
161
166
  - spec/jobs/solidus_bling/product_job_spec.rb
167
+ - spec/jobs/solidus_bling/update_product_job_spec.rb
162
168
  - spec/models/solidus_bling/account_spec.rb
163
169
  - spec/models/solidus_bling/event_spec.rb
164
170
  - spec/models/solidus_bling/payment_method_spec.rb
@@ -166,6 +172,7 @@ files:
166
172
  - spec/models/solidus_bling/seller_spec.rb
167
173
  - spec/models/solidus_bling/shipping_method_spec.rb
168
174
  - spec/requests/solidus_bling/accounts_spec.rb
175
+ - spec/requests/solidus_bling/bling_products_spec.rb
169
176
  - spec/spec_helper.rb
170
177
  homepage: https://github.com/ulysses-bull/solidus_bling#readme
171
178
  licenses:
@@ -198,9 +205,11 @@ specification_version: 4
198
205
  summary: Solidus extension to integrate with the Bling
199
206
  test_files:
200
207
  - spec/helpers/solidus_bling/accounts_helper_spec.rb
208
+ - spec/helpers/solidus_bling/bling_products_helper_spec.rb
201
209
  - spec/jobs/solidus_bling/contact_job_spec.rb
202
210
  - spec/jobs/solidus_bling/order_job_spec.rb
203
211
  - spec/jobs/solidus_bling/product_job_spec.rb
212
+ - spec/jobs/solidus_bling/update_product_job_spec.rb
204
213
  - spec/models/solidus_bling/account_spec.rb
205
214
  - spec/models/solidus_bling/event_spec.rb
206
215
  - spec/models/solidus_bling/payment_method_spec.rb
@@ -208,4 +217,5 @@ test_files:
208
217
  - spec/models/solidus_bling/seller_spec.rb
209
218
  - spec/models/solidus_bling/shipping_method_spec.rb
210
219
  - spec/requests/solidus_bling/accounts_spec.rb
220
+ - spec/requests/solidus_bling/bling_products_spec.rb
211
221
  - spec/spec_helper.rb