milia 0.2.0 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. data/.rvmrc +1 -1
  2. data/Gemfile +5 -2
  3. data/Gemfile.lock +66 -1
  4. data/README.rdoc +18 -1
  5. data/Rakefile +1 -1
  6. data/VERSION +1 -1
  7. data/app/controllers/registrations_controller.rb +11 -0
  8. data/milia.gemspec +81 -5
  9. data/test/rails_app/.gitignore +5 -0
  10. data/test/rails_app/Gemfile +42 -0
  11. data/test/rails_app/Gemfile.lock +149 -0
  12. data/test/rails_app/Procfile +1 -0
  13. data/test/rails_app/README +261 -0
  14. data/test/rails_app/Rakefile +7 -0
  15. data/test/rails_app/app/assets/images/rails.png +0 -0
  16. data/test/rails_app/app/assets/javascripts/application.js +9 -0
  17. data/test/rails_app/app/assets/javascripts/home.js.coffee +3 -0
  18. data/test/rails_app/app/assets/stylesheets/application.css +7 -0
  19. data/test/rails_app/app/assets/stylesheets/home.css.scss +3 -0
  20. data/test/rails_app/app/controllers/application_controller.rb +5 -0
  21. data/test/rails_app/app/controllers/home_controller.rb +7 -0
  22. data/test/rails_app/app/helpers/application_helper.rb +2 -0
  23. data/test/rails_app/app/helpers/home_helper.rb +2 -0
  24. data/test/rails_app/app/mailers/.gitkeep +0 -0
  25. data/test/rails_app/app/models/.gitkeep +0 -0
  26. data/test/rails_app/app/models/tenant.rb +8 -0
  27. data/test/rails_app/app/models/user.rb +12 -0
  28. data/test/rails_app/app/views/home/index.html.erb +2 -0
  29. data/test/rails_app/app/views/layouts/application.html.erb +12 -0
  30. data/test/rails_app/config.ru +4 -0
  31. data/test/rails_app/config/application.rb +56 -0
  32. data/test/rails_app/config/boot.rb +6 -0
  33. data/test/rails_app/config/database.yml +55 -0
  34. data/test/rails_app/config/environment.rb +5 -0
  35. data/test/rails_app/config/environments/development.rb +36 -0
  36. data/test/rails_app/config/environments/production.rb +60 -0
  37. data/test/rails_app/config/environments/test.rb +39 -0
  38. data/test/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  39. data/test/rails_app/config/initializers/devise.rb +210 -0
  40. data/test/rails_app/config/initializers/inflections.rb +10 -0
  41. data/test/rails_app/config/initializers/mime_types.rb +5 -0
  42. data/test/rails_app/config/initializers/secret_token.rb +7 -0
  43. data/test/rails_app/config/initializers/session_store.rb +8 -0
  44. data/test/rails_app/config/initializers/wrap_parameters.rb +14 -0
  45. data/test/rails_app/config/locales/devise.en.yml +58 -0
  46. data/test/rails_app/config/locales/en.yml +5 -0
  47. data/test/rails_app/config/routes.rb +65 -0
  48. data/test/rails_app/db/migrate/20111012050340_devise_create_users.rb +28 -0
  49. data/test/rails_app/db/migrate/20111012050532_create_tenants.rb +9 -0
  50. data/test/rails_app/db/migrate/20111012050600_create_tenants_users.rb +10 -0
  51. data/test/rails_app/db/migrate/20111012060818_add_sessions_table.rb +16 -0
  52. data/test/rails_app/db/schema.rb +65 -0
  53. data/test/rails_app/db/seeds.rb +7 -0
  54. data/test/rails_app/lib/assets/.gitkeep +0 -0
  55. data/test/rails_app/lib/tasks/.gitkeep +0 -0
  56. data/test/rails_app/log/.gitkeep +0 -0
  57. data/test/rails_app/public/404.html +26 -0
  58. data/test/rails_app/public/422.html +26 -0
  59. data/test/rails_app/public/500.html +26 -0
  60. data/test/rails_app/public/favicon.ico +0 -0
  61. data/test/rails_app/script/rails +6 -0
  62. data/test/rails_app/test/fixtures/.gitkeep +0 -0
  63. data/test/rails_app/test/fixtures/tenants.yml +2 -0
  64. data/test/rails_app/test/fixtures/users.yml +11 -0
  65. data/test/rails_app/test/functional/.gitkeep +0 -0
  66. data/test/rails_app/test/functional/home_controller_test.rb +10 -0
  67. data/test/rails_app/test/integration/.gitkeep +0 -0
  68. data/test/rails_app/test/performance/browsing_test.rb +12 -0
  69. data/test/rails_app/test/test_helper.rb +16 -0
  70. data/test/rails_app/test/unit/.gitkeep +0 -0
  71. data/test/rails_app/test/unit/helpers/home_helper_test.rb +4 -0
  72. data/test/rails_app/test/unit/tenant_test.rb +7 -0
  73. data/test/rails_app/test/unit/user_test.rb +7 -0
  74. data/test/rails_app/vendor/assets/stylesheets/.gitkeep +0 -0
  75. data/test/rails_app/vendor/plugins/.gitkeep +0 -0
  76. metadata +119 -19
data/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm 1.9.3@projects
1
+ rvm 1.9.3@milia
data/Gemfile CHANGED
@@ -3,15 +3,18 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
- gem 'activerecord', '>= 3.1'
6
+ gem 'rails', '>= 3.1'
7
7
  gem 'devise', ">= 1.4.8"
8
8
 
9
9
  # Add dependencies to develop your gem here.
10
10
  # Include everything needed to run rake, tests, features, etc.
11
- group :development do
11
+ group :development, :test do
12
+ gem 'pg'
12
13
  gem "shoulda", ">= 0"
13
14
  gem "bundler", "~> 1.0.0"
14
15
  gem "jeweler", "~> 1.6.4"
15
16
  gem "rcov", ">= 0"
16
17
  gem 'rdoc'
18
+ gem 'test-unit'
19
+ gem 'turn', :require => false
17
20
  end
data/Gemfile.lock CHANGED
@@ -1,6 +1,20 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ actionmailer (3.1.1)
5
+ actionpack (= 3.1.1)
6
+ mail (~> 2.3.0)
7
+ actionpack (3.1.1)
8
+ activemodel (= 3.1.1)
9
+ activesupport (= 3.1.1)
10
+ builder (~> 3.0.0)
11
+ erubis (~> 2.7.0)
12
+ i18n (~> 0.6)
13
+ rack (~> 1.3.2)
14
+ rack-cache (~> 1.1)
15
+ rack-mount (~> 0.8.2)
16
+ rack-test (~> 0.6.1)
17
+ sprockets (~> 2.0.2)
4
18
  activemodel (3.1.1)
5
19
  activesupport (= 3.1.1)
6
20
  builder (~> 3.0.0)
@@ -10,8 +24,12 @@ GEM
10
24
  activesupport (= 3.1.1)
11
25
  arel (~> 2.2.1)
12
26
  tzinfo (~> 0.3.29)
27
+ activeresource (3.1.1)
28
+ activemodel (= 3.1.1)
29
+ activesupport (= 3.1.1)
13
30
  activesupport (3.1.1)
14
31
  multi_json (~> 1.0)
32
+ ansi (1.3.0)
15
33
  arel (2.2.1)
16
34
  bcrypt-ruby (3.0.1)
17
35
  builder (3.0.0)
@@ -19,21 +37,65 @@ GEM
19
37
  bcrypt-ruby (~> 3.0)
20
38
  orm_adapter (~> 0.0.3)
21
39
  warden (~> 1.0.3)
40
+ erubis (2.7.0)
22
41
  git (1.2.5)
42
+ hike (1.2.1)
23
43
  i18n (0.6.0)
24
44
  jeweler (1.6.4)
25
45
  bundler (~> 1.0)
26
46
  git (>= 1.2.5)
27
47
  rake
28
48
  json (1.6.1)
49
+ mail (2.3.0)
50
+ i18n (>= 0.4.0)
51
+ mime-types (~> 1.16)
52
+ treetop (~> 1.4.8)
53
+ mime-types (1.16)
29
54
  multi_json (1.0.3)
30
55
  orm_adapter (0.0.5)
56
+ pg (0.11.0)
57
+ polyglot (0.3.2)
31
58
  rack (1.3.4)
59
+ rack-cache (1.1)
60
+ rack (>= 0.4)
61
+ rack-mount (0.8.3)
62
+ rack (>= 1.0.0)
63
+ rack-ssl (1.3.2)
64
+ rack
65
+ rack-test (0.6.1)
66
+ rack (>= 1.0)
67
+ rails (3.1.1)
68
+ actionmailer (= 3.1.1)
69
+ actionpack (= 3.1.1)
70
+ activerecord (= 3.1.1)
71
+ activeresource (= 3.1.1)
72
+ activesupport (= 3.1.1)
73
+ bundler (~> 1.0)
74
+ railties (= 3.1.1)
75
+ railties (3.1.1)
76
+ actionpack (= 3.1.1)
77
+ activesupport (= 3.1.1)
78
+ rack-ssl (~> 1.3.2)
79
+ rake (>= 0.8.7)
80
+ rdoc (~> 3.4)
81
+ thor (~> 0.14.6)
32
82
  rake (0.9.2)
33
83
  rcov (0.9.11)
34
84
  rdoc (3.10)
35
85
  json (~> 1.4)
36
86
  shoulda (2.11.3)
87
+ sprockets (2.0.2)
88
+ hike (~> 1.2)
89
+ rack (~> 1.0)
90
+ tilt (~> 1.1, != 1.3.0)
91
+ test-unit (2.4.0)
92
+ thor (0.14.6)
93
+ tilt (1.3.3)
94
+ treetop (1.4.10)
95
+ polyglot
96
+ polyglot (>= 0.3.1)
97
+ turn (0.8.3)
98
+ ansi
37
99
  tzinfo (0.3.30)
38
100
  warden (1.0.6)
39
101
  rack (>= 1.0)
@@ -42,10 +104,13 @@ PLATFORMS
42
104
  ruby
43
105
 
44
106
  DEPENDENCIES
45
- activerecord (>= 3.1)
46
107
  bundler (~> 1.0.0)
47
108
  devise (>= 1.4.8)
48
109
  jeweler (~> 1.6.4)
110
+ pg
111
+ rails (>= 3.1)
49
112
  rcov
50
113
  rdoc
51
114
  shoulda
115
+ test-unit
116
+ turn
data/README.rdoc CHANGED
@@ -40,13 +40,20 @@ Or in the Gemfile:
40
40
 
41
41
  == Getting started
42
42
 
43
+ === Rails setup
44
+ Milia expects a user session, so please set one up
45
+
46
+ $ rails g session_migration
47
+ invoke active_record
48
+ create db/migrate/20111012060818_add_sessions_table.rb
49
+
43
50
  === Devise setup
44
51
  * See https://github.com/plataformatec/devise for how to set up devise.
45
52
  * The current version of milia requires that devise use a *User* model.
46
53
 
47
54
  === Milia setup
48
55
  *ALL* models require a tenanting field, whether they are to be universal or to
49
- be tenanted.
56
+ be tenanted. So make sure the following is added to each migration
50
57
 
51
58
  <i>db/migrate</i>
52
59
 
@@ -177,6 +184,16 @@ immediately after the new tenant has been created).
177
184
  return tenant
178
185
  end
179
186
 
187
+ === Alternate use case: user belongs to multiple tenants
188
+ Your application might allow a user to belong to multiple tenants. You will need
189
+ to provide some type of mechanism to allow the user to choose which account
190
+ (thus tenant) they wish to access. Once chosen, in your controller, you will need
191
+ to put:
192
+
193
+ <i>app/controllers/any_controller.rb</i>
194
+
195
+ set_current_tenant( new_tenant_id )
196
+
180
197
 
181
198
  == Cautions
182
199
  * Milia designates a default_scope for all models (both universal and tenanted). From Rails 3.2 onwards, the last designated default scope overrides any prior scopes.
data/Rakefile CHANGED
@@ -20,7 +20,7 @@ Jeweler::Tasks.new do |gem|
20
20
  gem.homepage = "http://github.com/dsaronin/milia"
21
21
  gem.license = "MIT"
22
22
  gem.summary = %Q{Multi-tenanting for hosted Rails 3.1+ applications}
23
- gem.description = %Q{enables row-based multi-tenanting that is transparent to application}
23
+ gem.description = %Q{Transparent Multi-tenanting for hosted Rails 3.1+/Ruby 1.9.2 applications}
24
24
  gem.email = "dsaronin@gmail.com"
25
25
  gem.authors = ["David Anderson"]
26
26
  # dependencies defined in Gemfile
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.2
@@ -6,6 +6,8 @@ module Milia
6
6
  # ------------------------------------------------------------------------------
7
7
 
8
8
  # ------------------------------------------------------------------------------
9
+ # create -- intercept the POST create action upon new sign-up
10
+ # new tenant account is vetted, then created, then proceed with devise create user
9
11
  # ------------------------------------------------------------------------------
10
12
  def create
11
13
 
@@ -23,8 +25,17 @@ module Milia
23
25
  end
24
26
 
25
27
  end # def create
28
+
29
+ # ------------------------------------------------------------------------------
26
30
  # ------------------------------------------------------------------------------
31
+ private
27
32
  # ------------------------------------------------------------------------------
33
+ # sign_out_session! -- force the devise session signout
34
+ # ------------------------------------------------------------------------------
35
+
36
+ def sign_out_session!()
37
+ Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name) if user_signed_in?
38
+ end
28
39
 
29
40
  # ------------------------------------------------------------------------------
30
41
  # ------------------------------------------------------------------------------
data/milia.gemspec CHANGED
@@ -5,12 +5,12 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "milia"
8
- s.version = "0.2.0"
8
+ s.version = "0.3.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["David Anderson"]
12
12
  s.date = "2011-10-12"
13
- s.description = "enables row-based multi-tenanting that is transparent to application"
13
+ s.description = "Transparent Multi-tenanting for hosted Rails 3.1+/Ruby 1.9.2 applications"
14
14
  s.email = "dsaronin@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
@@ -35,6 +35,73 @@ Gem::Specification.new do |s|
35
35
  "lib/milia/tasks.rb",
36
36
  "milia.gemspec",
37
37
  "test/helper.rb",
38
+ "test/rails_app/.gitignore",
39
+ "test/rails_app/Gemfile",
40
+ "test/rails_app/Gemfile.lock",
41
+ "test/rails_app/Procfile",
42
+ "test/rails_app/README",
43
+ "test/rails_app/Rakefile",
44
+ "test/rails_app/app/assets/images/rails.png",
45
+ "test/rails_app/app/assets/javascripts/application.js",
46
+ "test/rails_app/app/assets/javascripts/home.js.coffee",
47
+ "test/rails_app/app/assets/stylesheets/application.css",
48
+ "test/rails_app/app/assets/stylesheets/home.css.scss",
49
+ "test/rails_app/app/controllers/application_controller.rb",
50
+ "test/rails_app/app/controllers/home_controller.rb",
51
+ "test/rails_app/app/helpers/application_helper.rb",
52
+ "test/rails_app/app/helpers/home_helper.rb",
53
+ "test/rails_app/app/mailers/.gitkeep",
54
+ "test/rails_app/app/models/.gitkeep",
55
+ "test/rails_app/app/models/tenant.rb",
56
+ "test/rails_app/app/models/user.rb",
57
+ "test/rails_app/app/views/home/index.html.erb",
58
+ "test/rails_app/app/views/layouts/application.html.erb",
59
+ "test/rails_app/config.ru",
60
+ "test/rails_app/config/application.rb",
61
+ "test/rails_app/config/boot.rb",
62
+ "test/rails_app/config/database.yml",
63
+ "test/rails_app/config/environment.rb",
64
+ "test/rails_app/config/environments/development.rb",
65
+ "test/rails_app/config/environments/production.rb",
66
+ "test/rails_app/config/environments/test.rb",
67
+ "test/rails_app/config/initializers/backtrace_silencers.rb",
68
+ "test/rails_app/config/initializers/devise.rb",
69
+ "test/rails_app/config/initializers/inflections.rb",
70
+ "test/rails_app/config/initializers/mime_types.rb",
71
+ "test/rails_app/config/initializers/secret_token.rb",
72
+ "test/rails_app/config/initializers/session_store.rb",
73
+ "test/rails_app/config/initializers/wrap_parameters.rb",
74
+ "test/rails_app/config/locales/devise.en.yml",
75
+ "test/rails_app/config/locales/en.yml",
76
+ "test/rails_app/config/routes.rb",
77
+ "test/rails_app/db/migrate/20111012050340_devise_create_users.rb",
78
+ "test/rails_app/db/migrate/20111012050532_create_tenants.rb",
79
+ "test/rails_app/db/migrate/20111012050600_create_tenants_users.rb",
80
+ "test/rails_app/db/migrate/20111012060818_add_sessions_table.rb",
81
+ "test/rails_app/db/schema.rb",
82
+ "test/rails_app/db/seeds.rb",
83
+ "test/rails_app/lib/assets/.gitkeep",
84
+ "test/rails_app/lib/tasks/.gitkeep",
85
+ "test/rails_app/log/.gitkeep",
86
+ "test/rails_app/public/404.html",
87
+ "test/rails_app/public/422.html",
88
+ "test/rails_app/public/500.html",
89
+ "test/rails_app/public/favicon.ico",
90
+ "test/rails_app/script/rails",
91
+ "test/rails_app/test/fixtures/.gitkeep",
92
+ "test/rails_app/test/fixtures/tenants.yml",
93
+ "test/rails_app/test/fixtures/users.yml",
94
+ "test/rails_app/test/functional/.gitkeep",
95
+ "test/rails_app/test/functional/home_controller_test.rb",
96
+ "test/rails_app/test/integration/.gitkeep",
97
+ "test/rails_app/test/performance/browsing_test.rb",
98
+ "test/rails_app/test/test_helper.rb",
99
+ "test/rails_app/test/unit/.gitkeep",
100
+ "test/rails_app/test/unit/helpers/home_helper_test.rb",
101
+ "test/rails_app/test/unit/tenant_test.rb",
102
+ "test/rails_app/test/unit/user_test.rb",
103
+ "test/rails_app/vendor/assets/stylesheets/.gitkeep",
104
+ "test/rails_app/vendor/plugins/.gitkeep",
38
105
  "test/test_milia.rb"
39
106
  ]
40
107
  s.homepage = "http://github.com/dsaronin/milia"
@@ -47,30 +114,39 @@ Gem::Specification.new do |s|
47
114
  s.specification_version = 3
48
115
 
49
116
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
- s.add_runtime_dependency(%q<activerecord>, [">= 3.1"])
117
+ s.add_runtime_dependency(%q<rails>, [">= 3.1"])
51
118
  s.add_runtime_dependency(%q<devise>, [">= 1.4.8"])
119
+ s.add_development_dependency(%q<pg>, [">= 0"])
52
120
  s.add_development_dependency(%q<shoulda>, [">= 0"])
53
121
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
54
122
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
55
123
  s.add_development_dependency(%q<rcov>, [">= 0"])
56
124
  s.add_development_dependency(%q<rdoc>, [">= 0"])
125
+ s.add_development_dependency(%q<test-unit>, [">= 0"])
126
+ s.add_development_dependency(%q<turn>, [">= 0"])
57
127
  else
58
- s.add_dependency(%q<activerecord>, [">= 3.1"])
128
+ s.add_dependency(%q<rails>, [">= 3.1"])
59
129
  s.add_dependency(%q<devise>, [">= 1.4.8"])
130
+ s.add_dependency(%q<pg>, [">= 0"])
60
131
  s.add_dependency(%q<shoulda>, [">= 0"])
61
132
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
62
133
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
63
134
  s.add_dependency(%q<rcov>, [">= 0"])
64
135
  s.add_dependency(%q<rdoc>, [">= 0"])
136
+ s.add_dependency(%q<test-unit>, [">= 0"])
137
+ s.add_dependency(%q<turn>, [">= 0"])
65
138
  end
66
139
  else
67
- s.add_dependency(%q<activerecord>, [">= 3.1"])
140
+ s.add_dependency(%q<rails>, [">= 3.1"])
68
141
  s.add_dependency(%q<devise>, [">= 1.4.8"])
142
+ s.add_dependency(%q<pg>, [">= 0"])
69
143
  s.add_dependency(%q<shoulda>, [">= 0"])
70
144
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
71
145
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
72
146
  s.add_dependency(%q<rcov>, [">= 0"])
73
147
  s.add_dependency(%q<rdoc>, [">= 0"])
148
+ s.add_dependency(%q<test-unit>, [">= 0"])
149
+ s.add_dependency(%q<turn>, [">= 0"])
74
150
  end
75
151
  end
76
152
 
@@ -0,0 +1,5 @@
1
+ .bundle
2
+ db/*.sqlite3
3
+ log/*.log
4
+ tmp/
5
+ .sass-cache/
@@ -0,0 +1,42 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'rails', '3.1.1'
4
+
5
+ # Bundle edge Rails instead:
6
+ # gem 'rails', :git => 'git://github.com/rails/rails.git'
7
+
8
+ gem 'thin'
9
+ gem 'pg'
10
+ gem 'rdoc'
11
+ gem 'devise', ">= 1.4.8"
12
+ gem 'foreman'
13
+
14
+
15
+ # Gems used only for assets and not required
16
+ # in production environments by default.
17
+ group :assets do
18
+ gem 'sass-rails', '~> 3.1.4'
19
+ gem 'coffee-rails', '~> 3.1.1'
20
+ gem 'uglifier', '>= 1.0.3'
21
+ end
22
+
23
+ gem 'jquery-rails'
24
+
25
+ # To use ActiveModel has_secure_password
26
+ # gem 'bcrypt-ruby', '~> 3.0.0'
27
+
28
+ # Use unicorn as the web server
29
+ # gem 'unicorn'
30
+
31
+ # Deploy with Capistrano
32
+ # gem 'capistrano'
33
+
34
+ # To use debugger
35
+ # gem 'ruby-debug19', :require => 'ruby-debug'
36
+
37
+ group :test do
38
+ # Pretty printed test output
39
+ gem 'turn', :require => false
40
+ end
41
+
42
+ gem 'milia', :path => "../../../milia"
@@ -0,0 +1,149 @@
1
+ PATH
2
+ remote: ../../../milia
3
+ specs:
4
+ milia (0.3.2)
5
+ devise (>= 1.4.8)
6
+ rails (>= 3.1)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ actionmailer (3.1.1)
12
+ actionpack (= 3.1.1)
13
+ mail (~> 2.3.0)
14
+ actionpack (3.1.1)
15
+ activemodel (= 3.1.1)
16
+ activesupport (= 3.1.1)
17
+ builder (~> 3.0.0)
18
+ erubis (~> 2.7.0)
19
+ i18n (~> 0.6)
20
+ rack (~> 1.3.2)
21
+ rack-cache (~> 1.1)
22
+ rack-mount (~> 0.8.2)
23
+ rack-test (~> 0.6.1)
24
+ sprockets (~> 2.0.2)
25
+ activemodel (3.1.1)
26
+ activesupport (= 3.1.1)
27
+ builder (~> 3.0.0)
28
+ i18n (~> 0.6)
29
+ activerecord (3.1.1)
30
+ activemodel (= 3.1.1)
31
+ activesupport (= 3.1.1)
32
+ arel (~> 2.2.1)
33
+ tzinfo (~> 0.3.29)
34
+ activeresource (3.1.1)
35
+ activemodel (= 3.1.1)
36
+ activesupport (= 3.1.1)
37
+ activesupport (3.1.1)
38
+ multi_json (~> 1.0)
39
+ ansi (1.3.0)
40
+ arel (2.2.1)
41
+ bcrypt-ruby (3.0.1)
42
+ builder (3.0.0)
43
+ coffee-rails (3.1.1)
44
+ coffee-script (>= 2.2.0)
45
+ railties (~> 3.1.0)
46
+ coffee-script (2.2.0)
47
+ coffee-script-source
48
+ execjs
49
+ coffee-script-source (1.1.2)
50
+ daemons (1.1.4)
51
+ devise (1.4.8)
52
+ bcrypt-ruby (~> 3.0)
53
+ orm_adapter (~> 0.0.3)
54
+ warden (~> 1.0.3)
55
+ erubis (2.7.0)
56
+ eventmachine (0.12.10)
57
+ execjs (1.2.9)
58
+ multi_json (~> 1.0)
59
+ foreman (0.24.0)
60
+ term-ansicolor (~> 1.0.5)
61
+ thor (>= 0.13.6)
62
+ hike (1.2.1)
63
+ i18n (0.6.0)
64
+ jquery-rails (1.0.14)
65
+ railties (~> 3.0)
66
+ thor (~> 0.14)
67
+ json (1.6.1)
68
+ mail (2.3.0)
69
+ i18n (>= 0.4.0)
70
+ mime-types (~> 1.16)
71
+ treetop (~> 1.4.8)
72
+ mime-types (1.16)
73
+ multi_json (1.0.3)
74
+ orm_adapter (0.0.5)
75
+ pg (0.11.0)
76
+ polyglot (0.3.2)
77
+ rack (1.3.4)
78
+ rack-cache (1.1)
79
+ rack (>= 0.4)
80
+ rack-mount (0.8.3)
81
+ rack (>= 1.0.0)
82
+ rack-ssl (1.3.2)
83
+ rack
84
+ rack-test (0.6.1)
85
+ rack (>= 1.0)
86
+ rails (3.1.1)
87
+ actionmailer (= 3.1.1)
88
+ actionpack (= 3.1.1)
89
+ activerecord (= 3.1.1)
90
+ activeresource (= 3.1.1)
91
+ activesupport (= 3.1.1)
92
+ bundler (~> 1.0)
93
+ railties (= 3.1.1)
94
+ railties (3.1.1)
95
+ actionpack (= 3.1.1)
96
+ activesupport (= 3.1.1)
97
+ rack-ssl (~> 1.3.2)
98
+ rake (>= 0.8.7)
99
+ rdoc (~> 3.4)
100
+ thor (~> 0.14.6)
101
+ rake (0.9.2)
102
+ rdoc (3.10)
103
+ json (~> 1.4)
104
+ sass (3.1.10)
105
+ sass-rails (3.1.4)
106
+ actionpack (~> 3.1.0)
107
+ railties (~> 3.1.0)
108
+ sass (>= 3.1.4)
109
+ sprockets (~> 2.0.0)
110
+ tilt (~> 1.3.2)
111
+ sprockets (2.0.2)
112
+ hike (~> 1.2)
113
+ rack (~> 1.0)
114
+ tilt (~> 1.1, != 1.3.0)
115
+ term-ansicolor (1.0.6)
116
+ thin (1.2.11)
117
+ daemons (>= 1.0.9)
118
+ eventmachine (>= 0.12.6)
119
+ rack (>= 1.0.0)
120
+ thor (0.14.6)
121
+ tilt (1.3.3)
122
+ treetop (1.4.10)
123
+ polyglot
124
+ polyglot (>= 0.3.1)
125
+ turn (0.8.3)
126
+ ansi
127
+ tzinfo (0.3.30)
128
+ uglifier (1.0.3)
129
+ execjs (>= 0.3.0)
130
+ multi_json (>= 1.0.2)
131
+ warden (1.0.6)
132
+ rack (>= 1.0)
133
+
134
+ PLATFORMS
135
+ ruby
136
+
137
+ DEPENDENCIES
138
+ coffee-rails (~> 3.1.1)
139
+ devise (>= 1.4.8)
140
+ foreman
141
+ jquery-rails
142
+ milia!
143
+ pg
144
+ rails (= 3.1.1)
145
+ rdoc
146
+ sass-rails (~> 3.1.4)
147
+ thin
148
+ turn
149
+ uglifier (>= 1.0.3)