solidus_bling 2.0.7 → 3.0.2
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/.gitattributes +2 -0
- data/.gitignore +0 -1
- data/CHANGELOG.md +1 -3
- data/Gemfile +18 -19
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/Rakefile +2 -2
- data/app/controllers/spree/admin/solidus_bling/accounts_controller.rb +80 -0
- data/app/jobs/solidus_bling/order_job.rb +4 -7
- data/app/models/solidus_bling/account.rb +6 -1
- data/app/models/solidus_bling/order.rb +121 -96
- data/app/models/solidus_bling/token.rb +44 -0
- data/app/subscribers/solidus_bling/subscriber.rb +2 -22
- data/app/views/spree/admin/solidus_bling/accounts/_form.html.erb +147 -0
- data/app/views/spree/admin/solidus_bling/accounts/_link_auth.html.erb +10 -0
- data/app/views/spree/admin/solidus_bling/accounts/edit.html.erb +3 -0
- data/app/views/spree/admin/solidus_bling/accounts/index.html.erb +67 -0
- data/app/views/spree/admin/solidus_bling/accounts/new.html.erb +3 -0
- data/bin/meu_sandbox +67 -0
- data/config/locales/pt-BR.yml +1 -1
- data/config/routes.rb +6 -2
- data/db/migrate/{20230918141419_create_solidus_bling_accounts.rb → 20231109210635_create_solidus_bling_accounts.rb} +4 -5
- data/db/migrate/{20230918142547_create_solidus_bling_events.rb → 20231110112819_create_solidus_bling_events.rb} +1 -2
- data/db/migrate/{20230918143057_create_solidus_bling_shipping_methods.rb → 20231110113221_create_solidus_bling_shipping_methods.rb} +3 -2
- data/lib/generators/solidus_bling/install/install_generator.rb +6 -6
- data/lib/solidus_bling/configuration.rb +1 -1
- data/lib/solidus_bling/engine.rb +12 -15
- data/lib/solidus_bling/version.rb +1 -1
- data/lib/solidus_bling.rb +5 -5
- data/solidus_bling.gemspec +16 -18
- metadata +32 -71
- data/app/controllers/spree/admin/accounts_controller.rb +0 -67
- data/app/controllers/spree/admin/bling_products_controller.rb +0 -20
- data/app/decorators/models/solidus_bling/spree/payment_method_decorator.rb +0 -13
- data/app/decorators/models/solidus_bling/spree/shipping_method_decorator.rb +0 -13
- data/app/helpers/solidus_bling/accounts_helper.rb +0 -4
- data/app/helpers/solidus_bling/bling_products_helper.rb +0 -4
- data/app/jobs/solidus_bling/contact_job.rb +0 -22
- data/app/jobs/solidus_bling/product_job.rb +0 -13
- data/app/jobs/solidus_bling/update_product_job.rb +0 -9
- data/app/models/solidus_bling/api.rb +0 -57
- data/app/models/solidus_bling/contact.rb +0 -83
- data/app/models/solidus_bling/product.rb +0 -36
- data/app/views/spree/admin/accounts/_form.html.erb +0 -76
- data/app/views/spree/admin/accounts/edit.html.erb +0 -11
- data/app/views/spree/admin/accounts/index.html.erb +0 -13
- data/app/views/spree/admin/accounts/new.html.erb +0 -2
- data/db/migrate/20230918141700_create_solidus_bling_products.rb +0 -12
- data/db/migrate/20231018141940_add_company_to_solidus_bling_shipping_methods.rb +0 -5
- data/spec/helpers/solidus_bling/accounts_helper_spec.rb +0 -17
- data/spec/helpers/solidus_bling/bling_products_helper_spec.rb +0 -17
- data/spec/jobs/solidus_bling/contact_job_spec.rb +0 -7
- data/spec/jobs/solidus_bling/order_job_spec.rb +0 -7
- data/spec/jobs/solidus_bling/product_job_spec.rb +0 -7
- data/spec/jobs/solidus_bling/update_product_job_spec.rb +0 -7
- data/spec/models/solidus_bling/account_spec.rb +0 -7
- data/spec/models/solidus_bling/event_spec.rb +0 -7
- data/spec/models/solidus_bling/payment_method_spec.rb +0 -7
- data/spec/models/solidus_bling/product_spec.rb +0 -7
- data/spec/models/solidus_bling/seller_spec.rb +0 -7
- data/spec/models/solidus_bling/shipping_method_spec.rb +0 -7
- data/spec/requests/solidus_bling/accounts_spec.rb +0 -7
- data/spec/requests/solidus_bling/bling_products_spec.rb +0 -7
- data/spec/spec_helper.rb +0 -32
- /data/app/views/spree/admin/{accounts → solidus_bling/accounts}/show.html.erb +0 -0
- /data/db/migrate/{20230918141505_add_bling_order_id_to_spree_orders.rb → 20231110112528_add_bling_order_id_to_spree_orders.rb} +0 -0
- /data/db/migrate/{20230918142742_create_solidus_bling_payment_methods.rb → 20231110112958_create_solidus_bling_payment_methods.rb} +0 -0
- /data/db/migrate/{20230918142953_create_solidus_bling_sellers.rb → 20231110113122_create_solidus_bling_sellers.rb} +0 -0
@@ -0,0 +1,147 @@
|
|
1
|
+
<%= render "link_auth", bling_account: bling_account %>
|
2
|
+
|
3
|
+
<%= form_with model: bling_account, url: form_url do |form| %>
|
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">
|
10
|
+
|
11
|
+
<%= form.field_container :client_id do %>
|
12
|
+
<%= form.label :client_id, "Client ID", class: 'required' %>
|
13
|
+
<%= form.text_field :client_id, required: true, class: 'fullwidth' %>
|
14
|
+
<%= form.error_message_on :client_id %>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<%= form.field_container :client_secret do %>
|
18
|
+
<%= form.label :client_secret, "Client Secret", class: 'required' %>
|
19
|
+
<%= form.text_field :client_secret, required: true, class: 'fullwidth' %>
|
20
|
+
<%= form.error_message_on :client_secret %>
|
21
|
+
<% end %>
|
22
|
+
|
23
|
+
<%= form.field_container :external_store_id do %>
|
24
|
+
<%= form.label :external_store_id, "ID Loja", class: 'required' %>
|
25
|
+
<%= form.text_field :external_store_id, required: true, class: 'fullwidth' %>
|
26
|
+
<%= form.error_message_on :external_store_id %>
|
27
|
+
<% end %>
|
28
|
+
|
29
|
+
<%= form.field_container :incoming_category_id do %>
|
30
|
+
<%= form.label :incoming_category_id, "ID Categoria Receita", class: 'required' %>
|
31
|
+
<%= form.text_field :incoming_category_id, required: true, class: 'fullwidth' %>
|
32
|
+
<%= form.error_message_on :incoming_category_id %>
|
33
|
+
<% end %>
|
34
|
+
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<div class="col-12 col-md-6">
|
38
|
+
|
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 %>
|
44
|
+
|
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 %>
|
50
|
+
|
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
|
+
</div>
|
63
|
+
</div>
|
64
|
+
</fieldset>
|
65
|
+
|
66
|
+
<fieldset class="no-border-top">
|
67
|
+
<legend>
|
68
|
+
Métodos de Pagamento
|
69
|
+
</legend>
|
70
|
+
<%= form.fields_for :payment_methods do |payment_form| %>
|
71
|
+
<div class="row">
|
72
|
+
<div class="col-12 col-md-6">
|
73
|
+
<div class="field">
|
74
|
+
<%= payment_form.label :spree_payment_method_id, "Método de Pagamento", class: 'required' %>
|
75
|
+
<%= payment_form.select :spree_payment_method_id, @payment_methods, {}, { class: "custom-select fullwidth" } %>
|
76
|
+
</div>
|
77
|
+
</div>
|
78
|
+
<div class="col-12 col-md-6">
|
79
|
+
<div class="field">
|
80
|
+
<%= payment_form.label :external_id, "ID Forma de Pagamento", class: 'required' %>
|
81
|
+
<%= payment_form.text_field :external_id, required: true, class:"fullwidth" %>
|
82
|
+
</div>
|
83
|
+
</div>
|
84
|
+
</div>
|
85
|
+
<% end %>
|
86
|
+
</fieldset>
|
87
|
+
|
88
|
+
<fieldset class="no-border-top">
|
89
|
+
<legend>
|
90
|
+
Métodos de Envio
|
91
|
+
</legend>
|
92
|
+
<%= form.fields_for :shipping_methods do |ship_form| %>
|
93
|
+
<div class="row">
|
94
|
+
<div class="col-12 col-md-4">
|
95
|
+
<div class="field">
|
96
|
+
<%= ship_form.label :spree_shipping_method_id, "Método de Envio", class: 'required' %>
|
97
|
+
<%= ship_form.select :spree_shipping_method_id, @shipping_methods, {}, { class: "custom-select fullwidth" } %>
|
98
|
+
</div>
|
99
|
+
</div>
|
100
|
+
<div class="col-12 col-md-4">
|
101
|
+
<div class="field">
|
102
|
+
<%= ship_form.label :alias, "Alias", class: 'required' %>
|
103
|
+
<%= ship_form.text_field :alias, required: true, class:"fullwidth" %>
|
104
|
+
</div>
|
105
|
+
</div>
|
106
|
+
<div class="col-12 col-md-4">
|
107
|
+
<div class="field">
|
108
|
+
<%= ship_form.label :company, "Nome Transportadora", class: 'required' %>
|
109
|
+
<%= ship_form.text_field :company, required: true, class:"fullwidth" %>
|
110
|
+
</div>
|
111
|
+
</div>
|
112
|
+
</div>
|
113
|
+
<% end %>
|
114
|
+
</fieldset>
|
115
|
+
|
116
|
+
<fieldset class="no-border-top">
|
117
|
+
<legend>
|
118
|
+
Vendedores
|
119
|
+
</legend>
|
120
|
+
<% bling_account.sellers.each do |seller| %>
|
121
|
+
<%= form.fields_for :sellers do |seller_form| %>
|
122
|
+
<div class="row">
|
123
|
+
<div class="col-12 col-md-6">
|
124
|
+
<div class="field">
|
125
|
+
<%= seller_form.label :name, "Nome do Vendedor", class: 'required' %>
|
126
|
+
<%= seller_form.text_field :name, required: true, class:"fullwidth" %>
|
127
|
+
</div>
|
128
|
+
</div>
|
129
|
+
<div class="col-12 col-md-6">
|
130
|
+
<div class="field">
|
131
|
+
<%= seller_form.label :external_id, "ID Vendedor", class: 'required' %>
|
132
|
+
<%= seller_form.text_field :external_id, required: true, class:"fullwidth" %>
|
133
|
+
</div>
|
134
|
+
</div>
|
135
|
+
</div>
|
136
|
+
<% end %>
|
137
|
+
<% end %>
|
138
|
+
</fieldset>
|
139
|
+
|
140
|
+
|
141
|
+
<div class="form-buttons filter-actions actions" data-hook="buttons">
|
142
|
+
<%= form.submit "Salvar", class: 'btn btn-primary' %>
|
143
|
+
<% if params["action"] == 'edit' %>
|
144
|
+
<%= link_to "Excluir", admin_solidus_bling_account_path(bling_account.id), method: :delete, data: { confirm: "Tem certeza que deseja excluir a conta?"}, class: 'button' %>
|
145
|
+
<% end %>
|
146
|
+
</div>
|
147
|
+
<% end %>
|
@@ -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="bling_url">URL de autorização</label>
|
4
|
+
<a target="_blank" href="https://www.bling.com.br/Api/v3/oauth/authorize?response_type=code&client_id=<%= bling_account.client_id %>&state=<%= bling_account.state %>&scopes=98308+98309+98310+98313+98314+507943+5990556+6631498+106168710+182224097+199272829+200802821+220621674+318257556+318257565+318257568+318257570+318257583+333936575+363921589+363921590+363921591+363921592+363953167+363953556+791588404+875116881+1869535257+5862218180+13645012997+13645013013">
|
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="bling_url" class="fullwidth" value="https://www.bling.com.br/Api/v3/oauth/authorize?response_type=code&client_id=<%= bling_account.client_id %>&state=<%= bling_account.state %>&scopes=98308+98309+98310+98313+98314+507943+5990556+6631498+106168710+182224097+199272829+200802821+220621674+318257556+318257565+318257568+318257570+318257583+333936575+363921589+363921590+363921591+363921592+363953167+363953556+791588404+875116881+1869535257+5862218180+13645012997+13645013013">
|
10
|
+
</div>
|
@@ -0,0 +1,67 @@
|
|
1
|
+
|
2
|
+
<% admin_layout "full-width" %>
|
3
|
+
|
4
|
+
<% admin_breadcrumb("Bling") %>
|
5
|
+
|
6
|
+
<% content_for :page_actions do %>
|
7
|
+
<% if SolidusBling::Account.count < 1 %>
|
8
|
+
<li>
|
9
|
+
<%= link_to "Nova Conta", new_admin_solidus_bling_account_path, class: 'btn btn-primary' %>
|
10
|
+
</li>
|
11
|
+
<% end %>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<div class="content-wrapper">
|
15
|
+
<% @accounts.each do |account| %>
|
16
|
+
<%= render "link_auth", bling_account: account %>
|
17
|
+
|
18
|
+
<fieldset class="no-border-top">
|
19
|
+
<legend>
|
20
|
+
Dados da Conta
|
21
|
+
</legend>
|
22
|
+
<div class="row">
|
23
|
+
<div class="col-12 col-md-6">
|
24
|
+
|
25
|
+
<div class="field">
|
26
|
+
<%= label_tag :client_id, "Client ID" %>
|
27
|
+
<%= text_field_tag :client_id, account.client_id, class:"fullwidth", disabled: true %>
|
28
|
+
</div>
|
29
|
+
|
30
|
+
<div class="field">
|
31
|
+
<%= label_tag :client_secret, "Client Secret" %>
|
32
|
+
<%= text_field_tag :client_secret, account.client_secret, class:"fullwidth", disabled: true %>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div class="field">
|
36
|
+
<%= label_tag :refresh_token, "Refresh Token" %>
|
37
|
+
<%= text_field_tag :refresh_token, account.refresh_token, class:"fullwidth", disabled: true %>
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div class="col-12 col-md-6">
|
42
|
+
|
43
|
+
<div class="field">
|
44
|
+
<%= label_tag :redirect_url, "Redirect URL" %>
|
45
|
+
<%= text_field_tag :redirect_url, account.redirect_url, class:"fullwidth", disabled: true %>
|
46
|
+
</div>
|
47
|
+
|
48
|
+
<div class="field">
|
49
|
+
<%= label_tag :state, "State" %>
|
50
|
+
<%= text_field_tag :state, account.state, class:"fullwidth", disabled: true %>
|
51
|
+
</div>
|
52
|
+
|
53
|
+
<div class="field">
|
54
|
+
<%= label_tag :access_token, "Access Token" %>
|
55
|
+
<%= text_field_tag :access_token, account.access_token, class:"fullwidth", disabled: true %>
|
56
|
+
</div>
|
57
|
+
</div>
|
58
|
+
</div>
|
59
|
+
</fieldset>
|
60
|
+
|
61
|
+
<div class="form-buttons filter-actions actions" data-hook="buttons">
|
62
|
+
<%= link_to "Editar", edit_admin_solidus_bling_account_path(account.id), class: 'btn btn-primary' %>
|
63
|
+
<%= link_to "Excluir", admin_solidus_bling_account_path(account.id), method: :delete, data: { confirm: "Tem certeza que deseja excluir a conta?"}, class: 'button' %>
|
64
|
+
</div>
|
65
|
+
<% end %>
|
66
|
+
</div>
|
67
|
+
|
data/bin/meu_sandbox
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
bin/rails db:environment:set RAILS_ENV=development
|
4
|
+
|
5
|
+
set -e
|
6
|
+
test -z "${DEBUG+empty_string}" || set -x
|
7
|
+
|
8
|
+
if [ -z "$SOLIDUS_BRANCH" ]
|
9
|
+
then
|
10
|
+
echo "~~> Use 'export SOLIDUS_BRANCH=[main|v3.2|...]' to control the Solidus branch"
|
11
|
+
SOLIDUS_BRANCH="main"
|
12
|
+
fi
|
13
|
+
echo "~~> Using branch $SOLIDUS_BRANCH of solidus"
|
14
|
+
|
15
|
+
extension_name="solidus_bling"
|
16
|
+
|
17
|
+
# Stay away from the bundler env of the containing extension.
|
18
|
+
function unbundled {
|
19
|
+
ruby -rbundler -e'b = proc {system *ARGV}; Bundler.respond_to?(:with_unbundled_env) ? Bundler.with_unbundled_env(&b) : Bundler.with_clean_env(&b)' -- $@
|
20
|
+
}
|
21
|
+
|
22
|
+
rm -rf ./sandbox
|
23
|
+
unbundled bundle exec rails new sandbox \
|
24
|
+
--database=postgresql \
|
25
|
+
--skip-bundle \
|
26
|
+
--skip-git \
|
27
|
+
--skip-keeps \
|
28
|
+
--skip-rc \
|
29
|
+
--skip-spring \
|
30
|
+
--skip-test \
|
31
|
+
--skip-javascript
|
32
|
+
|
33
|
+
if [ ! -d "sandbox" ]; then
|
34
|
+
echo 'sandbox rails application failed'
|
35
|
+
exit 1
|
36
|
+
fi
|
37
|
+
|
38
|
+
cd ./sandbox
|
39
|
+
cat <<RUBY >> Gemfile
|
40
|
+
gem 'solidus', github: 'solidusio/solidus', branch: '$SOLIDUS_BRANCH'
|
41
|
+
gem 'rails-i18n'
|
42
|
+
gem 'solidus_i18n'
|
43
|
+
|
44
|
+
gem '$extension_name', path: '..'
|
45
|
+
|
46
|
+
group :test, :development do
|
47
|
+
platforms :mri do
|
48
|
+
gem 'pry-byebug'
|
49
|
+
end
|
50
|
+
end
|
51
|
+
RUBY
|
52
|
+
|
53
|
+
unbundled bundle install --gemfile Gemfile
|
54
|
+
|
55
|
+
unbundled bundle exec rake db:drop db:create
|
56
|
+
|
57
|
+
unbundled bundle exec rails generate solidus:install \
|
58
|
+
--auto-accept \
|
59
|
+
--payment-method=none \
|
60
|
+
--frontend=starter \
|
61
|
+
$@
|
62
|
+
|
63
|
+
unbundled bundle exec rails generate ${extension_name}:install --auto-run-migrations
|
64
|
+
|
65
|
+
echo
|
66
|
+
echo "🚀 Sandbox app successfully created for $extension_name!"
|
67
|
+
echo "🧪 This app is intended for test purposes."
|
data/config/locales/pt-BR.yml
CHANGED
data/config/routes.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
Spree::Core::Engine.routes.draw do
|
4
|
+
# Add your extension routes here
|
4
5
|
namespace :admin do
|
5
|
-
|
6
|
-
|
6
|
+
namespace :solidus_bling do
|
7
|
+
resources :accounts do
|
8
|
+
get "authorize", on: :collection
|
9
|
+
end
|
10
|
+
end
|
7
11
|
end
|
8
12
|
end
|
@@ -1,17 +1,16 @@
|
|
1
1
|
class CreateSolidusBlingAccounts < ActiveRecord::Migration[7.0]
|
2
2
|
def change
|
3
3
|
create_table :solidus_bling_accounts do |t|
|
4
|
-
t.string :name
|
5
|
-
t.string :app_name
|
6
|
-
t.string :api_base_url
|
7
|
-
t.string :api_key
|
8
4
|
t.string :client_id
|
9
5
|
t.string :client_secret
|
10
6
|
t.string :refresh_token
|
7
|
+
t.string :redirect_url
|
8
|
+
t.string :state
|
11
9
|
t.string :access_token
|
10
|
+
t.string :api_key
|
11
|
+
t.datetime :token_expires_in
|
12
12
|
t.string :external_store_id
|
13
13
|
t.string :incoming_category_id
|
14
|
-
t.datetime :token_expires_in
|
15
14
|
|
16
15
|
t.timestamps
|
17
16
|
end
|
@@ -2,8 +2,9 @@ class CreateSolidusBlingShippingMethods < ActiveRecord::Migration[7.0]
|
|
2
2
|
def change
|
3
3
|
create_table :solidus_bling_shipping_methods do |t|
|
4
4
|
t.string :alias
|
5
|
-
t.
|
6
|
-
t.integer :
|
5
|
+
t.string :company
|
6
|
+
t.integer :account_id, null: false, index: true, index: {name: "solidus_bling_shipping_account_index"}
|
7
|
+
t.integer :spree_shipping_method_id, null: false, index: true, index: {name: "solidus_bling_spree_shipping_index"}
|
7
8
|
|
8
9
|
t.timestamps
|
9
10
|
|
@@ -4,26 +4,26 @@ module SolidusBling
|
|
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(
|
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
|
14
|
+
template "initializer.rb", "config/initializers/solidus_bling.rb"
|
15
15
|
end
|
16
16
|
|
17
17
|
def add_migrations
|
18
|
-
run
|
18
|
+
run "bin/rails railties:install:migrations FROM=solidus_bling"
|
19
19
|
end
|
20
20
|
|
21
21
|
def run_migrations
|
22
|
-
run_migrations = options[:auto_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
|
23
23
|
if run_migrations
|
24
|
-
run
|
24
|
+
run "bin/rails db:migrate"
|
25
25
|
else
|
26
|
-
puts
|
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
|
|
data/lib/solidus_bling/engine.rb
CHANGED
@@ -1,41 +1,38 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "solidus_core"
|
4
|
+
require "solidus_support"
|
5
5
|
|
6
6
|
module SolidusBling
|
7
7
|
class Engine < Rails::Engine
|
8
8
|
include SolidusSupport::EngineExtensions
|
9
9
|
|
10
|
-
isolate_namespace SolidusBling
|
10
|
+
isolate_namespace ::SolidusBling
|
11
11
|
|
12
|
-
engine_name
|
12
|
+
engine_name "solidus_bling"
|
13
13
|
|
14
|
-
initializer
|
14
|
+
initializer "solidus_bling.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
|
-
|
20
|
-
|
21
|
-
url:
|
19
|
+
label: "bling_account",
|
20
|
+
icon: "exclamation",
|
21
|
+
url: "/admin/solidus_bling/accounts",
|
22
22
|
condition: -> { can?(:manage, ::Spree::Store) }
|
23
23
|
)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
# use rspec for tests
|
28
|
-
config.generators do |g|
|
29
|
-
g.test_framework :rspec
|
30
|
-
end
|
31
|
-
|
32
27
|
initializer "solidus_bling.pub_sub", after: "spree.core.pub_sub" do |app|
|
33
28
|
app.reloader.to_prepare do
|
34
|
-
::Spree::Bus.register(:bling_products_updated)
|
35
|
-
::Spree::Bus.register(:bling_contact_created)
|
36
29
|
SolidusBling::Subscriber.new.subscribe_to(::Spree::Bus)
|
37
30
|
end
|
38
31
|
end
|
39
32
|
|
33
|
+
# use rspec for tests
|
34
|
+
config.generators do |g|
|
35
|
+
g.test_framework :rspec
|
36
|
+
end
|
40
37
|
end
|
41
38
|
end
|
data/lib/solidus_bling.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
3
|
+
require "solidus_brazilian_adaptations"
|
4
|
+
require "bling_api"
|
5
|
+
require "solidus_bling/configuration"
|
6
|
+
require "solidus_bling/version"
|
7
|
+
require "solidus_bling/engine"
|
data/solidus_bling.gemspec
CHANGED
@@ -1,38 +1,36 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative "lib/solidus_bling/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name =
|
6
|
+
spec.name = "solidus_bling"
|
7
7
|
spec.version = SolidusBling::VERSION
|
8
|
-
spec.authors = [
|
9
|
-
spec.email =
|
8
|
+
spec.authors = ["Hamilton Tumenas Borges"]
|
9
|
+
spec.email = "hamiltontubo@gmail.com"
|
10
10
|
|
11
|
-
spec.summary =
|
12
|
-
spec.homepage =
|
13
|
-
spec.license =
|
11
|
+
spec.summary = "Solidus extension to integrate with the Bling"
|
12
|
+
spec.homepage = "https://github.com/hamiltontborges/solidus_bling#readme"
|
13
|
+
spec.license = "BSD-3-Clause"
|
14
14
|
|
15
|
-
spec.metadata[
|
16
|
-
spec.metadata[
|
17
|
-
spec.metadata[
|
15
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
16
|
+
spec.metadata["source_code_uri"] = "https://github.com/hamiltontborges/solidus_bling"
|
17
|
+
spec.metadata["changelog_uri"] = "https://github.com/hamiltontborges/solidus_bling/blob/master/CHANGELOG.md"
|
18
18
|
|
19
|
-
spec.required_ruby_version = Gem::Requirement.new(
|
19
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.5", "< 4")
|
20
20
|
|
21
21
|
# Specify which files should be added to the gem when it is released.
|
22
22
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
23
23
|
files = Dir.chdir(__dir__) { `git ls-files -z`.split("\x0") }
|
24
24
|
|
25
25
|
spec.files = files.grep_v(%r{^(test|spec|features)/})
|
26
|
-
spec.test_files = files.grep(%r{^(test|spec|features)/})
|
27
26
|
spec.bindir = "exe"
|
28
27
|
spec.executables = files.grep(%r{^exe/}) { |f| File.basename(f) }
|
29
28
|
spec.require_paths = ["lib"]
|
30
29
|
|
31
|
-
spec.add_dependency
|
32
|
-
spec.add_dependency
|
33
|
-
spec.add_dependency
|
34
|
-
spec.add_dependency
|
35
|
-
|
36
|
-
spec.add_development_dependency 'solidus_dev_support', '~> 2.7'
|
30
|
+
spec.add_dependency "solidus_core", [">= 2.0.0", "< 5"]
|
31
|
+
spec.add_dependency "solidus_support", "~> 0.5"
|
32
|
+
spec.add_dependency "solidus_brazilian_adaptations"
|
33
|
+
spec.add_dependency "bling_api"
|
37
34
|
|
35
|
+
spec.add_development_dependency "solidus_dev_support", "~> 2.7"
|
38
36
|
end
|