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