solidus_address_book 1.0.0
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 +7 -0
- data/LICENSE +23 -0
- data/README.md +49 -0
- data/Rakefile +23 -0
- data/app/assets/javascripts/spree/frontend/solidus_address_book.js.erb +59 -0
- data/app/assets/stylesheets/spree/frontend/solidus_address_book.scss +92 -0
- data/app/controllers/spree/addresses_controller.rb +84 -0
- data/app/controllers/spree/checkout_controller_decorator.rb +65 -0
- data/app/helpers/spree/addresses_helper.rb +39 -0
- data/app/models/concerns/solidus_address_book/address.rb +18 -0
- data/app/models/concerns/solidus_address_book/permitted_attributes_concern.rb +11 -0
- data/app/models/permitted_attributes_decorator.rb +1 -0
- data/app/models/spree/address_ability.rb +15 -0
- data/app/models/spree/address_decorator.rb +83 -0
- data/app/models/spree/order_decorator.rb +109 -0
- data/app/models/spree/user_decorator.rb +11 -0
- data/app/overrides/add_address_book_to_my_account.rb +9 -0
- data/app/views/spree/addresses/_form.html.erb +114 -0
- data/app/views/spree/addresses/destroy.js.erb +2 -0
- data/app/views/spree/addresses/edit.html.erb +29 -0
- data/app/views/spree/addresses/new.html.erb +29 -0
- data/app/views/spree/checkout/_address.html.erb +75 -0
- data/app/views/spree/users/_addresses.html.erb +36 -0
- data/config/locales/de.yml +15 -0
- data/config/locales/en.yml +28 -0
- data/config/locales/pt-BR.yml +3 -0
- data/config/locales/ru.yml +13 -0
- data/config/routes.rb +9 -0
- data/db/migrate/20110302102208_add_user_id_and_deleted_at_to_addresses.rb +13 -0
- data/db/migrate/20190619191704_add_label_to_addresses.rb +7 -0
- data/lib/generators/solidus_address_book/install_generator.rb +30 -0
- data/lib/solidus_address_book.rb +6 -0
- data/lib/solidus_address_book/configuration.rb +8 -0
- data/lib/solidus_address_book/engine.rb +24 -0
- data/lib/solidus_address_book/version.rb +5 -0
- metadata +354 -0
@@ -0,0 +1,75 @@
|
|
1
|
+
<div class="row">
|
2
|
+
<% ['billing', 'shipping'].each do |address_type|
|
3
|
+
next if address_type == 'billing' && SolidusAddressBook::Config[:disable_bill_address]
|
4
|
+
address_name = "#{address_type[0...4]}_address" %>
|
5
|
+
|
6
|
+
<div class="columns alpha twelve" data-hook="<%= address_type %>_fieldset_wrapper">
|
7
|
+
<div class="panel panel-default" id="<%= address_type %>" data-hook>
|
8
|
+
<div class="panel-heading">
|
9
|
+
<h3 class="panel-title"><%= I18n.t(address_type + "_address", scope: :spree) %></h3>
|
10
|
+
<% if address_type == 'shipping' && !SolidusAddressBook::Config[:disable_bill_address] %>
|
11
|
+
<p class="field checkbox" data-hook="use_billing">
|
12
|
+
<%= label_tag :order_use_billing, id: 'use_billing' do %>
|
13
|
+
<%= check_box_tag 'order[use_billing]', '1', @order.shipping_eq_billing_address? %>
|
14
|
+
<%= t('spree.use_billing_address') %>
|
15
|
+
<% end %>
|
16
|
+
</p>
|
17
|
+
<% end %>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<div class="panel-body">
|
21
|
+
<% if @user_addresses.present? %>
|
22
|
+
<div class="select_address">
|
23
|
+
<ul class="form-group">
|
24
|
+
<% @user_addresses.each_with_index do |address, idx| %>
|
25
|
+
<li class='address-wrapper' id="<%= [address_type, dom_id(address)].join('_') %>">
|
26
|
+
<label>
|
27
|
+
<%= form.radio_button "#{address_name}_id", address.id, checked: (address.id == try_spree_current_user["#{address_name}_id"] || idx == 0) %>
|
28
|
+
<span class='address-label'><%= address&.label&.titleize || I18n.t('spree.address_index', number: idx + 1) %></span>
|
29
|
+
</label>
|
30
|
+
|
31
|
+
<span class='address-text'>
|
32
|
+
<%= address %>
|
33
|
+
</span>
|
34
|
+
|
35
|
+
<span class='edit-address'>
|
36
|
+
<a href="<%= edit_address_path(address) %>" data-hook="edit_address">
|
37
|
+
<%= t('spree.edit') %>
|
38
|
+
</a>
|
39
|
+
</span>
|
40
|
+
</li>
|
41
|
+
<% end %>
|
42
|
+
|
43
|
+
<li class='address-wrapper'>
|
44
|
+
<span id="other-address">
|
45
|
+
<label>
|
46
|
+
<%= form.radio_button "#{address_name}_id", 0 %>
|
47
|
+
<%= t('spree.other_address') %>
|
48
|
+
</label>
|
49
|
+
</span>
|
50
|
+
</li>
|
51
|
+
</ul>
|
52
|
+
</div>
|
53
|
+
<% end %>
|
54
|
+
|
55
|
+
<%= form.fields_for address_name do |address_form| %>
|
56
|
+
<div class="inner" data-hook=<%="#{address_type}_inner" %>>
|
57
|
+
<%= render :partial => 'spree/addresses/form', locals: {
|
58
|
+
address_name: address_name,
|
59
|
+
address_form: address_form,
|
60
|
+
address_type: address_type,
|
61
|
+
address: Spree::Address.default
|
62
|
+
} %>
|
63
|
+
</div>
|
64
|
+
<% end %>
|
65
|
+
</div>
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
<% end %>
|
69
|
+
</div>
|
70
|
+
|
71
|
+
<br />
|
72
|
+
|
73
|
+
<div class="form-buttons" data-hook="buttons">
|
74
|
+
<%= submit_tag t('spree.save_and_continue'), class: 'continue button primary' %>
|
75
|
+
</div>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<div data-hook='account_my_addresses' class='account-my-addresses'>
|
2
|
+
<h3><%= t('spree.my_shipping_addresses') %></h3>
|
3
|
+
|
4
|
+
<% if try_spree_current_user.addresses.present? %>
|
5
|
+
<table id='user_addresses' data-hook='account_my_addresses_table'>
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th class="address-label"><%= t('spree.label') %></th>
|
9
|
+
<th class="address-info"><%= t('spree.address_information') %></th>
|
10
|
+
<th class="address-actions"></th>
|
11
|
+
</tr>
|
12
|
+
</thead>
|
13
|
+
|
14
|
+
<% try_spree_current_user.addresses.each do |address| %>
|
15
|
+
<tr class="<%= cycle('even', 'odd') %>">
|
16
|
+
<td><%= address.label %></td>
|
17
|
+
<td><%= address.to_s.gsub("<br/>", ", ") %></td>
|
18
|
+
<td class='actions'>
|
19
|
+
<%= link_to_with_icon 'edit', t('spree.actions.edit'), edit_address_path(address), no_text: true %>
|
20
|
+
<% if address.can_be_deleted? %>
|
21
|
+
<%= link_to_with_icon 'trash', '', address_path(address), method: :delete, class: 'delete', data: { confirm: t('spree.are_you_sure') }%>
|
22
|
+
<% end %>
|
23
|
+
</td>
|
24
|
+
</tr>
|
25
|
+
<% end %>
|
26
|
+
</table>
|
27
|
+
<% else %>
|
28
|
+
<div id='users-address-list-empty'>
|
29
|
+
<%= t('spree.no_shipping_addresses_on_file') %>
|
30
|
+
</div>
|
31
|
+
<% end %>
|
32
|
+
|
33
|
+
<div id='new_address_link'>
|
34
|
+
<%= link_to t('spree.add_new_shipping_address'), new_address_path, class: 'btn primary' %>
|
35
|
+
</div>
|
36
|
+
</div>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
de:
|
2
|
+
address_book:
|
3
|
+
other_address: "Andere Adresse"
|
4
|
+
add_new_shipping_address: "Neue Versandadresse hinzufügen"
|
5
|
+
new_shipping_address: "Neue Versandadresse"
|
6
|
+
edit_shipping_address: "Versandadresse bearbeiten"
|
7
|
+
no_shipping_addresses_on_file: "Sie haben noch keine Versandadresse hinterlegt."
|
8
|
+
shipping_addresses: "Meine Versandadressen"
|
9
|
+
successfully_created: "Die Adresse wurde erfolgreich angelegt."
|
10
|
+
successfully_saved: "Die Adresse wurde erfolgreich gespeichert."
|
11
|
+
unsuccessfully_saved: "Es ist ein Fehler beim Speichern der Adresse aufgetreten."
|
12
|
+
successfully_updated: "Die Adresse wurde erfolgreich aktualisiert."
|
13
|
+
unsuccessfully_updated: "Es ist ein Fehler beim Aktualisieren der Adresse aufgetreten."
|
14
|
+
successfully_removed: "Die Adresse wurde erfolgreich entfernt."
|
15
|
+
save: "Speichern"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Sample localization file for English. Add more files in this directory for other locales.
|
2
|
+
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
3
|
+
|
4
|
+
en:
|
5
|
+
spree:
|
6
|
+
address_index: "Address #%{number}"
|
7
|
+
back_to_my_account: Back to My Account
|
8
|
+
continue_checkout: Continue with Checkout
|
9
|
+
other_address: "Other address"
|
10
|
+
add_new_shipping_address: "Add new address"
|
11
|
+
label: Label
|
12
|
+
new_shipping_address: "New Address"
|
13
|
+
edit_shipping_address: "Edit Address"
|
14
|
+
my_shipping_addresses: "My Addresses"
|
15
|
+
no_shipping_addresses_on_file: "No addresses on file"
|
16
|
+
shipping_addresses: "Addresses"
|
17
|
+
successfully_created: "Address has been successfully created."
|
18
|
+
successfully_removed: "Address has been successfully removed."
|
19
|
+
successfully_saved: "Saved successfully"
|
20
|
+
unsuccessfully_saved: "There was an error while trying to save your address."
|
21
|
+
successfully_updated: "Updated successfully"
|
22
|
+
unsuccessfully_updated: "There was an update while trying to update your address."
|
23
|
+
unsuccessfully_removed: There was an error while trying to remove the address.
|
24
|
+
save: "Save"
|
25
|
+
save_address: Save address
|
26
|
+
placeholder:
|
27
|
+
address:
|
28
|
+
label: Home, Work, etc
|
@@ -0,0 +1,13 @@
|
|
1
|
+
ru:
|
2
|
+
address_book:
|
3
|
+
other_address: "Другой адрес"
|
4
|
+
add_new_shipping_address: "Добавить новый адрес"
|
5
|
+
new_shipping_address: "Новый адрес"
|
6
|
+
edit_shipping_address: "Редактирование адреса"
|
7
|
+
no_shipping_addresses_on_file: "Вы пока не указали ни одного адреса"
|
8
|
+
shipping_addresses: "Адреса"
|
9
|
+
successfully_saved: "Успешно сохранен"
|
10
|
+
unsuccessfully_saved: "Возникла ошибка при попытке сохранить ваш адрес."
|
11
|
+
successfully_updated: "Успешно обновлён"
|
12
|
+
unsuccessfully_updated: "Возникла ошибка при попытке обновить ваш адрес."
|
13
|
+
save: "Сохранить"
|
data/config/routes.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddUserIdAndDeletedAtToAddresses < SolidusSupport::Migration[4.2]
|
4
|
+
def self.up
|
5
|
+
add_column :spree_addresses, :deleted_at, :datetime
|
6
|
+
add_reference :spree_addresses, :user, index: true
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.down
|
10
|
+
remove_column :spree_addresses, :deleted_at
|
11
|
+
remove_reference :spree_addresses, :user
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusAddressBook
|
4
|
+
module Generators
|
5
|
+
class InstallGenerator < Rails::Generators::Base
|
6
|
+
class_option :auto_run_migrations, type: :boolean, default: false
|
7
|
+
|
8
|
+
def add_javascripts
|
9
|
+
append_file "vendor/assets/javascripts/spree/frontend/all.js", "//= require spree/frontend/solidus_address_book\n"
|
10
|
+
end
|
11
|
+
|
12
|
+
def add_stylesheets
|
13
|
+
inject_into_file "vendor/assets/stylesheets/spree/frontend/all.css", " *= require spree/frontend/solidus_address_book\n", before: /\*\//, verbose: true
|
14
|
+
end
|
15
|
+
|
16
|
+
def add_migrations
|
17
|
+
run 'bundle exec rake railties:install:migrations FROM=solidus_address_book'
|
18
|
+
end
|
19
|
+
|
20
|
+
def run_migrations
|
21
|
+
res = options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask("Would you like to run the migrations now? [Y/n]"))
|
22
|
+
if res
|
23
|
+
run 'bundle exec rake db:migrate'
|
24
|
+
else
|
25
|
+
puts "Skiping rake db:migrate, don't forget to run it!"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusAddressBook
|
4
|
+
class Configuration < Spree::Preferences::Configuration
|
5
|
+
preference :disable_bill_address, :boolean, default: false
|
6
|
+
preference :alternative_billing_phone, :boolean, default: false # Request extra phone for billing addr
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolidusAddressBook
|
4
|
+
class Engine < Rails::Engine
|
5
|
+
isolate_namespace Spree
|
6
|
+
engine_name 'solidus_address_book'
|
7
|
+
|
8
|
+
config.autoload_paths += %W(#{config.root}/lib)
|
9
|
+
|
10
|
+
initializer "solidus_address_book.environment", before: :load_config_initializers do |app|
|
11
|
+
SolidusAddressBook::Config = SolidusAddressBook::Configuration.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.activate
|
15
|
+
Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
|
16
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
17
|
+
end
|
18
|
+
|
19
|
+
Spree::Ability.register_ability(Spree::AddressAbility)
|
20
|
+
end
|
21
|
+
|
22
|
+
config.to_prepare(&method(:activate).to_proc)
|
23
|
+
end
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,354 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: solidus_address_book
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jonathan Tapia
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-06-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: solidus
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.0'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '3'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2.0'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '3'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: solidus_auth_devise
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '2.0'
|
40
|
+
- - "<"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '3'
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '2.0'
|
50
|
+
- - "<"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '3'
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: solidus_support
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0'
|
60
|
+
type: :runtime
|
61
|
+
prerelease: false
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: deface
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '1.0'
|
74
|
+
type: :runtime
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '1.0'
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: discard
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '1.0'
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '1.0'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: capybara
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: capybara-screenshot
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '0'
|
116
|
+
type: :development
|
117
|
+
prerelease: false
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
- !ruby/object:Gem::Dependency
|
124
|
+
name: coffee-rails
|
125
|
+
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '0'
|
130
|
+
type: :development
|
131
|
+
prerelease: false
|
132
|
+
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - ">="
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
137
|
+
- !ruby/object:Gem::Dependency
|
138
|
+
name: database_cleaner
|
139
|
+
requirement: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0'
|
144
|
+
type: :development
|
145
|
+
prerelease: false
|
146
|
+
version_requirements: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
name: factory_bot
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - ">="
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
158
|
+
type: :development
|
159
|
+
prerelease: false
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - ">="
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '0'
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
name: ffaker
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - ">="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '0'
|
172
|
+
type: :development
|
173
|
+
prerelease: false
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - ">="
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '0'
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: poltergeist
|
181
|
+
requirement: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - ">="
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0'
|
186
|
+
type: :development
|
187
|
+
prerelease: false
|
188
|
+
version_requirements: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - ">="
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '0'
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: rspec-rails
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '0'
|
200
|
+
type: :development
|
201
|
+
prerelease: false
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
207
|
+
- !ruby/object:Gem::Dependency
|
208
|
+
name: rubocop
|
209
|
+
requirement: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - ">="
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
214
|
+
type: :development
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
requirements:
|
218
|
+
- - ">="
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: '0'
|
221
|
+
- !ruby/object:Gem::Dependency
|
222
|
+
name: rubocop-rspec
|
223
|
+
requirement: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - ">="
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '0'
|
228
|
+
type: :development
|
229
|
+
prerelease: false
|
230
|
+
version_requirements: !ruby/object:Gem::Requirement
|
231
|
+
requirements:
|
232
|
+
- - ">="
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: '0'
|
235
|
+
- !ruby/object:Gem::Dependency
|
236
|
+
name: sass-rails
|
237
|
+
requirement: !ruby/object:Gem::Requirement
|
238
|
+
requirements:
|
239
|
+
- - ">="
|
240
|
+
- !ruby/object:Gem::Version
|
241
|
+
version: '0'
|
242
|
+
type: :development
|
243
|
+
prerelease: false
|
244
|
+
version_requirements: !ruby/object:Gem::Requirement
|
245
|
+
requirements:
|
246
|
+
- - ">="
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
version: '0'
|
249
|
+
- !ruby/object:Gem::Dependency
|
250
|
+
name: simplecov
|
251
|
+
requirement: !ruby/object:Gem::Requirement
|
252
|
+
requirements:
|
253
|
+
- - ">="
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
version: '0'
|
256
|
+
type: :development
|
257
|
+
prerelease: false
|
258
|
+
version_requirements: !ruby/object:Gem::Requirement
|
259
|
+
requirements:
|
260
|
+
- - ">="
|
261
|
+
- !ruby/object:Gem::Version
|
262
|
+
version: '0'
|
263
|
+
- !ruby/object:Gem::Dependency
|
264
|
+
name: sqlite3
|
265
|
+
requirement: !ruby/object:Gem::Requirement
|
266
|
+
requirements:
|
267
|
+
- - ">="
|
268
|
+
- !ruby/object:Gem::Version
|
269
|
+
version: '0'
|
270
|
+
type: :development
|
271
|
+
prerelease: false
|
272
|
+
version_requirements: !ruby/object:Gem::Requirement
|
273
|
+
requirements:
|
274
|
+
- - ">="
|
275
|
+
- !ruby/object:Gem::Version
|
276
|
+
version: '0'
|
277
|
+
- !ruby/object:Gem::Dependency
|
278
|
+
name: puma
|
279
|
+
requirement: !ruby/object:Gem::Requirement
|
280
|
+
requirements:
|
281
|
+
- - ">="
|
282
|
+
- !ruby/object:Gem::Version
|
283
|
+
version: '0'
|
284
|
+
type: :development
|
285
|
+
prerelease: false
|
286
|
+
version_requirements: !ruby/object:Gem::Requirement
|
287
|
+
requirements:
|
288
|
+
- - ">="
|
289
|
+
- !ruby/object:Gem::Version
|
290
|
+
version: '0'
|
291
|
+
description: Adds address book for users to Spree
|
292
|
+
email:
|
293
|
+
executables: []
|
294
|
+
extensions: []
|
295
|
+
extra_rdoc_files: []
|
296
|
+
files:
|
297
|
+
- LICENSE
|
298
|
+
- README.md
|
299
|
+
- Rakefile
|
300
|
+
- app/assets/javascripts/spree/frontend/solidus_address_book.js.erb
|
301
|
+
- app/assets/stylesheets/spree/frontend/solidus_address_book.scss
|
302
|
+
- app/controllers/spree/addresses_controller.rb
|
303
|
+
- app/controllers/spree/checkout_controller_decorator.rb
|
304
|
+
- app/helpers/spree/addresses_helper.rb
|
305
|
+
- app/models/concerns/solidus_address_book/address.rb
|
306
|
+
- app/models/concerns/solidus_address_book/permitted_attributes_concern.rb
|
307
|
+
- app/models/permitted_attributes_decorator.rb
|
308
|
+
- app/models/spree/address_ability.rb
|
309
|
+
- app/models/spree/address_decorator.rb
|
310
|
+
- app/models/spree/order_decorator.rb
|
311
|
+
- app/models/spree/user_decorator.rb
|
312
|
+
- app/overrides/add_address_book_to_my_account.rb
|
313
|
+
- app/views/spree/addresses/_form.html.erb
|
314
|
+
- app/views/spree/addresses/destroy.js.erb
|
315
|
+
- app/views/spree/addresses/edit.html.erb
|
316
|
+
- app/views/spree/addresses/new.html.erb
|
317
|
+
- app/views/spree/checkout/_address.html.erb
|
318
|
+
- app/views/spree/users/_addresses.html.erb
|
319
|
+
- config/locales/de.yml
|
320
|
+
- config/locales/en.yml
|
321
|
+
- config/locales/pt-BR.yml
|
322
|
+
- config/locales/ru.yml
|
323
|
+
- config/routes.rb
|
324
|
+
- db/migrate/20110302102208_add_user_id_and_deleted_at_to_addresses.rb
|
325
|
+
- db/migrate/20190619191704_add_label_to_addresses.rb
|
326
|
+
- lib/generators/solidus_address_book/install_generator.rb
|
327
|
+
- lib/solidus_address_book.rb
|
328
|
+
- lib/solidus_address_book/configuration.rb
|
329
|
+
- lib/solidus_address_book/engine.rb
|
330
|
+
- lib/solidus_address_book/version.rb
|
331
|
+
homepage: http://github.com/jtapia/solidus_address_book
|
332
|
+
licenses: []
|
333
|
+
metadata: {}
|
334
|
+
post_install_message:
|
335
|
+
rdoc_options: []
|
336
|
+
require_paths:
|
337
|
+
- lib
|
338
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
339
|
+
requirements:
|
340
|
+
- - ">="
|
341
|
+
- !ruby/object:Gem::Version
|
342
|
+
version: '2.2'
|
343
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
344
|
+
requirements:
|
345
|
+
- - ">="
|
346
|
+
- !ruby/object:Gem::Version
|
347
|
+
version: '0'
|
348
|
+
requirements: []
|
349
|
+
rubyforge_project:
|
350
|
+
rubygems_version: 2.7.6
|
351
|
+
signing_key:
|
352
|
+
specification_version: 4
|
353
|
+
summary: Adds address book for users to Spree
|
354
|
+
test_files: []
|