solidus_dev_support 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/README.md +22 -3
- data/lib/solidus_dev_support/templates/extension/README.md +24 -1
- data/lib/solidus_dev_support/templates/extension/bin/r.tt +13 -0
- data/lib/solidus_dev_support/templates/extension/bin/sandbox.tt +13 -2
- data/lib/solidus_dev_support/templates/extension/bin/{rails → sandbox_rails} +0 -0
- data/lib/solidus_dev_support/templates/extension/gitignore +1 -0
- data/lib/solidus_dev_support/templates/extension/lib/%file_name%/engine.rb.tt +1 -0
- data/lib/solidus_dev_support/templates/extension/lib/generators/%file_name%/install/install_generator.rb.tt +5 -5
- data/lib/solidus_dev_support/templates/extension/rubocop.yml +5 -0
- data/lib/solidus_dev_support/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba24e6dd743046ef4acfa3d5a9f1fe1308f4d2ff5175ca6ace8b537529e4309d
|
4
|
+
data.tar.gz: 0716f96e176e807aa910408e62b930da5719cd7bc2703b03a1a764230f90b76c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b9bf1dc55fb744fe1f0aa39ef72a01bb6abc3429530d1b11122afdf71b8ff135e1be280465077f68590eb84c505588cb258602e8ce36ede76511a5008dc075d
|
7
|
+
data.tar.gz: f73be0985dc2937ffd5380019834b578533f31e014c6d22296c0b52b04e4bee12d2b3c8747ddb6114115e8f1c03afe3880bb6ec4befbe63d01da2aa42a337963
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project
|
6
6
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
7
|
|
8
|
+
## [Unreleased]
|
9
|
+
|
10
|
+
### Added
|
11
|
+
|
12
|
+
- Made Git ignore `sandbox` in generated extensions
|
13
|
+
- Added support for specifying `SOLIDUS_BRANCH` in the sandbox
|
14
|
+
|
15
|
+
### Changed
|
16
|
+
|
17
|
+
- Split `bin/rails` into `bin/r` and `bin/sandbox_rails`
|
18
|
+
|
19
|
+
### Fixed
|
20
|
+
|
21
|
+
- Fixed the sandbox Gemfile not including Solidus
|
22
|
+
|
8
23
|
## [1.0.1] - 2020-02-17
|
9
24
|
|
10
25
|
### Fixed
|
data/README.md
CHANGED
@@ -50,16 +50,16 @@ sense to you.
|
|
50
50
|
### Sandbox app
|
51
51
|
|
52
52
|
When developing an extension you will surely need to try it out within a Rails app with Solidus
|
53
|
-
installed. Using solidus_dev_support your extension will have a `bin/
|
53
|
+
installed. Using solidus_dev_support your extension will have a `bin/sandbox_rails` executable that will
|
54
54
|
operate on a _sandbox_ app (creating it if necessary).
|
55
55
|
|
56
|
-
The path for the sandbox app is `./sandbox` and `bin/
|
56
|
+
The path for the sandbox app is `./sandbox` and `bin/sandbox_rails` will forward any Rails command
|
57
57
|
to `sandbox/bin/rails`.
|
58
58
|
|
59
59
|
Example:
|
60
60
|
|
61
61
|
```bash
|
62
|
-
$ bin/
|
62
|
+
$ bin/sandbox_rails server
|
63
63
|
=> Booting Puma
|
64
64
|
=> Rails 6.0.2.1 application starting in development
|
65
65
|
* Listening on tcp://127.0.0.1:3000
|
@@ -69,6 +69,25 @@ Use Ctrl-C to stop
|
|
69
69
|
#### Rebuilding the sandbox app
|
70
70
|
|
71
71
|
To rebuild the sandbox app just remove the `./sandbox` folder or run `bin/sandbox`.
|
72
|
+
You can control the DB adapter and Solidus version used with the sandbox by providing
|
73
|
+
the `DB` and `SOLIDUS_BRANCH` env variables.
|
74
|
+
|
75
|
+
```bash
|
76
|
+
DB=[postgres|mysql|sqlite] SOLIDUS_BRANCH=<BRANCH-NAME> bin/sandbox
|
77
|
+
```
|
78
|
+
|
79
|
+
By default we use sqlite3 and the master branch.
|
80
|
+
|
81
|
+
### Rails generators
|
82
|
+
|
83
|
+
Your extension will have a `bin/r` executable that you can use for generating models, migrations
|
84
|
+
etc. It's the same as the default `rails` command in Rails engines.
|
85
|
+
|
86
|
+
Example:
|
87
|
+
|
88
|
+
```bash
|
89
|
+
$ bin/r generate migration AddStoreIdToProducts
|
90
|
+
```
|
72
91
|
|
73
92
|
### RSpec helpers
|
74
93
|
|
@@ -22,13 +22,19 @@ bundle exec rails g <%= file_name %>:install
|
|
22
22
|
Testing
|
23
23
|
-------
|
24
24
|
|
25
|
-
First bundle your dependencies, then run `rake`. `rake` will default to building the dummy app if it does not exist, then it will run specs
|
25
|
+
First bundle your dependencies, then run `bin/rake`. `bin/rake` will default to building the dummy app if it does not exist, then it will run specs. The dummy app can be regenerated by using `bin/rake extension:test_app`.
|
26
26
|
|
27
27
|
```shell
|
28
28
|
bundle
|
29
29
|
bin/rake
|
30
30
|
```
|
31
31
|
|
32
|
+
To run [Rubocop](https://github.com/bbatsov/rubocop) static code analysis run
|
33
|
+
|
34
|
+
```shell
|
35
|
+
bundle exec rubocop
|
36
|
+
```
|
37
|
+
|
32
38
|
When testing your application's integration with this extension you may use its factories.
|
33
39
|
Simply add this require statement to your spec_helper:
|
34
40
|
|
@@ -36,6 +42,23 @@ Simply add this require statement to your spec_helper:
|
|
36
42
|
require '<%= file_name %>/factories'
|
37
43
|
```
|
38
44
|
|
45
|
+
Sandbox app
|
46
|
+
-----------
|
47
|
+
|
48
|
+
To run this extension in a sandboxed Solidus application you can run `bin/sandbox`
|
49
|
+
The path for the sandbox app is `./sandbox` and `bin/rails` will forward any Rails command
|
50
|
+
to `sandbox/bin/rails`.
|
51
|
+
|
52
|
+
Example:
|
53
|
+
|
54
|
+
```shell
|
55
|
+
$ bin/rails server
|
56
|
+
=> Booting Puma
|
57
|
+
=> Rails 6.0.2.1 application starting in development
|
58
|
+
* Listening on tcp://127.0.0.1:3000
|
59
|
+
Use Ctrl-C to stop
|
60
|
+
```
|
61
|
+
|
39
62
|
Releasing
|
40
63
|
---------
|
41
64
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# This command will automatically be run when you run "rails" with Rails gems
|
3
|
+
# installed from the root of your application.
|
4
|
+
|
5
|
+
ENGINE_ROOT = File.expand_path('..', __dir__)
|
6
|
+
ENGINE_PATH = File.expand_path('../lib/<%=file_name%>/engine', __dir__)
|
7
|
+
|
8
|
+
# Set up gems listed in the Gemfile.
|
9
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
10
|
+
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
11
|
+
|
12
|
+
require 'rails/all'
|
13
|
+
require 'rails/engine/commands'
|
@@ -18,6 +18,13 @@ sqlite|'')
|
|
18
18
|
;;
|
19
19
|
esac
|
20
20
|
|
21
|
+
if [ ! -z $SOLIDUS_BRANCH ]
|
22
|
+
then
|
23
|
+
BRANCH=$SOLIDUS_BRANCH
|
24
|
+
else
|
25
|
+
BRANCH="master"
|
26
|
+
fi
|
27
|
+
|
21
28
|
extension_name="<%= file_name %>"
|
22
29
|
|
23
30
|
# Stay away from the bundler env of the containing extension.
|
@@ -42,12 +49,13 @@ fi
|
|
42
49
|
|
43
50
|
cd ./sandbox
|
44
51
|
cat <<RUBY >> Gemfile
|
45
|
-
|
46
|
-
gem '$extension_name', path: '..'
|
52
|
+
gem 'solidus', github: 'solidusio/solidus', branch: '$BRANCH'
|
47
53
|
gem 'solidus_auth_devise', '>= 2.1.0'
|
48
54
|
gem 'rails-i18n'
|
49
55
|
gem 'solidus_i18n'
|
50
56
|
|
57
|
+
gem '$extension_name', path: '..'
|
58
|
+
|
51
59
|
group :test, :development do
|
52
60
|
platforms :mri do
|
53
61
|
gem 'pry-byebug'
|
@@ -69,4 +77,7 @@ unbundled bundle exec rails generate solidus:auth:install
|
|
69
77
|
|
70
78
|
echo
|
71
79
|
echo "🚀 Sandbox app successfully created for $extension_name!"
|
80
|
+
echo "🚀 Using $RAILSDB and Solidus $BRANCH"
|
81
|
+
echo "🚀 Use 'export DB=[postgres|mysql|sqlite]' to control the DB adapter"
|
82
|
+
echo "🚀 Use 'export SOLIDUS_BRANCH=<BRANCH-NAME>' to control the Solidus version"
|
72
83
|
echo "🚀 This app is intended for test purposes."
|
File without changes
|
@@ -6,13 +6,13 @@ module <%= class_name %>
|
|
6
6
|
class_option :auto_run_migrations, type: :boolean, default: false
|
7
7
|
|
8
8
|
def add_javascripts
|
9
|
-
append_file 'vendor/assets/javascripts/spree/frontend/all.js', "//= require spree/frontend/<%= file_name %>\n"
|
10
|
-
append_file 'vendor/assets/javascripts/spree/backend/all.js', "//= require spree/backend/<%= file_name %>\n"
|
9
|
+
append_file 'vendor/assets/javascripts/spree/frontend/all.js', "//= require spree/frontend/<%= file_name %>\n" # rubocop:disable Metrics/LineLength
|
10
|
+
append_file 'vendor/assets/javascripts/spree/backend/all.js', "//= require spree/backend/<%= file_name %>\n" # rubocop:disable Metrics/LineLength
|
11
11
|
end
|
12
12
|
|
13
13
|
def add_stylesheets
|
14
|
-
inject_into_file 'vendor/assets/stylesheets/spree/frontend/all.css', " *= require spree/frontend/<%= file_name %>\n", before: %r{\*/}, verbose: true
|
15
|
-
inject_into_file 'vendor/assets/stylesheets/spree/backend/all.css', " *= require spree/backend/<%= file_name %>\n", before: %r{\*/}, verbose: true
|
14
|
+
inject_into_file 'vendor/assets/stylesheets/spree/frontend/all.css', " *= require spree/frontend/<%= file_name %>\n", before: %r{\*/}, verbose: true # rubocop:disable Metrics/LineLength
|
15
|
+
inject_into_file 'vendor/assets/stylesheets/spree/backend/all.css', " *= require spree/backend/<%= file_name %>\n", before: %r{\*/}, verbose: true # rubocop:disable Metrics/LineLength
|
16
16
|
end
|
17
17
|
|
18
18
|
def add_migrations
|
@@ -20,7 +20,7 @@ module <%= class_name %>
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def run_migrations
|
23
|
-
run_migrations = options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask('Would you like to run the migrations now? [Y/n]'))
|
23
|
+
run_migrations = options[:auto_run_migrations] || ['', 'y', 'Y'].include?(ask('Would you like to run the migrations now? [Y/n]')) # rubocop:disable Metrics/LineLength
|
24
24
|
if run_migrations
|
25
25
|
run 'bin/rails db:migrate'
|
26
26
|
else
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_dev_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alessandro Desantis
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: apparition
|
@@ -330,9 +330,10 @@ files:
|
|
330
330
|
- lib/solidus_dev_support/templates/extension/app/assets/stylesheets/spree/backend/%file_name%.css
|
331
331
|
- lib/solidus_dev_support/templates/extension/app/assets/stylesheets/spree/frontend/%file_name%.css
|
332
332
|
- lib/solidus_dev_support/templates/extension/bin/console.tt
|
333
|
-
- lib/solidus_dev_support/templates/extension/bin/
|
333
|
+
- lib/solidus_dev_support/templates/extension/bin/r.tt
|
334
334
|
- lib/solidus_dev_support/templates/extension/bin/rake
|
335
335
|
- lib/solidus_dev_support/templates/extension/bin/sandbox.tt
|
336
|
+
- lib/solidus_dev_support/templates/extension/bin/sandbox_rails
|
336
337
|
- lib/solidus_dev_support/templates/extension/bin/setup
|
337
338
|
- lib/solidus_dev_support/templates/extension/config/locales/en.yml
|
338
339
|
- lib/solidus_dev_support/templates/extension/config/routes.rb
|