Permalink
Browse files

Basic functions pass the available tests, lots of more work to do to …

…increase test and devise feature coverage, and streamline the API between the engine and the application
  • Loading branch information...
1 parent e50fde3 commit ff0db4838be42b239434993a049f73776778faf7 @technomage committed Jun 18, 2012
Showing with 1,983 additions and 284 deletions.
  1. +24 −0 Gemfile
  2. +131 −1 Gemfile.lock
  3. +11 −0 README.rdoc
  4. +500 −0 app/assets/javascripts/ember-bootstrap.js
  5. +26 −0 app/assets/javascripts/ember-devise-bootstrap.js.erb
  6. +40 −0 app/assets/javascripts/ember-devise-bootstrap/controllers/password_controller.js
  7. +61 −0 app/assets/javascripts/ember-devise-bootstrap/controllers/sign_in_controller.js
  8. +56 −0 app/assets/javascripts/ember-devise-bootstrap/controllers/sign_up_controller.js
  9. +14 −0 app/assets/javascripts/ember-devise-bootstrap/controllers/user_controller.js
  10. +48 −0 app/assets/javascripts/ember-devise-bootstrap/ember-devise-bootstrap.js
  11. 0 app/assets/javascripts/ember-devise-bootstrap/helpers/.gitkeep
  12. +4 −0 app/assets/javascripts/ember-devise-bootstrap/models/user.js
  13. +45 −0 app/assets/javascripts/ember-devise-bootstrap/states/user_states.js
  14. +13 −0 app/assets/javascripts/ember-devise-bootstrap/templates/forgot_password_form.handlebars
  15. +18 −0 app/assets/javascripts/ember-devise-bootstrap/templates/sign_in_form.handlebars
  16. +18 −0 app/assets/javascripts/ember-devise-bootstrap/templates/sign_up_form.handlebars
  17. +8 −0 app/assets/javascripts/ember-devise-bootstrap/templates/signed_in.handlebars
  18. +17 −0 app/assets/javascripts/ember-devise-bootstrap/templates/signed_out.handlebars
  19. +28 −0 app/assets/javascripts/ember-devise-bootstrap/views/user_views.js
  20. 0 app/assets/stylesheets/{ember-devise-bootstrap/application.css → ember-devise-bootstrap.css}
  21. +29 −0 app/assets/stylesheets/ember-devise-bootstrap/bootstrap_and_overrides.css.less
  22. +4 −0 app/controllers/ember-devise-bootstrap/app_controller.rb
  23. +0 −4 app/controllers/ember-devise-bootstrap/application_controller.rb
  24. +12 −0 app/views/devise/confirmations/new.html.erb
  25. +5 −0 app/views/devise/mailer/confirmation_instructions.html.erb
  26. +8 −0 app/views/devise/mailer/reset_password_instructions.html.erb
  27. +7 −0 app/views/devise/mailer/unlock_instructions.html.erb
  28. +16 −0 app/views/devise/passwords/edit.html.erb
  29. +12 −0 app/views/devise/passwords/new.html.erb
  30. +1 −0 app/views/devise/registrations/create.json.erb
  31. +25 −0 app/views/devise/registrations/edit.html.erb
  32. +18 −0 app/views/devise/registrations/new.html.erb
  33. +17 −0 app/views/devise/sessions/new.html.erb
  34. +25 −0 app/views/devise/shared/_links.erb
  35. +12 −0 app/views/devise/unlocks/new.html.erb
  36. +8 −0 config/cucumber.yml
  37. +3 −0 ember-devise-bootstrap.gemspec
  38. +47 −0 features/sign_in_out.feature
  39. +22 −0 features/step_definitions/basic_steps.rb
  40. +80 −0 features/step_definitions/sign_in_out_steps.rb
  41. +75 −0 features/support/env.rb
  42. +65 −0 lib/tasks/cucumber.rake
  43. +10 −0 script/cucumber
  44. +2 −261 test/dummy/README.rdoc
  45. +0 −15 test/dummy/app/assets/javascripts/application.js
  46. +25 −2 ...ipts/ember-devise-bootstrap/application.js → test/dummy/app/assets/javascripts/application.js.erb
  47. +1 −0 test/dummy/app/assets/stylesheets/application.css
  48. +4 −0 test/dummy/app/controllers/application_controller.rb
  49. +14 −0 test/dummy/app/controllers/users/omniauth_callbacks_controller.rb
  50. +29 −0 test/dummy/app/models/user.rb
  51. +2 −0 test/dummy/app/views/application/index.html.erb
  52. +27 −0 test/dummy/app/views/layouts/application.html.erb
  53. +4 −0 test/dummy/config/application.rb
  54. +3 −1 test/dummy/config/boot.rb
  55. +222 −0 test/dummy/config/initializers/devise.rb
  56. +7 −0 test/dummy/config/routes.rb
  57. +46 −0 test/dummy/db/migrate/20120521143516_devise_create_users.rb
  58. +34 −0 test/dummy/db/schema.rb
View
24 Gemfile
@@ -7,6 +7,10 @@ gemspec
# jquery-rails is used by the dummy application
gem "jquery-rails"
+gem "devise"
+gem "omniauth-facebook"
+gem "twitter-bootstrap-rails"
+gem "ember-rails"
# Declare any dependencies that are still in development here instead of in
# your gemspec. These might include edge Rails or gems from your path or
@@ -15,3 +19,23 @@ gem "jquery-rails"
# To use debugger
# gem 'debugger'
+
+# Gems used only for assets and not required
+# in production environments by default.
+group :assets do
+ gem 'sass-rails', '~> 3.2.3'
+ gem 'coffee-rails', '~> 3.2.1'
+
+ # See https://github.com/sstephenson/execjs#readme for more supported runtimes
+ # gem 'therubyracer', :platform => :ruby
+
+ gem 'uglifier', '>= 1.0.3'
+end
+
+group :test do
+ gem 'cucumber-rails'
+ gem "rspec-rails"
+ gem "database_cleaner"
+ gem "spork"
+ gem "capybara"
+end
View
@@ -2,7 +2,12 @@ PATH
remote: .
specs:
ember-devise-bootstrap (0.0.1)
- rails (~> 3.2.6)
+ devise
+ ember-rails
+ omniauth
+ omniauth-facebook
+ rails (>= 3.2.6)
+ twitter-bootstrap-rails
GEM
remote: http://rubygems.org/
@@ -20,6 +25,8 @@ GEM
rack-cache (~> 1.2)
rack-test (~> 0.6.1)
sprockets (~> 2.1.3)
+ active_model_serializers (0.5.2)
+ activemodel (~> 3.0)
activemodel (3.2.6)
activesupport (= 3.2.6)
builder (~> 3.0.0)
@@ -34,22 +41,93 @@ GEM
activesupport (3.2.6)
i18n (~> 0.6)
multi_json (~> 1.0)
+ addressable (2.2.8)
arel (3.0.2)
+ bcrypt-ruby (3.0.1)
builder (3.0.0)
+ capybara (1.1.2)
+ mime-types (>= 1.16)
+ nokogiri (>= 1.3.3)
+ rack (>= 1.0.0)
+ rack-test (>= 0.5.4)
+ selenium-webdriver (~> 2.0)
+ xpath (~> 0.1.4)
+ childprocess (0.3.2)
+ ffi (~> 1.0.6)
+ coffee-rails (3.2.2)
+ coffee-script (>= 2.2.0)
+ railties (~> 3.2.0)
+ coffee-script (2.2.0)
+ coffee-script-source
+ execjs
+ coffee-script-source (1.3.3)
+ commonjs (0.2.6)
+ cucumber (1.2.1)
+ builder (>= 2.1.2)
+ diff-lcs (>= 1.1.3)
+ gherkin (~> 2.11.0)
+ json (>= 1.4.6)
+ cucumber-rails (1.3.0)
+ capybara (>= 1.1.2)
+ cucumber (>= 1.1.8)
+ nokogiri (>= 1.5.0)
+ database_cleaner (0.8.0)
+ devise (2.1.1)
+ bcrypt-ruby (~> 3.0)
+ orm_adapter (~> 0.1)
+ railties (~> 3.1)
+ warden (~> 1.2.1)
+ diff-lcs (1.1.3)
+ ember-rails (0.6.0)
+ active_model_serializers
+ execjs (>= 1.2)
+ railties (~> 3.1)
erubis (2.7.0)
+ execjs (1.4.0)
+ multi_json (~> 1.0)
+ faraday (0.8.1)
+ multipart-post (~> 1.1)
+ ffi (1.0.11)
+ gherkin (2.11.0)
+ json (>= 1.4.6)
+ hashie (1.2.0)
hike (1.2.1)
+ httpauth (0.1)
i18n (0.6.0)
journey (1.0.4)
jquery-rails (2.0.2)
railties (>= 3.2.0, < 5.0)
thor (~> 0.14)
json (1.7.3)
+ less (2.2.1)
+ commonjs (~> 0.2.6)
+ less-rails (2.2.3)
+ actionpack (>= 3.1)
+ less (~> 2.2.0)
+ libv8 (3.3.10.4)
+ libwebsocket (0.1.3)
+ addressable
mail (2.4.4)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.18)
multi_json (1.3.6)
+ multipart-post (1.1.5)
+ nokogiri (1.5.4)
+ oauth2 (0.6.1)
+ faraday (~> 0.7)
+ httpauth (~> 0.1)
+ multi_json (~> 1.3)
+ omniauth (1.1.0)
+ hashie (~> 1.2)
+ rack
+ omniauth-facebook (1.3.0)
+ omniauth-oauth2 (~> 1.0.2)
+ omniauth-oauth2 (1.0.2)
+ oauth2 (~> 0.6.0)
+ omniauth (~> 1.0)
+ orm_adapter (0.1.0)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
@@ -76,22 +154,74 @@ GEM
rake (0.9.2.2)
rdoc (3.12)
json (~> 1.4)
+ rspec (2.10.0)
+ rspec-core (~> 2.10.0)
+ rspec-expectations (~> 2.10.0)
+ rspec-mocks (~> 2.10.0)
+ rspec-core (2.10.1)
+ rspec-expectations (2.10.0)
+ diff-lcs (~> 1.1.3)
+ rspec-mocks (2.10.1)
+ rspec-rails (2.10.1)
+ actionpack (>= 3.0)
+ activesupport (>= 3.0)
+ railties (>= 3.0)
+ rspec (~> 2.10.0)
+ rubyzip (0.9.8)
+ sass (3.1.19)
+ sass-rails (3.2.5)
+ railties (~> 3.2.0)
+ sass (>= 3.1.10)
+ tilt (~> 1.3)
+ selenium-webdriver (2.22.2)
+ childprocess (>= 0.2.5)
+ ffi (~> 1.0)
+ libwebsocket (~> 0.1.3)
+ multi_json (~> 1.0)
+ rubyzip
+ spork (0.9.2)
sprockets (2.1.3)
hike (~> 1.2)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.6)
+ therubyracer (0.10.1)
+ libv8 (~> 3.3.10)
thor (0.15.2)
tilt (1.3.3)
treetop (1.4.10)
polyglot
polyglot (>= 0.3.1)
+ twitter-bootstrap-rails (2.1.0)
+ actionpack (>= 3.1)
+ less-rails (~> 2.2.2)
+ railties (>= 3.1)
+ therubyracer (~> 0.10.1)
tzinfo (0.3.33)
+ uglifier (1.2.4)
+ execjs (>= 0.3.0)
+ multi_json (>= 1.0.2)
+ warden (1.2.1)
+ rack (>= 1.0)
+ xpath (0.1.4)
+ nokogiri (~> 1.3)
PLATFORMS
ruby
DEPENDENCIES
+ capybara
+ coffee-rails (~> 3.2.1)
+ cucumber-rails
+ database_cleaner
+ devise
ember-devise-bootstrap!
+ ember-rails
jquery-rails
+ omniauth-facebook
+ rspec-rails
+ sass-rails (~> 3.2.3)
+ spork
sqlite3
+ twitter-bootstrap-rails
+ uglifier (>= 1.0.3)
View
@@ -2,8 +2,19 @@
This project provides a login UI uising Ember.js and Twitter Bootstrap that
is compatible with Devise.
+At this time the full set of devise views are embedded in this engine. Hopefully this
+will change as all the devise functions are fronted with Ember UI rather than separate
+pages.
+
The first step is to extract this from an existing project and get it working in that
context. This will work for the User resource, then it will be generalized for more
resources.
This project is released under the MIT-LICENSE.
+
+- Notes
+The test cases for this project are all in cucumber which can be invoked from the project root directory. The
+facebook integration for the test app is configured to use a dummy facebook app configured for callbacks on
+127.0.0.1:5555 so any manual testing will need to use a similar URL when using facebook integrations. To keep
+the repository clear of any credentials the test app looks for facebook credentials in the environment variables
+facebook_user and facebook_pass.
Oops, something went wrong.

0 comments on commit ff0db48

Please sign in to comment.