spree 1.3.5 → 2.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of spree might be problematic. Click here for more details.
- checksums.yaml +14 -6
- data/README.md +153 -65
- data/lib/sandbox.sh +1 -1
- data/lib/spree.rb +3 -1
- metadata +48 -20
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YTgyMDc2NjEyNmQzY2JiNzljOTFlNjE1ZWQ4NTEzZjYxODE1ZmJiNw==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NTc1NTdhOWViM2Q4MDEwOTNmMzJmMDg0YTVhZjNlYjYyNGNlY2MzZQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NTA0ZTVhMzVjZjhiNjNiMmI2ZTcyZGRhNmZmMjhlODlmYjE1YWMzZDdjMzY0
|
10
|
+
OWIzODdkNDExNDY5YzE2MTlmMGU5ZWU5MDNhNTI0OWMzMjM4NTU2NDczMjMw
|
11
|
+
NjY0NDZhYWJkMDczOWMwOTg2MWUyM2E3YjY3MDAzMzk4MWQxYjA=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
OTRiNjQ3M2VjNDcyNTE3YmI2YTNmZDg1ZjQ1NTFjNWYzYmFjNmE1YTc4NGFl
|
14
|
+
ZWI4N2U4YmMzZmQzYjA3OGI0ZmNkOWM4ZjYzMzFkNWM4ZTBlYWUzODhlZTU0
|
15
|
+
NDVlNTY5ZmYwMWRlNzM5MzJlYTRiNzdhZmU2ODU0ZjM5NzgyZjg=
|
data/README.md
CHANGED
@@ -1,25 +1,34 @@
|
|
1
|
+
**THIS README IS FOR THE MASTER BRANCH OF SPREE AND REFLECTS THE WORK CURRENTLY
|
2
|
+
EXISTING ON THE MASTER BRANCH. IF YOU ARE WISHING TO USE A NON-MASTER BRANCH OF
|
3
|
+
SPREE, PLEASE CONSULT THAT BRANCH'S README AND NOT THIS ONE.**
|
4
|
+
|
1
5
|
SUMMARY
|
2
6
|
-------
|
3
7
|
|
4
8
|
|
5
|
-
Spree is a complete open source e-commerce solution built with Ruby on Rails.
|
6
|
-
and is now maintained by a dedicated
|
7
|
-
|
9
|
+
Spree is a complete open source e-commerce solution built with Ruby on Rails. It
|
10
|
+
was originally developed by Sean Schofield and is now maintained by a dedicated
|
11
|
+
[core team](https://github.com/spree/spree/wiki/Core-Team). You can find out more by
|
12
|
+
visiting the [Spree e-commerce project page](http://spreecommerce.com).
|
8
13
|
|
9
|
-
Spree actually consists of several different gems, each of which are maintained
|
10
|
-
in a single
|
11
|
-
|
14
|
+
Spree actually consists of several different gems, each of which are maintained
|
15
|
+
in a single repository and documented in a single set of
|
16
|
+
[online documentation](http://spreecommerce.com/documentation). By requiring the
|
17
|
+
Spree gem you automatically require all of the necessary gem dependencies which are:
|
12
18
|
|
13
|
-
* spree_api
|
14
|
-
*
|
15
|
-
*
|
16
|
-
*
|
17
|
-
*
|
18
|
-
*
|
19
|
+
* spree_api (RESTful API)
|
20
|
+
* spree_frontend (User-facing components)
|
21
|
+
* spree_backend (Admin area)
|
22
|
+
* spree_cmd (Command-line tools)
|
23
|
+
* spree_core (Models & Mailers, the basic components of Spree that it can't run without)
|
24
|
+
* spree_dash (Analytics dashboard, depends on backend)
|
25
|
+
* spree_sample (Sample data)
|
19
26
|
|
20
|
-
All of the gems are designed to work together to provide a fully functional
|
21
|
-
however, to use only the pieces you are
|
22
|
-
|
27
|
+
All of the gems are designed to work together to provide a fully functional
|
28
|
+
e-commerce platform. It is also possible, however, to use only the pieces you are
|
29
|
+
interested in. So for example, you could use just the barebones spree\_core gem
|
30
|
+
and perhaps combine it with your own custom promotion scheme instead of using
|
31
|
+
spree_promo.
|
23
32
|
|
24
33
|
[![Code Climate](https://codeclimate.com/github/spree/spree.png)](https://codeclimate.com/github/spree/spree)
|
25
34
|
|
@@ -29,53 +38,104 @@ Installation
|
|
29
38
|
The fastest way to get started is by using the spree command line tool
|
30
39
|
available in the spree gem which will add Spree to an existing Rails application.
|
31
40
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
41
|
+
```shell
|
42
|
+
gem install rails -v 3.2.13
|
43
|
+
gem install spree
|
44
|
+
rails _3.2.13_ new my_store
|
45
|
+
spree install my_store
|
46
|
+
```
|
36
47
|
|
37
|
-
This will add the Spree gem to your Gemfile, create initializers, copy migrations
|
38
|
-
optionally generate sample products and orders.
|
48
|
+
This will add the Spree gem to your Gemfile, create initializers, copy migrations
|
49
|
+
and optionally generate sample products and orders.
|
39
50
|
|
40
|
-
If you get an "Unable to resolve dependencies" error when installing the Spree gem
|
51
|
+
If you get an "Unable to resolve dependencies" error when installing the Spree gem
|
52
|
+
then you can try installing just the spree_cmd gem which should avoid any circular
|
53
|
+
dependency issues.
|
41
54
|
|
42
|
-
|
55
|
+
```shell
|
56
|
+
gem install spree_cmd
|
57
|
+
```
|
43
58
|
|
44
59
|
To auto accept all prompts while running the install generator, pass -A as an option
|
45
60
|
|
46
|
-
|
61
|
+
```shell
|
62
|
+
spree install my_store -A
|
63
|
+
```
|
47
64
|
|
48
|
-
Using
|
65
|
+
Using stable builds and bleeding edge
|
49
66
|
-------------
|
50
67
|
|
51
|
-
|
68
|
+
To use a stable build of Spree, you can manually add Spree to your
|
69
|
+
Rails 3.2.x application. To use the 1-3-stable branch of Spree, add this line to
|
52
70
|
your Gemfile.
|
53
71
|
|
54
72
|
```ruby
|
55
|
-
gem 'spree', :
|
73
|
+
gem 'spree', github: 'spree/spree', branch: '1-3-stable'
|
56
74
|
```
|
57
75
|
|
58
|
-
|
76
|
+
Alternatively, if you want to use the bleeding edge version of Spree, use this
|
77
|
+
line:
|
59
78
|
|
60
|
-
|
79
|
+
```ruby
|
80
|
+
gem 'spree', github: 'spree/spree'
|
81
|
+
```
|
82
|
+
|
83
|
+
**Note: The master branch is not guaranteed to ever be in a fully functioning
|
84
|
+
state. It is unwise to use this branch in a production system you care deeply
|
85
|
+
about.**
|
61
86
|
|
62
|
-
|
63
|
-
|
87
|
+
If you wish to have authentication included also, you will need to add the
|
88
|
+
`spree_auth_devise` gem as well. Either this:
|
64
89
|
|
65
|
-
|
90
|
+
```ruby
|
91
|
+
gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: '1-3-stable'
|
92
|
+
```
|
93
|
+
|
94
|
+
Or this:
|
95
|
+
|
96
|
+
```ruby
|
97
|
+
gem 'spree_auth_devise', github: 'spree/spree_auth_devise'
|
98
|
+
```
|
99
|
+
|
100
|
+
Once you've done that, then you can install these gems using this command:
|
101
|
+
|
102
|
+
```shell
|
103
|
+
bundle install
|
104
|
+
```
|
105
|
+
|
106
|
+
Use the install generator to set up Spree:
|
107
|
+
|
108
|
+
```shell
|
109
|
+
rails g spree:install --sample=false --seed=false
|
110
|
+
```
|
111
|
+
|
112
|
+
At this point, if you are using spree_auth_devise you will need to change this
|
113
|
+
line in `config/initializers/spree.rb`:
|
114
|
+
|
115
|
+
```ruby
|
116
|
+
Spree.user_class = "Spree::LegacyUser"
|
117
|
+
```
|
66
118
|
|
67
|
-
|
119
|
+
To this:
|
68
120
|
|
69
|
-
|
121
|
+
```ruby
|
122
|
+
Spree.user_class = "Spree::User"
|
123
|
+
```
|
70
124
|
|
71
|
-
You can
|
125
|
+
You can avoid running migrations or generating seed and sample data by passing
|
126
|
+
in these flags:
|
72
127
|
|
73
|
-
|
74
|
-
|
128
|
+
```shell
|
129
|
+
rails g spree:install --migrate=false --sample=false --seed=false
|
130
|
+
```
|
75
131
|
|
76
|
-
|
132
|
+
You can always perform the steps later by using these commands.
|
77
133
|
|
78
|
-
|
134
|
+
```shell
|
135
|
+
bundle exec rake db:migrate
|
136
|
+
bundle exec rake db:seed
|
137
|
+
bundle exec rake spree_sample:load
|
138
|
+
```
|
79
139
|
|
80
140
|
Browse Store
|
81
141
|
------------
|
@@ -92,68 +152,95 @@ http://localhost:nnnn/admin
|
|
92
152
|
Working with the edge source (latest and greatest features)
|
93
153
|
-----------------------------------------------------------
|
94
154
|
|
95
|
-
The source code is essentially a collection of gems.
|
155
|
+
The source code is essentially a collection of gems. Spree is meant to be run
|
156
|
+
within the context of Rails application. You can easily create a sandbox
|
157
|
+
application inside of your cloned source directory for testing purposes.
|
96
158
|
|
97
159
|
|
98
160
|
1. Clone the Git repo
|
99
161
|
|
100
|
-
|
101
|
-
|
162
|
+
```shell
|
163
|
+
git clone git://github.com/spree/spree.git
|
164
|
+
cd spree
|
165
|
+
```
|
102
166
|
|
103
167
|
2. Install the gem dependencies
|
104
168
|
|
105
|
-
|
169
|
+
```shell
|
170
|
+
bundle install
|
171
|
+
```
|
106
172
|
|
107
|
-
3. Create a sandbox Rails application for testing purposes (and automatically
|
173
|
+
3. Create a sandbox Rails application for testing purposes (and automatically
|
174
|
+
perform all necessary database setup)
|
108
175
|
|
109
|
-
|
176
|
+
```shell
|
177
|
+
bundle exec rake sandbox
|
178
|
+
```
|
110
179
|
|
111
180
|
4. Start the server
|
112
181
|
|
113
|
-
|
114
|
-
|
182
|
+
```shell
|
183
|
+
cd sandbox
|
184
|
+
rails server
|
185
|
+
```
|
115
186
|
|
116
187
|
Performance
|
117
188
|
-----------
|
118
189
|
|
119
|
-
You may noticed that your Spree store runs slowly in development mode. This is
|
190
|
+
You may noticed that your Spree store runs slowly in development mode. This is
|
191
|
+
a side-effect of how Rails works in development mode which is to continuous reload
|
192
|
+
your Ruby objects on each request. The introduction of the asset pipeline in
|
193
|
+
Rails 3.1 made default performance in development mode significantly worse. There
|
194
|
+
are, however, a few tricks to speeding up performance in development mode.
|
120
195
|
|
121
196
|
You can recompile your assets as follows:
|
122
197
|
|
123
|
-
|
198
|
+
```shell
|
199
|
+
bundle exec rake assets:precompile:nondigest
|
200
|
+
```
|
124
201
|
|
125
|
-
If you want to remove precompiled assets (recommended before you commit to Git
|
202
|
+
If you want to remove precompiled assets (recommended before you commit to Git
|
203
|
+
and push your changes) use the following rake task:
|
126
204
|
|
127
|
-
|
205
|
+
```shell
|
206
|
+
bundle exec rake assets:clean
|
207
|
+
```
|
128
208
|
|
129
209
|
Use Dedicated Spree Devise Authentication
|
130
210
|
-----------------------------------------
|
131
211
|
Add the following to your Gemfile
|
132
212
|
|
133
|
-
|
213
|
+
```ruby
|
214
|
+
gem 'spree_auth_devise', github: 'spree/spree_auth_devise'
|
215
|
+
```
|
134
216
|
|
135
|
-
Then run `bundle install`. Authentication will then work exactly as it did in
|
217
|
+
Then run `bundle install`. Authentication will then work exactly as it did in
|
218
|
+
previous versions of Spree.
|
136
219
|
|
137
220
|
This line is automatically added by the `spree install` command.
|
138
221
|
|
139
|
-
If you're installing this in a new Spree 1.2+ application, you'll need to install
|
222
|
+
If you're installing this in a new Spree 1.2+ application, you'll need to install
|
223
|
+
and run the migrations with
|
140
224
|
|
141
|
-
|
142
|
-
|
225
|
+
```shell
|
226
|
+
bundle exec rake spree_auth:install:migrations
|
227
|
+
bundle exec rake db:migrate
|
228
|
+
```
|
143
229
|
|
144
230
|
change the following line in `config/initializers/spree.rb`
|
145
231
|
```ruby
|
146
|
-
Spree.user_class =
|
232
|
+
Spree.user_class = 'Spree::LegacyUser'
|
147
233
|
```
|
148
234
|
to
|
149
235
|
```ruby
|
150
|
-
Spree.user_class =
|
236
|
+
Spree.user_class = 'Spree::User'
|
151
237
|
```
|
152
238
|
|
153
239
|
In order to set up the admin user for the application you should then run:
|
154
240
|
|
155
|
-
|
156
|
-
|
241
|
+
```shell
|
242
|
+
bundle exec rake spree_auth:admin:create
|
243
|
+
```
|
157
244
|
|
158
245
|
Running Tests
|
159
246
|
-------------
|
@@ -166,10 +253,9 @@ You can see the build statuses at [http://ci.spreecommerce.com](http://ci.spreec
|
|
166
253
|
|
167
254
|
---
|
168
255
|
|
169
|
-
Each gem contains its own series of tests, and for each directory, you need to
|
170
|
-
creation of a test application and then you can use it to run
|
171
|
-
tests for the core project.
|
172
|
-
|
256
|
+
Each gem contains its own series of tests, and for each directory, you need to
|
257
|
+
do a quick one-time creation of a test application and then you can use it to run
|
258
|
+
the tests. For example, to run the tests for the core project.
|
173
259
|
```shell
|
174
260
|
cd core
|
175
261
|
bundle exec rake test_app
|
@@ -206,4 +292,6 @@ bash build.sh
|
|
206
292
|
Contributing
|
207
293
|
------------
|
208
294
|
|
209
|
-
Spree is an open source project and we encourage contributions.
|
295
|
+
Spree is an open source project and we encourage contributions. Please see the
|
296
|
+
[contributors guidelines](http://spreecommerce.com/documentation/contributing_to_spree.html)
|
297
|
+
before contributing.
|
data/lib/sandbox.sh
CHANGED
@@ -10,7 +10,7 @@ fi
|
|
10
10
|
|
11
11
|
cd ./sandbox
|
12
12
|
echo "gem 'spree', :path => '..'" >> Gemfile
|
13
|
-
echo "gem 'spree_auth_devise', :github => 'spree/spree_auth_devise'
|
13
|
+
echo "gem 'spree_auth_devise', :github => 'spree/spree_auth_devise'" >> Gemfile
|
14
14
|
|
15
15
|
bundle install --gemfile Gemfile
|
16
16
|
bundle exec rails g spree:install --auto-accept --user_class=Spree::User
|
data/lib/spree.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2013-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|
@@ -16,71 +16,99 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.0.0.rc1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.0.0.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: spree_api
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.0.0.rc1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.0.0.rc1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: spree_backend
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 2.0.0.rc1
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 2.0.0.rc1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: spree_dash
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - '='
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
61
|
+
version: 2.0.0.rc1
|
48
62
|
type: :runtime
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - '='
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
68
|
+
version: 2.0.0.rc1
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
70
|
+
name: spree_frontend
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 2.0.0.rc1
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.0.0.rc1
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: spree_sample
|
57
85
|
requirement: !ruby/object:Gem::Requirement
|
58
86
|
requirements:
|
59
87
|
- - '='
|
60
88
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
89
|
+
version: 2.0.0.rc1
|
62
90
|
type: :runtime
|
63
91
|
prerelease: false
|
64
92
|
version_requirements: !ruby/object:Gem::Requirement
|
65
93
|
requirements:
|
66
94
|
- - '='
|
67
95
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
96
|
+
version: 2.0.0.rc1
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: spree_cmd
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
72
100
|
requirements:
|
73
101
|
- - '='
|
74
102
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
103
|
+
version: 2.0.0.rc1
|
76
104
|
type: :runtime
|
77
105
|
prerelease: false
|
78
106
|
version_requirements: !ruby/object:Gem::Requirement
|
79
107
|
requirements:
|
80
108
|
- - '='
|
81
109
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
83
|
-
description: 'Spree is an open source e-commerce framework for Ruby on Rails. Join
|
110
|
+
version: 2.0.0.rc1
|
111
|
+
description: ! 'Spree is an open source e-commerce framework for Ruby on Rails. Join
|
84
112
|
us on the spree-user google group or in #spree on IRC'
|
85
113
|
email: sean@spreecommerce.com
|
86
114
|
executables: []
|
@@ -100,18 +128,18 @@ require_paths:
|
|
100
128
|
- lib
|
101
129
|
required_ruby_version: !ruby/object:Gem::Requirement
|
102
130
|
requirements:
|
103
|
-
- -
|
131
|
+
- - ! '>='
|
104
132
|
- !ruby/object:Gem::Version
|
105
|
-
version: 1.
|
133
|
+
version: 1.9.3
|
106
134
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
135
|
requirements:
|
108
|
-
- -
|
136
|
+
- - ! '>='
|
109
137
|
- !ruby/object:Gem::Version
|
110
|
-
version: 1.
|
138
|
+
version: 1.8.25
|
111
139
|
requirements:
|
112
140
|
- none
|
113
141
|
rubyforge_project:
|
114
|
-
rubygems_version: 2.
|
142
|
+
rubygems_version: 2.0.3
|
115
143
|
signing_key:
|
116
144
|
specification_version: 4
|
117
145
|
summary: Full-stack e-commerce framework for Ruby on Rails.
|