solidus_me 2.0.0 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a2ad07ac04979f655717473221f63da37b4e8b1bb643808d82e24f7b8aad898
4
- data.tar.gz: a4ee64d15ebf5a5157741d587a39cea98be11d58b0701101219a1d96a59c2151
3
+ metadata.gz: ce8c0bd086328dcd248ff193c74ccb79d5419e2daac7c197229e82bdaedfd372
4
+ data.tar.gz: 74b2947d34605aa4f8413ecbba6de5acbb9390e4e92d2e9f2653d242e6c1880b
5
5
  SHA512:
6
- metadata.gz: 2bb413c52707e0726ae2b8a90090c84cbfc808dadf7ccdaedcfc67e74d937503923c613fc0ff79d11fb18921d37c8817e330b0cad44c019e5d47e7cbaaaa2a0a
7
- data.tar.gz: a4b5d06c444ef8d27c124967e29513d36eb40e7ceed957a608b8536756dcc5a623e323a8955fdc6e0e567183774d96f15a6c1facc2eb53a2f4b86623a8add159
6
+ metadata.gz: 06d48ad883be1578b1e1bb2fa5da5ab6e9a051a23f8bee29b42dcb0d299e10cac7b31dcf67bfff52ae90caa54e5df3529a100e91918488f7c78af66d36ea1d21
7
+ data.tar.gz: 6b85dc08b68564f879b08fa12c60ea17f9961af09f538a4cc68d45957b0efdf1d8ab3e4dc62326642235d25799ed94bde898d5b9a5fa4f8891c59d510245261b
data/Gemfile CHANGED
@@ -1,42 +1,41 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
  git_source(:github) { |repo| "https://github.com/#{repo}.git" }
5
5
 
6
- branch = ENV.fetch('SOLIDUS_BRANCH', 'main')
7
- gem 'solidus', github: 'solidusio/solidus', branch: branch
6
+ branch = ENV.fetch("SOLIDUS_BRANCH", "main")
7
+ gem "solidus", github: "solidusio/solidus", branch: branch
8
8
 
9
9
  # The solidus_frontend gem has been pulled out since v3.2
10
- if branch >= 'v3.2'
11
- gem 'solidus_frontend'
12
- elsif branch == 'main'
13
- gem 'solidus_frontend', github: 'solidusio/solidus_frontend'
10
+ if branch >= "v3.2"
11
+ gem "solidus_frontend"
12
+ elsif branch == "main"
13
+ gem "solidus_frontend", github: "solidusio/solidus_frontend"
14
14
  else
15
- gem 'solidus_frontend', github: 'solidusio/solidus', branch: branch
15
+ gem "solidus_frontend", github: "solidusio/solidus", branch: branch
16
16
  end
17
17
 
18
18
  # Needed to help Bundler figure out how to resolve dependencies,
19
19
  # otherwise it takes forever to resolve them.
20
20
  # See https://github.com/bundler/bundler/issues/6677
21
- gem 'rails', '>0.a'
22
-
21
+ gem "rails", ">0.a"
23
22
 
24
23
  # Provides basic authentication functionality for testing parts of your engine
25
- gem 'solidus_auth_devise'
24
+ gem "solidus_auth_devise"
26
25
 
27
- case ENV.fetch('DB', nil)
28
- when 'mysql'
29
- gem 'mysql2'
30
- when 'postgresql'
31
- gem 'pg'
26
+ case ENV.fetch("DB", nil)
27
+ when "mysql"
28
+ gem "mysql2"
29
+ when "postgresql"
30
+ gem "pg"
32
31
  else
33
- gem 'sqlite3'
32
+ gem "sqlite3"
34
33
  end
35
34
 
36
35
  # While we still support Ruby < 3 we need to workaround a limitation in
37
36
  # the 'async' gem that relies on the latest ruby, since RubyGems doesn't
38
37
  # resolve gems based on the required ruby version.
39
- gem 'async', '< 3' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3')
38
+ gem "async", "< 3" if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("3")
40
39
 
41
40
  gemspec
42
41
 
@@ -45,4 +44,4 @@ gemspec
45
44
  #
46
45
  # We use `send` instead of calling `eval_gemfile` to work around an issue with
47
46
  # how Dependabot parses projects: https://github.com/dependabot/dependabot-core/issues/1658.
48
- send(:eval_gemfile, 'Gemfile-local') if File.exist? 'Gemfile-local'
47
+ send(:eval_gemfile, "Gemfile-local") if File.exist? "Gemfile-local"
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "bundler/gem_tasks"
4
- require 'solidus_dev_support/rake_tasks'
4
+ require "solidus_dev_support/rake_tasks"
5
5
  SolidusDevSupport::RakeTasks.install
6
6
 
7
- task default: 'extension:specs'
7
+ task default: "extension:specs"
@@ -1,69 +1,75 @@
1
1
  module Spree
2
2
  module Admin
3
3
  module SolidusMe
4
+ class AccountsController < BaseController
5
+ before_action :set_account, only: [:edit, :update, :destroy]
4
6
 
5
- class AccountsController < BaseController
7
+ def index
8
+ @accounts = ::SolidusMe::Account.all
9
+ end
6
10
 
7
- def index
8
- @accounts = ::SolidusMe::Account.all
9
- end
11
+ def new
12
+ if ::SolidusMe::Account.any?
13
+ flash[:error] = "Você só pode ter uma conta Melhor Envio cadastrada"
14
+ redirect_to admin_solidus_me_accounts_path
15
+ end
16
+ @me_account = ::SolidusMe::Account.new
17
+ end
10
18
 
11
- def new
12
- @me_account = ::SolidusMe::Account.new
13
- end
19
+ def create
20
+ me_account = ::SolidusMe::Account.new account_params
21
+ if me_account.save
22
+ flash[:success] = "Conta criada com sucesso"
23
+ redirect_to admin_solidus_me_accounts_path
24
+ else
25
+ flash[:error] = me_account.errors.full_messages.join("\n")
26
+ redirect_to new_admin_solidus_me_account_path
27
+ end
28
+ end
14
29
 
15
- def create
16
- me_account = ::SolidusMe::Account.new account_params
17
- if me_account.save
18
- flash[:success] = "Conta criada com sucesso"
19
- redirect_to admin_solidus_me_accounts_path
20
- else
21
- flash[:error] = me_account.errors.full_messages.join("\n")
22
- redirect_to new_admin_solidus_me_account_path
30
+ def edit
23
31
  end
24
- end
25
32
 
26
- def edit
27
- @me_account = ::SolidusMe::Account.find(params[:id])
28
- end
33
+ def update
34
+ @me_account.update account_params
35
+ flash[:success] = "Conta atualizada com sucesso"
36
+ redirect_to edit_admin_solidus_me_account_path(@me_account.id)
37
+ end
29
38
 
30
- def update
31
- me_account = ::SolidusMe::Account.find(params[:id])
32
- me_account.update account_params
33
- redirect_to edit_admin_solidus_me_account_path(me_account.id)
34
- end
39
+ def destroy
40
+ @me_account.delete
41
+ redirect_to admin_solidus_me_accounts_path
42
+ end
35
43
 
36
- def destroy
37
- me_account = ::SolidusMe::Account.find(params[:id])
38
- me_account.delete
39
- redirect_to admin_solidus_me_accounts_path
40
- end
44
+ def authorize
45
+ code = params[:code]
46
+ me_account = ::SolidusMe::Account.first
47
+ authorize_json = MeApi::Client.new.authorize(
48
+ client_id: me_account.client_id,
49
+ client_secret: me_account.client_secret,
50
+ code: code,
51
+ redirect_url: me_account.redirect_url
52
+ ).json
53
+ me_account.update(
54
+ access_token: authorize_json["access_token"],
55
+ refresh_token: authorize_json["refresh_token"],
56
+ token_expires_in: (DateTime.now + authorize_json["expires_in"].seconds).to_s
57
+ )
58
+ redirect_to edit_admin_solidus_me_account_path me_account
59
+ end
41
60
 
42
- def authorize
43
- code = params[:code]
44
- me_account = ::SolidusMe::Account.first
45
- authorize_json = MeApi::Client.new.authorize(
46
- client_id: me_account.client_id,
47
- client_secret: me_account.client_secret,
48
- code: code,
49
- redirect_url: me_account.redirect_url
50
- ).json
51
- me_account.update(
52
- access_token: authorize_json["access_token"],
53
- refresh_token: authorize_json["refresh_token"],
54
- token_expires_in: (DateTime.now + authorize_json["expires_in"].seconds).to_s
55
- )
56
- redirect_to edit_admin_solidus_me_account_path me_account
57
- end
61
+ private
58
62
 
59
- private
63
+ def account_params
64
+ params.require(:account).permit(
65
+ :client_id, :client_secret, :access_token, :refresh_token, :redirect_url, :state, :token_expires_in, :services, :postal_code_from
66
+ )
67
+ end
60
68
 
61
- def account_params
62
- params.require(:account).permit(
63
- :client_id, :client_secret, :access_token, :refresh_token, :redirect_url, :state, :token_expires_in, :services, :postal_code_from
64
- )
69
+ def set_account
70
+ @me_account = ::SolidusMe::Account.find(params[:id])
71
+ end
65
72
  end
66
73
  end
67
74
  end
68
75
  end
69
- end
@@ -1,6 +1,5 @@
1
1
  module SolidusMe
2
2
  class Account < ApplicationRecord
3
-
4
3
  def check_token
5
4
  return if client_id.blank? || client_secret.blank? || refresh_token.blank?
6
5
  return if (token_expires_in - 1.day) > DateTime.now
@@ -16,8 +15,7 @@ module SolidusMe
16
15
  access_token = refresh_json["access_token"]
17
16
  refresh_token = refresh_json["refresh_token"]
18
17
  token_expires_in = DateTime.now.utc + refresh_json["expires_in"].seconds
19
- self.update(access_token: access_token, refresh_token: refresh_token, token_expires_in: token_expires_in)
18
+ update(access_token: access_token, refresh_token: refresh_token, token_expires_in: token_expires_in)
20
19
  end
21
-
22
20
  end
23
21
  end
@@ -1,10 +1,9 @@
1
1
  module SolidusMe
2
2
  class ShippingEstimator
3
-
4
3
  def shipping_rates(package, _frontend_only = true)
5
4
  @me_account = Account.first
6
5
  return [] if @me_account.blank?
7
-
6
+
8
7
  @me_account.check_token
9
8
  @me_client = MeApi::Client.new(@me_account.access_token)
10
9
 
@@ -24,35 +23,33 @@ module SolidusMe
24
23
  private
25
24
 
26
25
  def get_rates_from_melhor_envio(package)
27
- begin
28
- weight = package.contents.map {|content| content.weight }.sum
29
- price = package.contents.map {|content| content.price }.sum
30
- zipcode = package.order.ship_address.zipcode
31
- services = @me_account.services.blank? ? ["SEDEX", "PAC", "Mini Envios", ".Package", ".Com"] : @me_account.services
26
+ weight = package.contents.map { |content| content.weight }.sum
27
+ price = package.contents.map { |content| content.price }.sum
28
+ zipcode = package.order.ship_address.zipcode
29
+ services = @me_account.services.blank? ? ["SEDEX", "PAC", "Mini Envios", ".Package", ".Com"] : @me_account.services
32
30
 
33
- rates = @me_client.rates(
34
- from: @me_account.postal_code_from,
35
- to: zipcode,
36
- weight_kg: (weight/1000),
37
- contents_value_brl: price
38
- )
39
- rates.select { |rate| rate.price > 0 && services.include?(rate.service_name) }
40
- rescue
41
- [default_rate]
42
- end
31
+ rates = @me_client.rates(
32
+ from: @me_account.postal_code_from,
33
+ to: zipcode,
34
+ weight_kg: (weight / 1000),
35
+ contents_value_brl: price
36
+ )
37
+ rates.select { |rate| rate.price > 0 && services.include?(rate.service_name) }
38
+ rescue
39
+ [default_rate]
43
40
  end
44
41
 
45
42
  def build_shipping_rate(melhor_envio_rate, package)
46
43
  shipping_method = Spree::ShippingMethod.find_or_create_by(
47
44
  carrier: melhor_envio_rate.carrier_name,
48
- service_level: melhor_envio_rate.service_name,
45
+ service_level: melhor_envio_rate.service_name
49
46
  ) do |shipping_method|
50
47
  shipping_method.name = "#{melhor_envio_rate.carrier_name} #{melhor_envio_rate.service_name}"
51
48
  shipping_method.calculator = Spree::Calculator::Shipping::FlatRate.create
52
49
  shipping_method.shipping_categories = Spree::ShippingCategory.all
53
50
  shipping_method.available_to_users = true
54
51
  end
55
-
52
+
56
53
  Spree::ShippingRate.new(
57
54
  shipping_method: shipping_method,
58
55
  cost: melhor_envio_rate.price,
@@ -67,8 +64,8 @@ module SolidusMe
67
64
  price: 15.00,
68
65
  service_name: "",
69
66
  carrier_name: "Frete padrão",
70
- delivery_range: { "min" => 5, "max" => 5 }
67
+ delivery_range: {"min" => 5, "max" => 5}
71
68
  )
72
69
  end
73
70
  end
74
- end
71
+ end
@@ -1,58 +1,86 @@
1
+ <%= render "link_auth", me_account: me_account %>
2
+
1
3
  <%= form_with model: me_account, url: form_url do |form| %>
2
- <h3>Melhor Envio</h3>
4
+ <fieldset class="no-border-top">
5
+ <legend>
6
+ Dados da Conta
7
+ </legend>
8
+ <div class="row">
9
+ <div class="col-12 col-md-6">
3
10
 
4
- <div style="margin-top: 10px;">
5
- <%= form.label :postal_code_from, "CEP de Origem: " %>
6
- <%= form.text_field :postal_code_from, value: me_account.postal_code_from %>
7
- </div>
11
+ <%= form.field_container :postal_code_from do %>
12
+ <%= form.label :postal_code_from, "CEP de Origem", class: 'required' %>
13
+ <%= form.text_field :postal_code_from, required: true, class: 'fullwidth' %>
14
+ <%= form.error_message_on :postal_code_from %>
15
+ <% end %>
8
16
 
9
- <div style="margin-top: 10px;">
10
- <%= form.hidden_field :services, value: me_account.services %>
11
- <span>Serviços Disponíveis: <%= me_account.services %></span>
12
- </div>
17
+ <%= form.field_container :services do %>
18
+ <%= form.label :services, "Serviços" %>
19
+ <%= form.text_field :services, class: 'fullwidth', disabled: true %>
20
+ <%= form.error_message_on :services %>
21
+ <% end %>
13
22
 
14
- <div style="margin-top: 10px;">
15
- <%= form.label :client_id, "Client ID: " %>
16
- <%= form.text_field :client_id, value: me_account.client_id %>
17
- </div>
23
+ <%= form.field_container :client_id do %>
24
+ <%= form.label :client_id, "Client ID", class: 'required' %>
25
+ <%= form.text_field :client_id, required: true, class: 'fullwidth' %>
26
+ <%= form.error_message_on :client_id %>
27
+ <% end %>
18
28
 
19
- <div style="margin-top: 10px;">
20
- <%= form.label :client_secret, "Client Secret: " %>
21
- <%= form.text_field :client_secret, value: me_account.client_secret %>
22
- </div>
29
+ <%= form.field_container :client_secret do %>
30
+ <%= form.label :client_secret, "Client Secret", class: 'required' %>
31
+ <%= form.text_field :client_secret, required: true, class: 'fullwidth' %>
32
+ <%= form.error_message_on :client_secret %>
33
+ <% end %>
23
34
 
24
- <div style="margin-top: 10px;">
25
- <%= form.label :redirect_url, "Redirect URL: " %>
26
- <%= form.text_field :redirect_url, value: me_account.redirect_url %>
27
- </div>
35
+ </div>
28
36
 
29
- <div style="margin-top: 10px;">
30
- <%= form.label :state, "State: " %>
31
- <%= form.text_field :state, value: me_account.state %>
32
- </div>
37
+ <div class="col-12 col-md-6">
33
38
 
34
- <div style="margin-top: 10px;">
35
- <%= form.label :access_token, "Access Token: " %>
36
- <%= form.text_field :access_token, value: me_account.access_token %>
37
- </div>
39
+ <%= form.field_container :redirect_url do %>
40
+ <%= form.label :redirect_url, "Redirect URL", class: 'required' %>
41
+ <%= form.text_field :redirect_url, required: true, class: 'fullwidth' %>
42
+ <%= form.error_message_on :redirect_url %>
43
+ <% end %>
38
44
 
39
- <div style="margin-top: 10px;">
40
- <%= form.label :refresh_token, "Refresh Token: " %>
41
- <%= form.text_field :refresh_token, value: me_account.refresh_token %>
42
- </div>
45
+ <%= form.field_container :state do %>
46
+ <%= form.label :state, "State", class: 'required' %>
47
+ <%= form.text_field :state, required: true, class: 'fullwidth' %>
48
+ <%= form.error_message_on :state %>
49
+ <% end %>
43
50
 
44
- <div style="margin-top: 10px;">
45
- <%= form.hidden_field :token_expires_in, value: me_account.token_expires_in %>
46
- <span>Expiração do token: <%= me_account.token_expires_in %></span>
47
- </div>
51
+ <%= form.field_container :refresh_token do %>
52
+ <%= form.label :refresh_token, "Refresh Token" %>
53
+ <%= form.text_field :refresh_token, class: 'fullwidth' %>
54
+ <%= form.error_message_on :refresh_token %>
55
+ <% end %>
56
+
57
+ <%= form.field_container :access_token do %>
58
+ <%= form.label :access_token, "Access Token" %>
59
+ <%= form.text_field :access_token, class: 'fullwidth' %>
60
+ <%= form.error_message_on :access_token %>
61
+ <% end %>
62
+
63
+ <div style="margin-top: 10px;">
64
+ <%= form.hidden_field :token_expires_in %>
65
+ <% if params["action"] != 'new' %>
66
+ <div class="field">
67
+ <%= label_tag :token_expires_in, "Token Expiration" %>
68
+ <div class="fullwidth" id="token_expires_in" name="token_expires_in"><%= me_account.token_expires_in %> </div>
69
+ </div>
70
+ <% end %>
71
+ </div>
72
+
73
+ </div>
74
+ </div>
75
+ </fieldset>
48
76
 
49
- <%= form.submit "Salvar", style: "margin-top: 10px;" %>
77
+
78
+ <div class="form-buttons filter-actions actions" data-hook="buttons">
79
+ <%= form.submit "Salvar", class: 'btn btn-primary' %>
80
+ <% if params["action"] == 'edit' %>
81
+ <%= link_to "Excluir", admin_solidus_me_account_path(me_account.id), method: :delete, data: { confirm: "Tem certeza que deseja excluir a conta?"}, class: 'button' %>
82
+ <% end %>
83
+ </div>
50
84
  <% end %>
51
85
 
52
- <div>
53
- <input value="https://www.melhorenvio.com.br/oauth/authorize?client_id=<%= me_account.client_id %>&redirect_uri=<%= me_account.redirect_url %>&response_type=code&state=<%= me_account.state %>&scope=shipping-calculate">
54
- <a target="_blank" class="" href="https://www.melhorenvio.com.br/oauth/authorize?client_id=<%= me_account.client_id %>&redirect_uri=<%= me_account.redirect_url %>&response_type=code&state=<%= me_account.state %>&scope=shipping-calculate">
55
- <svg style="width: 24px; height: 24px;" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
56
- <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"></path></svg>
57
- </a>
58
- </div>
86
+
@@ -0,0 +1,10 @@
1
+ <div class="field">
2
+ <div style="display: flex; align-items: center; margin-bottom: 6px">
3
+ <label style="margin-right: 5px; margin-bottom: 0" for="me_url">URL de autorização</label>
4
+ <a target="_blank" href="https://www.melhorenvio.com.br/oauth/authorize?client_id=<%= me_account.client_id %>&redirect_uri=<%= me_account.redirect_url %>&response_type=code&state=<%= me_account.state %>&scope=shipping-calculate">
5
+ <svg style="width: 18px; height: 18px; color: black" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
6
+ <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"></path></svg>
7
+ </a>
8
+ </div>
9
+ <input id="me_url" class="fullwidth" value="https://www.melhorenvio.com.br/oauth/authorize?client_id=<%= me_account.client_id %>&redirect_uri=<%= me_account.redirect_url %>&response_type=code&state=<%= me_account.state %>&scope=shipping-calculate">
10
+ </div>
@@ -1 +1,3 @@
1
+ <% admin_breadcrumb("Melhor Envio") %>
2
+
1
3
  <%= render "form", me_account: @me_account, form_url: admin_solidus_me_account_path(@me_account.id) %>
@@ -1,12 +1,69 @@
1
- <%= link_to("Criar", new_admin_solidus_me_account_path) if @accounts.count > 1 %>
2
- <div>
1
+ <% admin_layout "full-width" %>
2
+
3
+ <% admin_breadcrumb("Melhor Envio") %>
4
+
5
+ <% content_for :page_actions do %>
6
+ <% if SolidusMe::Account.count < 1 %>
7
+ <li>
8
+ <%= link_to "Nova Conta", new_admin_solidus_me_account_path, class: 'btn btn-primary' %>
9
+ </li>
10
+ <% end %>
11
+ <% end %>
12
+
13
+ <div class="content-wrapper">
3
14
  <% @accounts.each do |account| %>
4
- <div>
5
- <% account.attributes.each do |attribute| %>
6
- <div style="overflow-wrap: break-word;"> <%= attribute[0] %>: <%= attribute[1] %></div>
7
- <% end %>
8
- <%= link_to "Editar", edit_admin_solidus_me_account_path(account.id) %>
9
- <%= link_to "Excluir", admin_solidus_me_account_path(account.id), method: :delete %>
15
+ <%= render "link_auth", me_account: account %>
16
+
17
+ <fieldset class="no-border-top">
18
+ <legend>
19
+ Dados da Conta
20
+ </legend>
21
+ <div class="row">
22
+ <div class="col-12 col-md-6">
23
+ <div class="field">
24
+ <%= label_tag :client_id, "Client ID" %>
25
+ <%= text_field_tag :client_id, account.client_id, class:"fullwidth", disabled: true %>
26
+ </div>
27
+
28
+ <div class="field">
29
+ <%= label_tag :client_secret, "Client Secret" %>
30
+ <%= text_field_tag :client_secret, account.client_secret, class:"fullwidth", disabled: true %>
31
+ </div>
32
+
33
+ <div class="field">
34
+ <%= label_tag :refresh_token, "Refresh Token" %>
35
+ <%= text_field_tag :refresh_token, account.refresh_token, class:"fullwidth", disabled: true %>
36
+ </div>
37
+
38
+ <div class="field">
39
+ <%= label_tag :token_expires_in, "Token Expiration" %>
40
+ <div class="fullwidth" id="token_expires_in" name="token_expires_in">
41
+ <%= account.token_expires_in %>
42
+ </div>
43
+ </div>
44
+ </div>
45
+
46
+ <div class="col-12 col-md-6">
47
+
48
+ <div class="field">
49
+ <%= label_tag :redirect_url, "Redirect URL" %>
50
+ <%= text_field_tag :redirect_url, account.redirect_url, class:"fullwidth", disabled: true %>
51
+ </div>
52
+
53
+ <div class="field">
54
+ <%= label_tag :state, "State" %>
55
+ <%= text_field_tag :state, account.state, class:"fullwidth", disabled: true %>
56
+ </div>
57
+
58
+ <div class="field">
59
+ <%= label_tag :access_token, "Access Token" %>
60
+ <%= text_field_tag :access_token, account.access_token, class:"fullwidth", disabled: true %>
61
+ </div>
62
+ </div>
63
+ </fieldset>
64
+ <div class="form-buttons filter-actions actions" data-hook="buttons">
65
+ <%= link_to "Editar", edit_admin_solidus_me_account_path(account.id), class: 'btn btn-primary' %>
66
+ <%= link_to "Excluir", admin_solidus_me_account_path(account.id), method: :delete, data: { confirm: "Tem certeza que deseja excluir a conta?"}, class: 'button' %>
10
67
  </div>
11
68
  <% end %>
12
69
  </div>
@@ -4,26 +4,26 @@ module SolidusMe
4
4
  module Generators
5
5
  class InstallGenerator < Rails::Generators::Base
6
6
  class_option :auto_run_migrations, type: :boolean, default: false
7
- source_root File.expand_path('templates', __dir__)
7
+ source_root File.expand_path("templates", __dir__)
8
8
 
9
9
  def self.exit_on_failure?
10
10
  true
11
11
  end
12
12
 
13
13
  def copy_initializer
14
- template 'initializer.rb', 'config/initializers/solidus_me.rb'
14
+ template "initializer.rb", "config/initializers/solidus_me.rb"
15
15
  end
16
16
 
17
17
  def add_migrations
18
- run 'bin/rails railties:install:migrations FROM=solidus_me'
18
+ run "bin/rails railties:install:migrations FROM=solidus_me"
19
19
  end
20
20
 
21
21
  def run_migrations
22
- run_migrations = options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask('Would you like to run the migrations now? [Y/n]')) # rubocop:disable Layout/LineLength
22
+ run_migrations = options[:auto_run_migrations] || ["", "y", "Y"].include?(ask("Would you like to run the migrations now? [Y/n]")) # rubocop:disable Layout/LineLength
23
23
  if run_migrations
24
- run 'bin/rails db:migrate'
24
+ run "bin/rails db:migrate"
25
25
  else
26
- puts 'Skipping bin/rails db:migrate, don\'t forget to run it!' # rubocop:disable Rails/Output
26
+ puts "Skipping bin/rails db:migrate, don't forget to run it!" # rubocop:disable Rails/Output
27
27
  end
28
28
  end
29
29
 
@@ -12,7 +12,7 @@ module SolidusMe
12
12
  @configuration ||= Configuration.new
13
13
  end
14
14
 
15
- alias config configuration
15
+ alias_method :config, :configuration
16
16
 
17
17
  def configure
18
18
  yield configuration
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'solidus_core'
4
- require 'solidus_support'
3
+ require "solidus_core"
4
+ require "solidus_support"
5
5
 
6
6
  module SolidusMe
7
7
  class Engine < Rails::Engine
@@ -9,15 +9,15 @@ module SolidusMe
9
9
 
10
10
  isolate_namespace SolidusMe
11
11
 
12
- engine_name 'solidus_me'
12
+ engine_name "solidus_me"
13
13
 
14
- initializer 'solidus_me.configure_backend' do
14
+ initializer "solidus_me.configure_backend" do
15
15
  next unless ::Spree::Backend::Config.respond_to?(:menu_items)
16
16
 
17
17
  ::Spree::Backend::Config.configure do |config|
18
18
  config.menu_items << config.class::MenuItem.new(
19
19
  label: "melhor_envio",
20
- icon: 'truck',
20
+ icon: "truck",
21
21
  url: "/admin/solidus_me/accounts",
22
22
  condition: -> { can?(:manage, ::Spree::Store) }
23
23
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SolidusMe
4
- VERSION = '2.0.0'
4
+ VERSION = "2.0.3"
5
5
  end
data/lib/solidus_me.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'me_api'
4
- require 'solidus_brazilian_adaptations'
5
- require 'solidus_me/configuration'
6
- require 'solidus_me/version'
7
- require 'solidus_me/engine'
3
+ require "me_api"
4
+ require "solidus_brazilian_adaptations"
5
+ require "solidus_me/configuration"
6
+ require "solidus_me/version"
7
+ require "solidus_me/engine"
data/solidus_me.gemspec CHANGED
@@ -1,38 +1,37 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'lib/solidus_me/version'
3
+ require_relative "lib/solidus_me/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'solidus_me'
6
+ spec.name = "solidus_me"
7
7
  spec.version = SolidusMe::VERSION
8
- spec.authors = ['Hamilton Tumenas Borges']
9
- spec.email = 'hamiltontubo@gmail.com'
8
+ spec.authors = ["Hamilton Tumenas Borges"]
9
+ spec.email = "hamiltontubo@gmail.com"
10
10
 
11
- spec.summary = 'Gem para integração com a API do Melhor Envio'
12
- spec.description = 'Gem para integração com a API do Melhor Envio'
13
- spec.homepage = 'https://github.com/solidusio-contrib/solidus_me#readme'
14
- spec.license = 'BSD-3-Clause'
11
+ spec.summary = "Gem para integração com a API do Melhor Envio"
12
+ spec.description = "Gem para integração com a API do Melhor Envio"
13
+ spec.homepage = "https://github.com/solidusio-contrib/solidus_me#readme"
14
+ spec.license = "BSD-3-Clause"
15
15
 
16
- spec.metadata['homepage_uri'] = spec.homepage
17
- spec.metadata['source_code_uri'] = 'https://github.com/solidusio-contrib/solidus_me'
18
- spec.metadata['changelog_uri'] = 'https://github.com/solidusio-contrib/solidus_me/blob/master/CHANGELOG.md'
16
+ spec.metadata["homepage_uri"] = spec.homepage
17
+ spec.metadata["source_code_uri"] = "https://github.com/solidusio-contrib/solidus_me"
18
+ spec.metadata["changelog_uri"] = "https://github.com/solidusio-contrib/solidus_me/blob/master/CHANGELOG.md"
19
19
 
20
- spec.required_ruby_version = Gem::Requirement.new('>= 2.5', '< 4')
20
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.5", "< 4")
21
21
 
22
22
  # Specify which files should be added to the gem when it is released.
23
23
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
24
  files = Dir.chdir(__dir__) { `git ls-files -z`.split("\x0") }
25
25
 
26
26
  spec.files = files.grep_v(%r{^(test|spec|features)/})
27
- spec.test_files = files.grep(%r{^(test|spec|features)/})
28
27
  spec.bindir = "exe"
29
28
  spec.executables = files.grep(%r{^exe/}) { |f| File.basename(f) }
30
29
  spec.require_paths = ["lib"]
31
30
 
32
- spec.add_dependency 'solidus_core', ['>= 2.0.0', '< 5']
33
- spec.add_dependency 'solidus_support', '~> 0.5'
34
- spec.add_dependency 'me_api'
35
- spec.add_dependency 'solidus_brazilian_adaptations'
31
+ spec.add_dependency "solidus_core", [">= 2.0.0", "< 5"]
32
+ spec.add_dependency "solidus_support", "~> 0.5"
33
+ spec.add_dependency "me_api"
34
+ spec.add_dependency "solidus_brazilian_adaptations"
36
35
 
37
- spec.add_development_dependency 'solidus_dev_support', '~> 2.7'
36
+ spec.add_development_dependency "solidus_dev_support", "~> 2.7"
38
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_me
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hamilton Tumenas Borges
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-09 00:00:00.000000000 Z
11
+ date: 2023-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus_core
@@ -108,6 +108,7 @@ files:
108
108
  - app/models/solidus_me/account.rb
109
109
  - app/models/solidus_me/shipping_estimator.rb
110
110
  - app/views/spree/admin/solidus_me/accounts/_form.html.erb
111
+ - app/views/spree/admin/solidus_me/accounts/_link_auth.html.erb
111
112
  - app/views/spree/admin/solidus_me/accounts/edit.html.erb
112
113
  - app/views/spree/admin/solidus_me/accounts/index.html.erb
113
114
  - app/views/spree/admin/solidus_me/accounts/new.html.erb
@@ -131,8 +132,6 @@ files:
131
132
  - lib/solidus_me/testing_support/factories.rb
132
133
  - lib/solidus_me/version.rb
133
134
  - solidus_me.gemspec
134
- - spec/models/solidus_me/account_spec.rb
135
- - spec/spec_helper.rb
136
135
  homepage: https://github.com/solidusio-contrib/solidus_me#readme
137
136
  licenses:
138
137
  - BSD-3-Clause
@@ -140,7 +139,7 @@ metadata:
140
139
  homepage_uri: https://github.com/solidusio-contrib/solidus_me#readme
141
140
  source_code_uri: https://github.com/solidusio-contrib/solidus_me
142
141
  changelog_uri: https://github.com/solidusio-contrib/solidus_me/blob/master/CHANGELOG.md
143
- post_install_message:
142
+ post_install_message:
144
143
  rdoc_options: []
145
144
  require_paths:
146
145
  - lib
@@ -158,10 +157,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
157
  - !ruby/object:Gem::Version
159
158
  version: '0'
160
159
  requirements: []
161
- rubygems_version: 3.4.19
162
- signing_key:
160
+ rubygems_version: 3.4.20
161
+ signing_key:
163
162
  specification_version: 4
164
163
  summary: Gem para integração com a API do Melhor Envio
165
- test_files:
166
- - spec/models/solidus_me/account_spec.rb
167
- - spec/spec_helper.rb
164
+ test_files: []
@@ -1,7 +0,0 @@
1
- require 'rails_helper'
2
-
3
- module SolidusMe
4
- RSpec.describe Account, type: :model do
5
- pending "add some examples to (or delete) #{__FILE__}"
6
- end
7
- end
data/spec/spec_helper.rb DELETED
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Configure Rails Environment
4
- ENV['RAILS_ENV'] = 'test'
5
-
6
- # Run Coverage report
7
- require 'solidus_dev_support/rspec/coverage'
8
-
9
- # Create the dummy app if it's still missing.
10
- dummy_env = "#{__dir__}/dummy/config/environment.rb"
11
- system 'bin/rake extension:test_app' unless File.exist? dummy_env
12
- require dummy_env
13
-
14
- # Requires factories and other useful helpers defined in spree_core.
15
- require 'solidus_dev_support/rspec/feature_helper'
16
-
17
- # Requires supporting ruby files with custom matchers and macros, etc,
18
- # in spec/support/ and its subdirectories.
19
- Dir["#{__dir__}/support/**/*.rb"].sort.each { |f| require f }
20
-
21
- # Requires factories defined in Solidus core and this extension.
22
- # See: lib/solidus_me/testing_support/factories.rb
23
- SolidusDevSupport::TestingSupport::Factories.load_for(SolidusMe::Engine)
24
-
25
- RSpec.configure do |config|
26
- config.infer_spec_type_from_file_location!
27
- config.use_transactional_fixtures = false
28
-
29
- if Spree.solidus_gem_version < Gem::Version.new('2.11')
30
- config.extend Spree::TestingSupport::AuthorizationHelpers::Request, type: :system
31
- end
32
- end