alchemy_spree 0.3.0 → 1.0.0.beta
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/README.md +96 -18
- data/alchemy_spree.gemspec +3 -3
- data/lib/alchemy/spree/ability.rb +1 -2
- data/{app/models/alchemy/user_decorator.rb → lib/alchemy/spree/alchemy_user_decorator.rb} +0 -1
- data/lib/alchemy/spree/engine.rb +0 -5
- data/lib/alchemy/spree/spree_user_decorator.rb +10 -0
- data/lib/alchemy/spree/version.rb +1 -1
- metadata +20 -15
- data/db/migrate/20131029215548_add_spree_fields_to_custom_user_table.rb +0 -7
- data/lib/spree/authentication_helpers.rb +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c85623e15a5d44f28558ce70f514589423e5418c
|
4
|
+
data.tar.gz: faeeec7cef1249a91eaa03bfba29f35f7c577198
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 300e1ba2611427bf96a7a697485d2d7a5fd9cd65821a48ba2102b8ef81c391d37dc0b36ef0e34ea2e9f182ae6df071346379dc6b0d11212e1e4c243a152e852f
|
7
|
+
data.tar.gz: e49b7e103f6341e765ca5e2e6c82b460815968c098744a017a662c98f768f15845282af4d84a5d43f8cf91c2a90b8fedc0067d5a2ca630ccf3589567e536c95b
|
data/README.md
CHANGED
@@ -18,7 +18,7 @@ This version runs with Spreecommerce 2.1 and above.
|
|
18
18
|
|
19
19
|
## Alchemy
|
20
20
|
|
21
|
-
This version runs with Alchemy 3.0
|
21
|
+
This version runs with Alchemy 3.0 and above.
|
22
22
|
|
23
23
|
## Installation
|
24
24
|
|
@@ -28,48 +28,126 @@ Add this line to your application's Gemfile:
|
|
28
28
|
gem 'alchemy_spree', github: 'magiclabs/alchemy_spree', branch: 'master'
|
29
29
|
```
|
30
30
|
|
31
|
-
|
31
|
+
Install the gem with:
|
32
32
|
|
33
|
-
```
|
34
|
-
$ bundle
|
33
|
+
```shell
|
34
|
+
$ bundle install
|
35
35
|
```
|
36
36
|
|
37
|
-
|
37
|
+
### Authentication system installation
|
38
38
|
|
39
|
-
|
40
|
-
$ rake alchemy_spree:install:migrations
|
41
|
-
```
|
39
|
+
Both Alchemy 3.0 and Spree come without an authentication system in place. You will need to choose an authentication system yourself. There are 3 available options. Whichever you choose, you need to instruct Spree & Alchemy about your choice of authentication system.
|
42
40
|
|
43
|
-
|
41
|
+
Here are the steps for each option:
|
44
42
|
|
45
|
-
|
46
|
-
|
43
|
+
#### 1. Option: Use [Spree Auth Devise](https://github.com/spree/spree_auth_devise)
|
44
|
+
|
45
|
+
**Recommended for:**
|
46
|
+
- An existing Spree installation (`gem 'spree_auth_devise'` should already be in your Gemfile).
|
47
|
+
- You are just adding Alchemy
|
48
|
+
|
49
|
+
To use Spree Auth Devise, instruct Alchemy to use the `Spree::User` class:
|
50
|
+
|
51
|
+
```ruby
|
52
|
+
# config/initializers/alchemy.rb
|
53
|
+
|
54
|
+
# Tell Alchemy to use the Spree::User class
|
55
|
+
Alchemy.user_class_name = 'Spree::User'
|
56
|
+
Alchemy.current_user_method = :spree_current_user
|
57
|
+
|
58
|
+
# Load the Spree.user_class decorator for Alchemy roles
|
59
|
+
require 'alchemy/spree/spree_user_decorator'
|
60
|
+
|
61
|
+
# Include the Spree controller helpers to render the
|
62
|
+
# alchemy pages within the default Spree layout
|
63
|
+
Alchemy::BaseHelper.send :include, Spree::BaseHelper
|
64
|
+
Alchemy::BaseController.send :include, Spree::Core::ControllerHelpers::Common
|
65
|
+
Alchemy::BaseController.send :include, Spree::Core::ControllerHelpers::Store
|
47
66
|
```
|
48
67
|
|
49
|
-
|
68
|
+
#### 2. Option: Use [Alchemy Devise](https://github.com/magiclabs/alchemy-devise)
|
50
69
|
|
51
|
-
|
70
|
+
**Recommended for:**
|
71
|
+
- An existing Alchemy installation
|
72
|
+
- You don't have an authentication system and don't want to role an authentication system on your own.
|
52
73
|
|
53
|
-
|
74
|
+
Add `alchemy-devise` to your `Gemfile`
|
54
75
|
|
55
76
|
```ruby
|
56
77
|
# Gemfile
|
57
78
|
gem 'alchemy-devise', '~> 2.0'
|
58
79
|
```
|
59
80
|
|
60
|
-
|
81
|
+
and install it:
|
61
82
|
|
62
|
-
```
|
63
|
-
$ bundle
|
83
|
+
```shell
|
84
|
+
$ bundle install
|
85
|
+
$ bundle exec rails g alchemy:devise:install
|
86
|
+
```
|
87
|
+
|
88
|
+
Run the Spree installer:
|
89
|
+
|
90
|
+
*NOTE*: Skip this if you already have a running Spree installation.
|
91
|
+
|
92
|
+
```shell
|
93
|
+
$ bundle exec rails g spree:install
|
64
94
|
```
|
65
95
|
|
66
|
-
|
96
|
+
Then run the spree custom user generator:
|
97
|
+
|
98
|
+
```shell
|
99
|
+
$ bundle exec rails g spree:custom_user Alchemy::User
|
100
|
+
```
|
101
|
+
|
102
|
+
Now you'll need to instruct Spree to use the Alchemy User class:
|
67
103
|
|
68
104
|
```ruby
|
69
105
|
# config/initializers/spree.rb
|
106
|
+
...
|
70
107
|
Spree.user_class = "Alchemy::User"
|
108
|
+
require 'alchemy/spree/alchemy_user_decorator'
|
109
|
+
...
|
71
110
|
```
|
72
111
|
|
112
|
+
and tell Spree about Alchemy's path helpers:
|
113
|
+
|
114
|
+
```ruby
|
115
|
+
# lib/spree/authentication_helpers.rb
|
116
|
+
...
|
117
|
+
def spree_login_path
|
118
|
+
alchemy.login_path
|
119
|
+
end
|
120
|
+
|
121
|
+
def spree_signup_path
|
122
|
+
alchemy.signup_path
|
123
|
+
end
|
124
|
+
|
125
|
+
def spree_logout_path
|
126
|
+
alchemy.logout_path
|
127
|
+
end
|
128
|
+
...
|
129
|
+
```
|
130
|
+
|
131
|
+
#### 3. Option: Build their own authentication
|
132
|
+
|
133
|
+
Please follow the [spree custom authentication](https://guides.spreecommerce.com/developer/authentication.html) and the [Alchemy custom authentication](http://guides.alchemy-cms.com/edge/custom_authentication.html) guides in order to integrate your custom user with Spree and Alchemy.
|
134
|
+
|
135
|
+
#### In either case
|
136
|
+
|
137
|
+
Install the migrations
|
138
|
+
|
139
|
+
```shell
|
140
|
+
$ bundle exec rake alchemy_spree:install:migrations
|
141
|
+
```
|
142
|
+
|
143
|
+
Run the installer of Alchemy
|
144
|
+
|
145
|
+
```shell
|
146
|
+
$ bundle exec rake alchemy:install
|
147
|
+
```
|
148
|
+
|
149
|
+
and follow the on screen instructions.
|
150
|
+
|
73
151
|
## Usage
|
74
152
|
|
75
153
|
### Create a new Element for Alchemy
|
data/alchemy_spree.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
|
|
6
6
|
gem.email = ["tvd@magiclabs.de"]
|
7
7
|
gem.description = %q{A Alchemy CMS and Spree connector}
|
8
8
|
gem.summary = %q{The World's Most Flexible E-Commerce Platform meets The World's Most Flexible Content Management System!}
|
9
|
-
gem.homepage = "https://github.com/
|
9
|
+
gem.homepage = "https://github.com/magiclabs/alchemy_spree"
|
10
10
|
gem.license = 'BSD New'
|
11
11
|
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
12
12
|
gem.files = `git ls-files`.split("\n")
|
@@ -15,6 +15,6 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = Alchemy::Spree::VERSION
|
17
17
|
|
18
|
-
gem.add_dependency('alchemy_cms', ['
|
19
|
-
gem.add_dependency('spree', ['>= 2.
|
18
|
+
gem.add_dependency('alchemy_cms', ['>= 3.1.0.rc1', '< 3.2'])
|
19
|
+
gem.add_dependency('spree', ['>= 2.3', '< 3.0'])
|
20
20
|
end
|
data/lib/alchemy/spree/engine.rb
CHANGED
@@ -7,11 +7,6 @@ module Alchemy
|
|
7
7
|
class Engine < ::Rails::Engine
|
8
8
|
engine_name 'alchemy_spree'
|
9
9
|
|
10
|
-
initializer 'spree.user_class', after: 'alchemy.include_authentication_helpers' do
|
11
|
-
::Spree.user_class = "Alchemy::User"
|
12
|
-
require File.join(File.dirname(__FILE__), '../../spree/authentication_helpers')
|
13
|
-
end
|
14
|
-
|
15
10
|
def self.activate
|
16
11
|
Dir.glob(File.join(File.dirname(__FILE__), "../../../app/**/*_decorator*.rb")) do |c|
|
17
12
|
Rails.configuration.cache_classes ? require(c) : load(c)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alchemy_spree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas von Deyen
|
@@ -14,36 +14,42 @@ dependencies:
|
|
14
14
|
name: alchemy_cms
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 3.1.0.rc1
|
20
|
+
- - "<"
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.
|
22
|
+
version: '3.2'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.1.0.rc1
|
30
|
+
- - "<"
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version: 3.
|
32
|
+
version: '3.2'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: spree
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - ">="
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version: '2.
|
39
|
+
version: '2.3'
|
34
40
|
- - "<"
|
35
41
|
- !ruby/object:Gem::Version
|
36
|
-
version: '
|
42
|
+
version: '3.0'
|
37
43
|
type: :runtime
|
38
44
|
prerelease: false
|
39
45
|
version_requirements: !ruby/object:Gem::Requirement
|
40
46
|
requirements:
|
41
47
|
- - ">="
|
42
48
|
- !ruby/object:Gem::Version
|
43
|
-
version: '2.
|
49
|
+
version: '2.3'
|
44
50
|
- - "<"
|
45
51
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
52
|
+
version: '3.0'
|
47
53
|
description: A Alchemy CMS and Spree connector
|
48
54
|
email:
|
49
55
|
- tvd@magiclabs.de
|
@@ -64,7 +70,6 @@ files:
|
|
64
70
|
- app/controllers/spree/user_sessions_controller_decorator.rb
|
65
71
|
- app/models/alchemy/essence_spree_product.rb
|
66
72
|
- app/models/alchemy/essence_spree_taxon.rb
|
67
|
-
- app/models/alchemy/user_decorator.rb
|
68
73
|
- app/views/alchemy/admin/spree/index.html.erb
|
69
74
|
- app/views/alchemy/essences/_essence_spree_product_editor.html.erb
|
70
75
|
- app/views/alchemy/essences/_essence_spree_product_view.html.erb
|
@@ -73,14 +78,14 @@ files:
|
|
73
78
|
- config/initializers/alchemy.rb
|
74
79
|
- config/routes.rb
|
75
80
|
- db/migrate/20120229160509_create_alchemy_essence_spree_products.rb
|
76
|
-
- db/migrate/20131029215548_add_spree_fields_to_custom_user_table.rb
|
77
81
|
- db/migrate/20131030140218_create_alchemy_essence_spree_taxons.rb
|
78
82
|
- lib/alchemy/spree/ability.rb
|
79
83
|
- lib/alchemy/spree/alchemy_language_store.rb
|
84
|
+
- lib/alchemy/spree/alchemy_user_decorator.rb
|
80
85
|
- lib/alchemy/spree/engine.rb
|
86
|
+
- lib/alchemy/spree/spree_user_decorator.rb
|
81
87
|
- lib/alchemy/spree/version.rb
|
82
88
|
- lib/alchemy_spree.rb
|
83
|
-
- lib/spree/authentication_helpers.rb
|
84
89
|
- script/rails
|
85
90
|
- test/alchemy_spree_test.rb
|
86
91
|
- test/dummy/Rakefile
|
@@ -116,7 +121,7 @@ files:
|
|
116
121
|
- test/dummy/script/rails
|
117
122
|
- test/integration/navigation_test.rb
|
118
123
|
- test/test_helper.rb
|
119
|
-
homepage: https://github.com/
|
124
|
+
homepage: https://github.com/magiclabs/alchemy_spree
|
120
125
|
licenses:
|
121
126
|
- BSD New
|
122
127
|
metadata: {}
|
@@ -131,9 +136,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
131
136
|
version: '0'
|
132
137
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
138
|
requirements:
|
134
|
-
- - "
|
139
|
+
- - ">"
|
135
140
|
- !ruby/object:Gem::Version
|
136
|
-
version:
|
141
|
+
version: 1.3.1
|
137
142
|
requirements: []
|
138
143
|
rubyforge_project:
|
139
144
|
rubygems_version: 2.4.3
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Spree
|
2
|
-
module AuthenticationHelpers
|
3
|
-
def self.included(receiver)
|
4
|
-
receiver.send :helper_method, :spree_login_path
|
5
|
-
receiver.send :helper_method, :spree_signup_path
|
6
|
-
receiver.send :helper_method, :spree_logout_path
|
7
|
-
receiver.send :helper_method, :spree_current_user
|
8
|
-
end
|
9
|
-
|
10
|
-
def spree_current_user
|
11
|
-
current_user
|
12
|
-
end
|
13
|
-
|
14
|
-
def spree_login_path
|
15
|
-
alchemy.login_path
|
16
|
-
end
|
17
|
-
|
18
|
-
def spree_signup_path
|
19
|
-
alchemy.signup_path
|
20
|
-
end
|
21
|
-
|
22
|
-
def spree_logout_path
|
23
|
-
alchemy.logout_path
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
ApplicationController.send :include, Spree::AuthenticationHelpers
|
29
|
-
Spree::Api::BaseController.send :include, Spree::AuthenticationHelpers
|