milia 1.0.0 → 1.0.1
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 +12 -4
- data/app/controllers/sessions_controller.rb +3 -6
- data/doc/sample.sh +47 -0
- data/lib/milia/version.rb +1 -1
- metadata +25 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b71b49e31631befa25024acdb042e14b7fecd82
|
4
|
+
data.tar.gz: f1dc1e95c35498437ff078e891077f11fad242ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ed0849673efa710d2ef2feb3d703ced0a40cce297e41ed75c03ad88bef99941103792329c3310189f6c172fa9c63f8cc71c77f0b6ade96c57f7e2bd0321d3fc
|
7
|
+
data.tar.gz: 0be4c74efdca4c1ab2b561342d1f5c1c9d35d2d76e3649abe027809fcc785a4c6cb5cdb3d8c4e9de161304f52a1c160bfb7192c2943695103335f6b96594e624
|
data/README.md
CHANGED
@@ -37,13 +37,14 @@ by invitation. New tenants are not created for every new user.
|
|
37
37
|
|
38
38
|
## Version
|
39
39
|
|
40
|
-
milia v1.0.
|
40
|
+
milia v1.0.1 is the release version for Rails 4.0.x and is now available for usage.
|
41
41
|
|
42
42
|
The last previous release version for Rails 3.2.x can be found in the git branch 'v0.3', but
|
43
43
|
it is essentially obsolete. Go with v1.0.x
|
44
44
|
|
45
45
|
## What's changed?
|
46
46
|
|
47
|
+
* fixes Issue #42: Redirect loop (sign up & activate with email1; trying to sign up again with email1 fails but immediately signing in with email1 caused a redirect loop).
|
47
48
|
* Rails 4.0.x adapted (changes to terms, strong_parameters, default_scope, etc)
|
48
49
|
* Devise 3.2.x adapted
|
49
50
|
* All the changes which version 0.3.x advised to be inserted in applications_controller.rb are now automatically loaded into ActionController by milia.
|
@@ -59,8 +60,15 @@ it is essentially obsolete. Go with v1.0.x
|
|
59
60
|
|
60
61
|
There were numerous requests for me to provide a complete sample web application
|
61
62
|
which uses milia and devise. I have done this. This README will have a brief section
|
62
|
-
on creating and installing the sample application.
|
63
|
-
|
63
|
+
on creating and installing the sample application.
|
64
|
+
|
65
|
+
This sample app is now running on heroku and you may test it out here:
|
66
|
+
http://sample-milia.herokuapp.com
|
67
|
+
Instructions for deploying to heroku can be found in doc/sample.sh STEP 6
|
68
|
+
within the milia gem.
|
69
|
+
|
70
|
+
|
71
|
+
Further details about this process can be found via the sources listed below:
|
64
72
|
|
65
73
|
* see doc/sample.sh for easy generator usage for setting up and creating a working app.
|
66
74
|
Although all the same information is here in this README, it's perhaps clearer, and
|
@@ -149,7 +157,7 @@ Kibali is primarily oriented for functioning as a before_action role authenticat
|
|
149
157
|
* necessary migrations: user, tenant, tenants_users (join table)
|
150
158
|
|
151
159
|
You must understand which of your apps models will be tenanted ( <i>acts_as_tenant</i> )
|
152
|
-
and which will be universal ( <i>
|
160
|
+
and which will be universal ( <i>acts_as_universal</i>). Universal data NEVER has critical user/company
|
153
161
|
information in the table. It is usually only for system-wide constants. For example, if you've put
|
154
162
|
too much user information in the users table, you'll need to seperate it out. by definition, the devise
|
155
163
|
user table MUST be universal and should only contain email, encrypted password, and devise-required data.
|
@@ -1,13 +1,10 @@
|
|
1
1
|
module Milia
|
2
2
|
|
3
3
|
class SessionsController < Devise::SessionsController
|
4
|
-
|
4
|
+
# skip need for authentication
|
5
5
|
skip_before_action :authenticate_tenant!, :only => [:new, :create, :destroy]
|
6
|
-
|
7
|
-
|
8
|
-
__milia_reset_tenant! # clear tenanting
|
9
|
-
super
|
10
|
-
end
|
6
|
+
# clear tenanting
|
7
|
+
before_action :__milia_reset_tenant!, :only => [:create, :destroy]
|
11
8
|
|
12
9
|
end # class
|
13
10
|
end # module
|
data/doc/sample.sh
CHANGED
@@ -225,5 +225,52 @@ export RECAPTCHA_PRIVATE_KEY=6LeBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBgQBv
|
|
225
225
|
# stop/restart foreman
|
226
226
|
# ^c stops foreman; foreman start restarts it; F5 refreshes the browser page
|
227
227
|
#
|
228
|
+
# *********************************************************************
|
229
|
+
# STEP 5 - DEPLOYING SAMPLE-MILIA-APP TO HEROKU
|
230
|
+
# *********************************************************************
|
231
|
+
|
232
|
+
# Make sure that you've installed the heroku toolbelt, as shown in STEP 0.
|
233
|
+
# Make sure that you've setup git repository for you app, as shown in STEP 1.
|
234
|
+
# Open a terminal window and make sure you've cd to your project within the projectspace.
|
235
|
+
# Make sure that you've setup your heroku credentials on your machine using
|
236
|
+
$ heroku login
|
237
|
+
|
238
|
+
# Create your project (we'll call it "sample-milia" in the examples here).
|
239
|
+
$ heroku create sample-milia
|
240
|
+
|
241
|
+
# Now setup the various add-ons we'll need:
|
242
|
+
$ heroku addons:add sendgrid
|
243
|
+
|
244
|
+
# Now setup any needed configurations variables
|
245
|
+
$ heroku config:add BUNDLE_WITHOUT="development:test:linux:mac"
|
246
|
+
$ heroku config:add RECAPTCHA_PUBLIC_KEY='<your public key>'
|
247
|
+
$ heroku config:add RECAPTCHA_PRIVATE_KEY='<your private key>'
|
248
|
+
|
249
|
+
# edit config/initializers/secret_token.rb
|
250
|
+
# duplicate the secret_key_base line and rename it to secret_token
|
251
|
+
|
252
|
+
# edit config/environments/production.rb line 4
|
253
|
+
# put in the correct path for the hostname, and remove the https protocol if not needed
|
254
|
+
|
255
|
+
# edit Gemfile and replace the sqlite3 line with the following:
|
256
|
+
# Use sqlite3 as the dev/test database for Active Record
|
257
|
+
gem 'sqlite3', :group => [:development, :test]
|
258
|
+
|
259
|
+
# Use pg as the production database for heroku
|
260
|
+
gem 'pg', :group => :production
|
261
|
+
|
262
|
+
# then run bundle install, and commit to the repository
|
263
|
+
$ bundle install
|
264
|
+
$ git commit -am 'ready for heroku deploy'; git push origin master
|
265
|
+
|
266
|
+
# now deploy to heroku
|
267
|
+
$ git push heroku master
|
268
|
+
|
269
|
+
# now migrate the database
|
270
|
+
$ heroku run rake db:migrate
|
271
|
+
$ heroku restart
|
272
|
+
|
273
|
+
# go to browser and put in the correct address for your app on heroku:
|
228
274
|
|
275
|
+
http://sample-milia.herokuapp.com
|
229
276
|
|
data/lib/milia/version.rb
CHANGED
metadata
CHANGED
@@ -1,111 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: milia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- daudi amani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '4.0'
|
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
26
|
version: '4.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: devise
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '3.2'
|
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
40
|
version: '3.2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.3'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: sqlite3
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: shoulda
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: turn
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
description: Multi-tenanting gem for hosted Rails/Ruby/devise applications
|
@@ -115,12 +115,12 @@ executables: []
|
|
115
115
|
extensions: []
|
116
116
|
extra_rdoc_files: []
|
117
117
|
files:
|
118
|
-
- .document
|
119
|
-
- .gitignore
|
120
|
-
- .project
|
121
|
-
- .ruby-gemset
|
122
|
-
- .ruby-version
|
123
|
-
- .slugignore
|
118
|
+
- ".document"
|
119
|
+
- ".gitignore"
|
120
|
+
- ".project"
|
121
|
+
- ".ruby-gemset"
|
122
|
+
- ".ruby-version"
|
123
|
+
- ".slugignore"
|
124
124
|
- Gemfile
|
125
125
|
- LICENSE.txt
|
126
126
|
- README.md
|
@@ -227,17 +227,17 @@ require_paths:
|
|
227
227
|
- lib
|
228
228
|
required_ruby_version: !ruby/object:Gem::Requirement
|
229
229
|
requirements:
|
230
|
-
- -
|
230
|
+
- - ">="
|
231
231
|
- !ruby/object:Gem::Version
|
232
232
|
version: '0'
|
233
233
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
234
234
|
requirements:
|
235
|
-
- -
|
235
|
+
- - ">="
|
236
236
|
- !ruby/object:Gem::Version
|
237
237
|
version: '0'
|
238
238
|
requirements: []
|
239
239
|
rubyforge_project:
|
240
|
-
rubygems_version: 2.
|
240
|
+
rubygems_version: 2.2.2
|
241
241
|
signing_key:
|
242
242
|
specification_version: 4
|
243
243
|
summary: Transparent multi-tenanting for hosted rails/ruby/devise web applications
|