cadenero 0.0.2.a2 → 0.0.2.a3
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.
- data/README.md +56 -24
- data/app/controllers/cadenero/v1/account/dashboard_controller.rb +5 -2
- data/app/controllers/cadenero/v1/account/sessions_controller.rb +10 -11
- data/app/controllers/cadenero/v1/account/users_controller.rb +1 -1
- data/app/controllers/cadenero/v1/accounts_controller.rb +6 -7
- data/app/models/cadenero/user.rb +8 -2
- data/app/models/cadenero/v1/account.rb +27 -14
- data/app/serializers/cadenero/account_serializer.rb +3 -4
- data/app/serializers/cadenero/user_serializer.rb +3 -3
- data/lib/cadenero/version.rb +1 -1
- data/spec/controllers/cadenero/v1/accounts_controller_spec.rb +27 -11
- data/spec/dummy/log/development.log +109 -574
- data/spec/dummy/log/test.log +5885 -449
- data/spec/features/accounts/sign_up_spec.rb +5 -3
- data/spec/features/cadenero/account_spec.rb +0 -1
- data/spec/features/users/sign_in_spec.rb +7 -4
- data/spec/features/users/sign_up_spec.rb +2 -2
- metadata +2 -2
data/README.md
CHANGED
@@ -6,6 +6,7 @@ By [](https://codeclimate.com/github/AgilTec/cadenero)
|
7
7
|
[](https://coveralls.io/r/AgilTec/cadenero?branch=master)
|
8
8
|
[](https://gemnasium.com/AgilTec/cadenero)
|
9
|
+
[](https://bitdeli.com/free "Bitdeli Badge")
|
9
10
|
|
10
11
|
Authentication Engine for Rails.API multitenant RESTful APIs based on Warden. It:
|
11
12
|
* Is Racked based
|
@@ -20,63 +21,94 @@ Authentication Engine for Rails.API multitenant RESTful APIs based on Warden. It
|
|
20
21
|
|
21
22
|
### Installing **Cadenero**
|
22
23
|
Generate first your Rails.API app as usual using:
|
24
|
+
|
23
25
|
```
|
24
|
-
|
26
|
+
$ rails-api new your_app --skip-test-unit
|
25
27
|
```
|
28
|
+
|
26
29
|
In the `Gemfile` add the following lines:
|
27
30
|
```ruby
|
28
|
-
gem 'cadenero', '~> 0.0.2.
|
29
|
-
gem 'pg'
|
31
|
+
gem 'cadenero', '~> 0.0.2.a3'
|
32
|
+
gem 'pg'
|
30
33
|
```
|
34
|
+
|
31
35
|
In the `config/database.yml` replace the `sqlite3` adapter for `postgresql` as follow:
|
36
|
+
|
32
37
|
```
|
33
|
-
development:
|
34
|
-
|
35
|
-
|
36
|
-
|
38
|
+
development:
|
39
|
+
adapter: postgresql
|
40
|
+
database: your_app_development
|
41
|
+
min_messages: warning
|
37
42
|
|
38
|
-
test:
|
39
|
-
|
40
|
-
|
41
|
-
|
43
|
+
test:
|
44
|
+
adapter: postgresql
|
45
|
+
database: your_app_test
|
46
|
+
min_messages: warning
|
42
47
|
```
|
43
48
|
|
44
49
|
Then run bundle, create the databases and run the generator:
|
50
|
+
|
45
51
|
```
|
46
|
-
|
52
|
+
$ bundle install; rake db:create; rails-api g cadenero:install
|
47
53
|
```
|
54
|
+
|
48
55
|
Finally run the server:
|
56
|
+
|
49
57
|
```
|
50
|
-
rails-api s
|
58
|
+
$ rails-api s
|
51
59
|
```
|
60
|
+
|
52
61
|
Or much better for checking the multitenancy you can use [Pow](http://pow.cx/). To install or upgrade Pow, open a terminal and run this command:
|
62
|
+
|
53
63
|
```
|
54
|
-
$ curl get.pow.cx | sh (View Source)
|
64
|
+
$ curl get.pow.cx | sh (View Source)
|
55
65
|
```
|
66
|
+
|
56
67
|
To set up a Rack app, just symlink it into ~/.pow:
|
68
|
+
|
57
69
|
```
|
58
|
-
$ cd ~/.pow
|
59
|
-
$ ln -s /path/to/myapp
|
70
|
+
$ cd ~/.pow
|
71
|
+
$ ln -s /path/to/myapp
|
60
72
|
```
|
61
73
|
|
62
74
|
Check that you can access the API using the default account `www` and user `testy@example.com` with password `changeme˜ or those defined for you when the generator was run. Ror the client you can use [cURL](http://curl.haxx.se/) or [RESTClient](http://restclient.net/)
|
63
75
|
|
76
|
+
You can create a new account as follows:
|
77
|
+
|
78
|
+
```
|
79
|
+
$ curl -v -X POST http://www.cadenero.dev/v1/accounts -H 'Content-Type: application/json' -d '{"account": { "name": "Testy", "subdomain": "tested1", "owner_attributes": {"email": "testy2@example.com", "password": "changeme", "password_confirmation": "changeme"}}}'
|
80
|
+
```
|
81
|
+
Or
|
82
|
+
|
83
|
+
```
|
84
|
+
Request
|
85
|
+
|
86
|
+
POST http://www.cadenero.dev/v1/accounts
|
87
|
+
|
88
|
+
Content-Type: application/json
|
89
|
+
|
90
|
+
Body
|
91
|
+
{"account": { "name": "Testy", "subdomain": "test2", "owner_attributes": {"email": "testy2@example.com", "password": "changeme", "password_confirmation": "changeme"}}}
|
92
|
+
```
|
93
|
+
|
64
94
|
Have fun!
|
65
95
|
|
66
96
|
### Access Points
|
67
97
|
**Cadenero** creates the following versioned routes for exposing the authentication RESTful API
|
68
98
|
|
69
99
|
```
|
70
|
-
|
71
|
-
v1_sessions POST /v1/sessions(.:format) cadenero/v1/account/sessions#create {:default=>:json}
|
72
|
-
|
73
|
-
|
74
|
-
v1_accounts POST /v1/accounts(.:format) cadenero/v1/accounts#create {:default=>:json}
|
75
|
-
|
100
|
+
v1_root /v1(.:format) cadenero/v1/account/dashboard#index {:default=>:json}
|
101
|
+
v1_sessions POST /v1/sessions(.:format) cadenero/v1/account/sessions#create {:default=>:json}
|
102
|
+
DELETE /v1/sessions(.:format) cadenero/v1/account/sessions#delete {:default=>:json}
|
103
|
+
v1_users POST /v1/users(.:format) cadenero/v1/account/users#create {:default=>:json}
|
104
|
+
v1_accounts POST /v1/accounts(.:format) cadenero/v1/accounts#create {:default=>:json}
|
105
|
+
root / cadenero/v1/account/dashboard#index {:default=>:json}
|
76
106
|
```
|
77
|
-
|
107
|
+
|
108
|
+
You can check them running:
|
109
|
+
|
78
110
|
```
|
79
|
-
rake routes
|
111
|
+
rake routes
|
80
112
|
```
|
81
113
|
|
82
114
|
### The Cadenero Task List
|
@@ -1,11 +1,14 @@
|
|
1
1
|
require_dependency "cadenero/application_controller"
|
2
|
-
|
2
|
+
# Dashboard Controller that can be overrided for be the root access point of your API app
|
3
3
|
module Cadenero
|
4
|
+
#name space for this API version
|
4
5
|
class V1::Account::DashboardController < Cadenero::ApplicationController
|
6
|
+
# Protecting the site
|
5
7
|
before_filter :authenticate_user!
|
6
8
|
|
9
|
+
# Default action
|
7
10
|
def index
|
8
|
-
render json: {message: "Welcome #{current_user.email}"}, status:
|
11
|
+
render json: {message: "Welcome #{current_user.email}"}, status: :ok # Welcome message for current_user
|
9
12
|
end
|
10
13
|
end
|
11
14
|
end
|
@@ -1,26 +1,25 @@
|
|
1
1
|
require_dependency "cadenero/application_controller"
|
2
|
-
|
2
|
+
# COntroller for managing sessions for the API if you are using the :password Strategy
|
3
3
|
module Cadenero::V1
|
4
4
|
class Account::SessionsController < Cadenero::ApplicationController
|
5
|
+
# create the session for the user using the password strategy and returning the user JSON
|
5
6
|
def create
|
6
|
-
Rails.logger.info "params: #{params}"
|
7
7
|
if env['warden'].authenticate(:password, :scope => :user)
|
8
|
-
|
8
|
+
#return the user JSON on success
|
9
|
+
render json: current_user, status: :created
|
9
10
|
else
|
10
|
-
|
11
|
+
#return error mesage in a JSON on error
|
12
|
+
render json: {errors: {user:["Invalid email or password"]}}, status: :unprocessable_entity
|
11
13
|
end
|
12
14
|
end
|
15
|
+
|
13
16
|
def delete
|
14
17
|
user = Cadenero::User.find_by_id(params[:id])
|
15
|
-
|
16
|
-
Rails.logger.info "user: #{user.to_json}"
|
17
|
-
Rails.logger.info "current_user.id: #{current_user}"
|
18
|
-
Rails.logger.info "user_signed_in?: #{user_signed_in?}"
|
19
|
-
if user_signed_in?
|
18
|
+
if user_signed_in?
|
20
19
|
env['warden'].logout(:user)
|
21
|
-
render json: {message: "Successful logout"}, status:
|
20
|
+
render json: {message: "Successful logout"}, status: :ok
|
22
21
|
else
|
23
|
-
render json: {message: "Unsuccessful logout user with id"}, status:
|
22
|
+
render json: {message: "Unsuccessful logout user with id"}, status: :forbidden
|
24
23
|
end
|
25
24
|
end
|
26
25
|
end
|
@@ -20,7 +20,7 @@ module Cadenero
|
|
20
20
|
account = Cadenero::V1::Account.where(subdomain: request.subdomain).first
|
21
21
|
@user = account.users.create(params[:user])
|
22
22
|
force_authentication!(@user)
|
23
|
-
render json: @user, status:
|
23
|
+
render json: @user, status: :created
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -10,16 +10,15 @@ module Cadenero
|
|
10
10
|
def create
|
11
11
|
@account = Cadenero::V1::Account.create_with_owner(params[:account])
|
12
12
|
if @account.valid?
|
13
|
-
force_authentication!(@account.owner)
|
14
13
|
@account.create_schema
|
15
14
|
@account.ensure_authentication_token!
|
16
|
-
|
17
|
-
|
18
|
-
auth_token: @account.authentication_token
|
19
|
-
}
|
20
|
-
render json: data, status: 201
|
15
|
+
force_authentication!(@account.owner)
|
16
|
+
render json: @account, status: :created
|
21
17
|
else
|
22
|
-
|
18
|
+
@data = {
|
19
|
+
errors: @account.errors
|
20
|
+
}
|
21
|
+
render json: @data, status: :unprocessable_entity
|
23
22
|
end
|
24
23
|
end
|
25
24
|
end
|
data/app/models/cadenero/user.rb
CHANGED
@@ -2,7 +2,13 @@ module Cadenero
|
|
2
2
|
class User < ActiveRecord::Base
|
3
3
|
attr_accessible :email, :password, :password_confirmation
|
4
4
|
has_secure_password
|
5
|
-
has_many :
|
6
|
-
has_many :
|
5
|
+
has_many :accounts, class_name: "Cadenero::V1::Account", foreign_key: "owner_id"
|
6
|
+
has_many :members, class_name: "Cadenero::Member"
|
7
|
+
has_many :memberships, through: :members, source: :account
|
8
|
+
|
9
|
+
def auth_token
|
10
|
+
accounts[0].authentication_token if accounts[0]
|
11
|
+
end
|
12
|
+
|
7
13
|
end
|
8
14
|
end
|
@@ -2,11 +2,12 @@ module Cadenero::V1
|
|
2
2
|
class Account < ActiveRecord::Base
|
3
3
|
belongs_to :owner, :class_name => "Cadenero::User"
|
4
4
|
has_many :members, :class_name => "Cadenero::Member"
|
5
|
-
has_many :users, :through => :members
|
5
|
+
has_many :users, :through => :members, :class_name => "Cadenero::User"
|
6
6
|
|
7
7
|
accepts_nested_attributes_for :owner
|
8
8
|
attr_accessible :name, :subdomain, :owner_attributes, :owner
|
9
9
|
validates :subdomain, :presence => true, :uniqueness => true
|
10
|
+
validates :owner, :presence => true
|
10
11
|
|
11
12
|
# Creates an accout and assign the provided [Cadenero::User] as owner to the account
|
12
13
|
# @param [Hash] params list
|
@@ -29,32 +30,44 @@ module Cadenero::V1
|
|
29
30
|
Apartment::Database.create(subdomain)
|
30
31
|
end
|
31
32
|
|
33
|
+
# Generate authentication token unless already exists.
|
34
|
+
def ensure_authentication_token
|
35
|
+
reset_authentication_token if authentication_token.blank?
|
36
|
+
end
|
37
|
+
|
32
38
|
# Generate authentication token unless already exists and save the record.
|
33
39
|
def ensure_authentication_token!
|
34
40
|
reset_authentication_token! if authentication_token.blank?
|
35
41
|
end
|
36
42
|
|
37
43
|
# Generate new authentication token (a.k.a. "single access token").
|
38
|
-
def reset_authentication_token
|
44
|
+
def reset_authentication_token
|
39
45
|
self.authentication_token = self.class.authentication_token
|
40
46
|
end
|
41
47
|
|
42
|
-
# Generate
|
43
|
-
|
44
|
-
|
45
|
-
|
48
|
+
# Generate new authentication token and save the record.
|
49
|
+
def reset_authentication_token!
|
50
|
+
reset_authentication_token
|
51
|
+
save(:validate => false)
|
46
52
|
end
|
47
53
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
loop do
|
53
|
-
token = SecureRandom.base64(15).tr('+/=lIO0', 'pqrsxyz')
|
54
|
-
break token unless Account.where({ column => token }).first
|
54
|
+
class << self
|
55
|
+
# Generate a token checking if one does not already exist in the database.
|
56
|
+
def authentication_token
|
57
|
+
generate_token(:authentication_token)
|
55
58
|
end
|
56
|
-
end
|
57
59
|
|
60
|
+
protected
|
61
|
+
# Generate a token by looping and ensuring does not already exist.
|
62
|
+
# @params [String] column is the name of the column that has the authentication token
|
63
|
+
# @return a unique generated authentication_token
|
64
|
+
def generate_token(column)
|
65
|
+
loop do
|
66
|
+
token = SecureRandom.base64(15).tr('+/=lIO0', 'pqrsxyz')
|
67
|
+
break token unless Account.where({ column => token }).first
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
58
71
|
|
59
72
|
end
|
60
73
|
end
|
@@ -1,9 +1,8 @@
|
|
1
1
|
module Cadenero
|
2
2
|
class AccountSerializer < ActiveModel::Serializer
|
3
3
|
embed :ids
|
4
|
-
attributes :id, :name, :subdomain
|
5
|
-
has_one :owner
|
6
|
-
has_many :
|
7
|
-
has_many :users, :through => :members
|
4
|
+
attributes :id, :name, :subdomain, :authentication_token
|
5
|
+
has_one :owner
|
6
|
+
has_many :users
|
8
7
|
end
|
9
8
|
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
module Cadenero
|
2
2
|
class UserSerializer < ActiveModel::Serializer
|
3
3
|
embed :ids
|
4
|
-
attributes :id, :email
|
5
|
-
has_many :
|
6
|
-
has_many :
|
4
|
+
attributes :id, :email, :auth_token
|
5
|
+
has_many :accounts
|
6
|
+
has_many :memberships
|
7
7
|
|
8
8
|
end
|
9
9
|
end
|
data/lib/cadenero/version.rb
CHANGED
@@ -2,24 +2,40 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
module Cadenero
|
4
4
|
describe V1::AccountsController do
|
5
|
-
|
5
|
+
let!(:account) { stub_model(Cadenero::V1::Account, id: 1001, authentication_token: "dsdaefer412add") }
|
6
|
+
|
7
|
+
before do
|
8
|
+
Cadenero::V1::Account.should_receive(:create_with_owner).and_return(account)
|
9
|
+
controller.stub(:force_authentication!)
|
10
|
+
end
|
6
11
|
|
7
|
-
|
8
|
-
|
12
|
+
context "creates the account's schema" do
|
9
13
|
before do
|
10
|
-
Cadenero::V1::Account.should_receive(:create_with_owner).and_return(account)
|
11
14
|
account.stub :valid? => true
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
+
end
|
15
16
|
it "should create a schema and ensure a token is returned for the account on successful creation" do
|
16
17
|
account.should_receive(:create_schema)
|
17
18
|
account.should_receive(:ensure_authentication_token!)
|
18
|
-
post :create, account: { name: "First Account", subdomain: "first" }, use_route: :cadenero
|
19
|
-
expect(
|
20
|
-
|
19
|
+
post :create, format: :json, account: { name: "First Account", subdomain: "first" }, use_route: :cadenero
|
20
|
+
expect(response.status).to eq(201)
|
21
|
+
expect(assigns(:account)).to eq(account)
|
22
|
+
expect(assigns(:account)[:authentication_token]).to eq(account.authentication_token)
|
23
|
+
end
|
24
|
+
end
|
21
25
|
|
22
|
-
|
26
|
+
context "when the message fails to save" do
|
27
|
+
before do
|
28
|
+
account.stub(:save).and_return(false)
|
29
|
+
account.stub :valid? => false
|
30
|
+
end
|
31
|
+
it "assigns @data to error" do
|
32
|
+
post :create, format: :json, account: {name: "First Account" }, use_route: :cadenero
|
33
|
+
expect(response.status).to eq(422)
|
34
|
+
expect(assigns(:data).to_json).to eq({
|
35
|
+
errors: account.errors
|
36
|
+
}.to_json)
|
37
|
+
end
|
38
|
+
end
|
23
39
|
end
|
24
40
|
end
|
25
41
|
|
@@ -1,446 +1,83 @@
|
|
1
1
|
Connecting to database specified by database.yml
|
2
2
|
|
3
3
|
|
4
|
-
Started
|
5
|
-
Processing by Cadenero::V1::
|
6
|
-
Parameters: {"default"=>:json}
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
journey (1.0.4) lib/journey/router.rb:56:in `each'
|
70
|
-
journey (1.0.4) lib/journey/router.rb:56:in `call'
|
71
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:612:in `call'
|
72
|
-
warden (1.2.1) lib/warden/manager.rb:35:in `block in call'
|
73
|
-
warden (1.2.1) lib/warden/manager.rb:34:in `catch'
|
74
|
-
warden (1.2.1) lib/warden/manager.rb:34:in `call'
|
75
|
-
apartment (0.21.1) lib/apartment/elevators/generic.rb:19:in `call'
|
76
|
-
apartment (0.21.1) lib/apartment/reloader.rb:19:in `call'
|
77
|
-
rack (1.4.5) lib/rack/etag.rb:23:in `call'
|
78
|
-
rack (1.4.5) lib/rack/conditionalget.rb:35:in `call'
|
79
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/head.rb:14:in `call'
|
80
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
|
81
|
-
activerecord (3.2.13) lib/active_record/query_cache.rb:64:in `call'
|
82
|
-
activerecord (3.2.13) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
|
83
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
|
84
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `_run__1957069703945298240__call__3451355860951162812__callbacks'
|
85
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback'
|
86
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
|
87
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks'
|
88
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
|
89
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/reloader.rb:65:in `call'
|
90
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
|
91
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
|
92
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
|
93
|
-
railties (3.2.13) lib/rails/rack/logger.rb:32:in `call_app'
|
94
|
-
railties (3.2.13) lib/rails/rack/logger.rb:16:in `block in call'
|
95
|
-
activesupport (3.2.13) lib/active_support/tagged_logging.rb:22:in `tagged'
|
96
|
-
railties (3.2.13) lib/rails/rack/logger.rb:16:in `call'
|
97
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/request_id.rb:22:in `call'
|
98
|
-
rack (1.4.5) lib/rack/runtime.rb:17:in `call'
|
99
|
-
activesupport (3.2.13) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
|
100
|
-
rack (1.4.5) lib/rack/lock.rb:15:in `call'
|
101
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/static.rb:63:in `call'
|
102
|
-
railties (3.2.13) lib/rails/engine.rb:479:in `call'
|
103
|
-
railties (3.2.13) lib/rails/application.rb:223:in `call'
|
104
|
-
railties (3.2.13) lib/rails/railtie/configurable.rb:30:in `method_missing'
|
105
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:147:in `handle'
|
106
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:99:in `rescue in block (2 levels) in start'
|
107
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:96:in `block (2 levels) in start'
|
108
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:86:in `each'
|
109
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:86:in `block in start'
|
110
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:66:in `loop'
|
111
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:66:in `start'
|
112
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:13:in `run'
|
113
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/bin/nack_worker:4:in `<main>'
|
114
|
-
|
115
|
-
|
116
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_trace.erb (2.3ms)
|
117
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.7ms)
|
118
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (117.3ms)
|
119
|
-
Connecting to database specified by database.yml
|
120
|
-
|
121
|
-
|
122
|
-
Started GET "/" for 127.0.0.1 at 2013-06-27 22:30:27 -0500
|
123
|
-
Processing by Cadenero::V1::Account::DashboardController#index as HTML
|
124
|
-
Parameters: {"default"=>:json}
|
125
|
-
env['warden'].authenticated?(:user): false
|
126
|
-
Filter chain halted as :authenticate_user! rendered or redirected
|
127
|
-
Completed 422 Unprocessable Entity in 6ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
128
|
-
|
129
|
-
|
130
|
-
Started POST "/v1/sessions" for 127.0.0.1 at 2013-06-27 22:30:33 -0500
|
131
|
-
Processing by Cadenero::V1::Account::SessionsController#create as HTML
|
132
|
-
Parameters: {"user"=>{"email"=>"testy3@example.com", "password"=>"[FILTERED]"}, "default"=>:json}
|
133
|
-
params: {"user"=>{"email"=>"testy3@example.com", "password"=>"changeme"}, "default"=>:json, "controller"=>"cadenero/v1/account/sessions", "action"=>"create"}
|
134
|
-
valid? subdomain: ["test3"]
|
135
|
-
json_params: {}
|
136
|
-
params.empty?: true
|
137
|
-
env['rack.input'].gets: {"user": {"email": "testy3@example.com", "password": "changeme"}}
|
138
|
-
Completed 500 Internal Server Error in 1ms
|
139
|
-
|
140
|
-
TypeError (can't convert nil into String):
|
141
|
-
/Users/manuelevidaurrea/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/json/common.rb:148:in `initialize'
|
142
|
-
/Users/manuelevidaurrea/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/json/common.rb:148:in `new'
|
143
|
-
/Users/manuelevidaurrea/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/json/common.rb:148:in `parse'
|
144
|
-
/Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/config/initializers/warden/strategies/password.rb:13:in `json_params'
|
145
|
-
/Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/config/initializers/warden/strategies/password.rb:19:in `valid?'
|
146
|
-
warden (1.2.1) lib/warden/proxy.rb:351:in `block in _run_strategies_for'
|
147
|
-
warden (1.2.1) lib/warden/proxy.rb:349:in `each'
|
148
|
-
warden (1.2.1) lib/warden/proxy.rb:349:in `_run_strategies_for'
|
149
|
-
warden (1.2.1) lib/warden/proxy.rb:319:in `_perform_authentication'
|
150
|
-
warden (1.2.1) lib/warden/proxy.rb:104:in `authenticate'
|
151
|
-
/Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/app/controllers/cadenero/v1/account/sessions_controller.rb:7:in `create'
|
152
|
-
actionpack (3.2.13) lib/abstract_controller/base.rb:167:in `process_action'
|
153
|
-
actionpack (3.2.13) lib/action_controller/metal/rendering.rb:10:in `process_action'
|
154
|
-
actionpack (3.2.13) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
|
155
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:403:in `_run__718181710820714038__process_action__4579058258704994523__callbacks'
|
156
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback'
|
157
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
|
158
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks'
|
159
|
-
actionpack (3.2.13) lib/abstract_controller/callbacks.rb:17:in `process_action'
|
160
|
-
actionpack (3.2.13) lib/action_controller/metal/rescue.rb:29:in `process_action'
|
161
|
-
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
|
162
|
-
activesupport (3.2.13) lib/active_support/notifications.rb:123:in `block in instrument'
|
163
|
-
activesupport (3.2.13) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
|
164
|
-
activesupport (3.2.13) lib/active_support/notifications.rb:123:in `instrument'
|
165
|
-
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
|
166
|
-
activerecord (3.2.13) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
|
167
|
-
actionpack (3.2.13) lib/abstract_controller/base.rb:121:in `process'
|
168
|
-
actionpack (3.2.13) lib/abstract_controller/rendering.rb:45:in `process'
|
169
|
-
actionpack (3.2.13) lib/action_controller/metal.rb:203:in `dispatch'
|
170
|
-
actionpack (3.2.13) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
|
171
|
-
actionpack (3.2.13) lib/action_controller/metal.rb:246:in `block in action'
|
172
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:73:in `call'
|
173
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
|
174
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:36:in `call'
|
175
|
-
actionpack (3.2.13) lib/action_dispatch/routing/mapper.rb:42:in `call'
|
176
|
-
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
|
177
|
-
journey (1.0.4) lib/journey/router.rb:56:in `each'
|
178
|
-
journey (1.0.4) lib/journey/router.rb:56:in `call'
|
179
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:612:in `call'
|
180
|
-
rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context'
|
181
|
-
rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call'
|
182
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/cookies.rb:341:in `call'
|
183
|
-
warden (1.2.1) lib/warden/manager.rb:31:in `call'
|
184
|
-
railties (3.2.13) lib/rails/engine.rb:479:in `call'
|
185
|
-
railties (3.2.13) lib/rails/railtie/configurable.rb:30:in `method_missing'
|
186
|
-
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
|
187
|
-
journey (1.0.4) lib/journey/router.rb:56:in `each'
|
188
|
-
journey (1.0.4) lib/journey/router.rb:56:in `call'
|
189
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:612:in `call'
|
190
|
-
warden (1.2.1) lib/warden/manager.rb:35:in `block in call'
|
191
|
-
warden (1.2.1) lib/warden/manager.rb:34:in `catch'
|
192
|
-
warden (1.2.1) lib/warden/manager.rb:34:in `call'
|
193
|
-
apartment (0.21.1) lib/apartment/elevators/generic.rb:19:in `call'
|
194
|
-
apartment (0.21.1) lib/apartment/reloader.rb:19:in `call'
|
195
|
-
rack (1.4.5) lib/rack/etag.rb:23:in `call'
|
196
|
-
rack (1.4.5) lib/rack/conditionalget.rb:35:in `call'
|
197
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/head.rb:14:in `call'
|
198
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
|
199
|
-
activerecord (3.2.13) lib/active_record/query_cache.rb:64:in `call'
|
200
|
-
activerecord (3.2.13) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
|
201
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
|
202
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `_run__2774346958201521148__call__1414120328066642717__callbacks'
|
203
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback'
|
204
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
|
205
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks'
|
206
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
|
207
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/reloader.rb:65:in `call'
|
208
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
|
209
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
|
210
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
|
211
|
-
railties (3.2.13) lib/rails/rack/logger.rb:32:in `call_app'
|
212
|
-
railties (3.2.13) lib/rails/rack/logger.rb:16:in `block in call'
|
213
|
-
activesupport (3.2.13) lib/active_support/tagged_logging.rb:22:in `tagged'
|
214
|
-
railties (3.2.13) lib/rails/rack/logger.rb:16:in `call'
|
215
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/request_id.rb:22:in `call'
|
216
|
-
rack (1.4.5) lib/rack/runtime.rb:17:in `call'
|
217
|
-
activesupport (3.2.13) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
|
218
|
-
rack (1.4.5) lib/rack/lock.rb:15:in `call'
|
219
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/static.rb:63:in `call'
|
220
|
-
railties (3.2.13) lib/rails/engine.rb:479:in `call'
|
221
|
-
railties (3.2.13) lib/rails/application.rb:223:in `call'
|
222
|
-
railties (3.2.13) lib/rails/railtie/configurable.rb:30:in `method_missing'
|
223
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:147:in `handle'
|
224
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:99:in `rescue in block (2 levels) in start'
|
225
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:96:in `block (2 levels) in start'
|
226
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:86:in `each'
|
227
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:86:in `block in start'
|
228
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:66:in `loop'
|
229
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:66:in `start'
|
230
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:13:in `run'
|
231
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/bin/nack_worker:4:in `<main>'
|
232
|
-
|
233
|
-
|
234
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.9ms)
|
235
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.5ms)
|
236
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (160.4ms)
|
237
|
-
Connecting to database specified by database.yml
|
238
|
-
|
239
|
-
|
240
|
-
Started GET "/" for 127.0.0.1 at 2013-06-27 22:32:51 -0500
|
241
|
-
Processing by Cadenero::V1::Account::DashboardController#index as HTML
|
242
|
-
Parameters: {"default"=>:json}
|
243
|
-
env['warden'].authenticated?(:user): false
|
244
|
-
Filter chain halted as :authenticate_user! rendered or redirected
|
245
|
-
Completed 422 Unprocessable Entity in 5ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
246
|
-
|
247
|
-
|
248
|
-
Started POST "/v1/sessions" for 127.0.0.1 at 2013-06-27 22:33:38 -0500
|
249
|
-
Processing by Cadenero::V1::Account::SessionsController#create as HTML
|
250
|
-
Parameters: {"user"=>{"email"=>"testy3@example.com", "password"=>"[FILTERED]"}, "default"=>:json}
|
251
|
-
params: {"user"=>{"email"=>"testy3@example.com", "password"=>"changeme"}, "default"=>:json, "controller"=>"cadenero/v1/account/sessions", "action"=>"create"}
|
252
|
-
valid? subdomain: ["test3"]
|
253
|
-
json_params: {}
|
254
|
-
params.empty?: true
|
255
|
-
env['rack.input'].gets: {"user": {"email": "testy3@example.com", "password": "changeme"}}
|
256
|
-
Completed 500 Internal Server Error in 1ms
|
257
|
-
|
258
|
-
TypeError (can't convert nil into String):
|
259
|
-
/Users/manuelevidaurrea/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/json/common.rb:148:in `initialize'
|
260
|
-
/Users/manuelevidaurrea/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/json/common.rb:148:in `new'
|
4
|
+
Started POST "/v1/accounts" for 127.0.0.1 at 2013-06-28 21:05:24 -0500
|
5
|
+
Processing by Cadenero::V1::AccountsController#create as JSON
|
6
|
+
Parameters: {"{\"account\": { \"name\": \"Testy\", \"subdomain\": \"tested\", \"owner_attributes\": {\"email\": \"testy2@example.com\", \"password\": \"changeme\", \"password_confirmation\": \"changeme\"}}}"=>"[FILTERED]", "default"=>:json}
|
7
|
+
AccountsController params[:account]:
|
8
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
9
|
+
[1m[35mCadenero::V1::Account Exists (0.7ms)[0m SELECT 1 AS one FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."subdomain" IS NULL LIMIT 1
|
10
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
11
|
+
[1m[35mCACHE (0.0ms)[0m SELECT 1 AS one FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."subdomain" IS NULL LIMIT 1
|
12
|
+
Completed 422 Unprocessable Entity in 206ms (Views: 0.3ms | ActiveRecord: 53.9ms)
|
13
|
+
|
14
|
+
|
15
|
+
Started POST "/v1/accounts" for 127.0.0.1 at 2013-06-28 21:07:22 -0500
|
16
|
+
Processing by Cadenero::V1::AccountsController#create as JSON
|
17
|
+
Parameters: {"{account: { name: \"Testy\", subdomain: \"tested\", owner_attributes: {email: \"testy2@example.com\", password: \"changeme\", password_confirmation: \"changeme\"}}}"=>"[FILTERED]", "default"=>:json}
|
18
|
+
AccountsController params[:account]:
|
19
|
+
[1m[36m (0.9ms)[0m [1mBEGIN[0m
|
20
|
+
[1m[35mCadenero::V1::Account Exists (0.2ms)[0m SELECT 1 AS one FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."subdomain" IS NULL LIMIT 1
|
21
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK[0m
|
22
|
+
[1m[35mCACHE (0.0ms)[0m SELECT 1 AS one FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."subdomain" IS NULL LIMIT 1
|
23
|
+
Completed 422 Unprocessable Entity in 23ms (Views: 0.3ms | ActiveRecord: 3.4ms)
|
24
|
+
|
25
|
+
|
26
|
+
Started POST "/v1/accounts" for 127.0.0.1 at 2013-06-28 21:08:47 -0500
|
27
|
+
Processing by Cadenero::V1::AccountsController#create as HTML
|
28
|
+
Parameters: {"account"=>{"name"=>"Testy", "subdomain"=>"test2", "owner_attributes"=>{"email"=>"testy2@example.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}, "default"=>:json}
|
29
|
+
AccountsController params[:account]: {"name"=>"Testy", "subdomain"=>"test2", "owner_attributes"=>{"email"=>"testy2@example.com", "password"=>"changeme", "password_confirmation"=>"changeme"}}
|
30
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
31
|
+
[1m[35mCadenero::V1::Account Exists (8.8ms)[0m SELECT 1 AS one FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."subdomain" = 'test2' LIMIT 1
|
32
|
+
[1m[36mSQL (30.8ms)[0m [1mINSERT INTO "public"."cadenero_users" ("created_at", "email", "password_digest", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m [["created_at", Sat, 29 Jun 2013 02:08:48 UTC +00:00], ["email", "testy2@example.com"], ["password_digest", "$2a$10$wgSMh7Xkg5G/Gu4dCFEhz.JpCjRTfmtZTDiOle.UEVZQojQQBMOpy"], ["updated_at", Sat, 29 Jun 2013 02:08:48 UTC +00:00]]
|
33
|
+
[1m[35mSQL (17.7ms)[0m INSERT INTO "public"."cadenero_accounts" ("authentication_token", "created_at", "name", "owner_id", "subdomain", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["authentication_token", nil], ["created_at", Sat, 29 Jun 2013 02:08:48 UTC +00:00], ["name", "Testy"], ["owner_id", 4], ["subdomain", "test2"], ["updated_at", Sat, 29 Jun 2013 02:08:48 UTC +00:00]]
|
34
|
+
[1m[36mCadenero::V1::Account Load (0.5ms)[0m [1mSELECT "public"."cadenero_accounts".* FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."authentication_token" = 'dggwaxfQZ2QupEyd2qcs' LIMIT 1[0m
|
35
|
+
[1m[35m (0.5ms)[0m UPDATE "public"."cadenero_accounts" SET "name" = 'Testy', "subdomain" = 'test2', "owner_id" = 4, "created_at" = '2013-06-29 02:08:48.424365', "updated_at" = '2013-06-29 02:08:48.424365' WHERE "public"."cadenero_accounts"."id" = 4
|
36
|
+
[1m[36m (14.2ms)[0m [1mCOMMIT[0m
|
37
|
+
[1m[35m (1.5ms)[0m BEGIN
|
38
|
+
[1m[36mSQL (3.6ms)[0m [1mINSERT INTO "public"."cadenero_members" ("account_id", "created_at", "updated_at", "user_id") VALUES ($1, $2, $3, $4) RETURNING "id"[0m [["account_id", 4], ["created_at", Sat, 29 Jun 2013 02:08:48 UTC +00:00], ["updated_at", Sat, 29 Jun 2013 02:08:48 UTC +00:00], ["user_id", 4]]
|
39
|
+
[1m[35m (21.9ms)[0m COMMIT
|
40
|
+
[1m[36mCadenero::V1::Account Exists (0.5ms)[0m [1mSELECT 1 AS one FROM "public"."cadenero_accounts" WHERE ("public"."cadenero_accounts"."subdomain" = 'test2' AND "public"."cadenero_accounts"."id" != 4) LIMIT 1[0m
|
41
|
+
[1m[35m (22.3ms)[0m CREATE SCHEMA "test2"
|
42
|
+
[1m[36m (75.3ms)[0m [1mCREATE TABLE "cadenero_accounts" ("id" serial primary key, "name" character varying(255), "subdomain" character varying(255), "authentication_token" character varying(255), "owner_id" integer, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) [0m
|
43
|
+
[1m[35m (16.7ms)[0m CREATE INDEX "index_cadenero_accounts_on_authentication_token" ON "cadenero_accounts" ("authentication_token")
|
44
|
+
[1m[36m (41.3ms)[0m [1mCREATE INDEX "index_cadenero_accounts_on_owner_id" ON "cadenero_accounts" ("owner_id")[0m
|
45
|
+
[1m[35m (4.8ms)[0m CREATE TABLE "cadenero_members" ("id" serial primary key, "account_id" integer, "user_id" integer, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
|
46
|
+
[1m[36m (7.8ms)[0m [1mCREATE INDEX "index_cadenero_members_on_account_id" ON "cadenero_members" ("account_id")[0m
|
47
|
+
[1m[35m (24.8ms)[0m CREATE INDEX "index_cadenero_members_on_user_id" ON "cadenero_members" ("user_id")
|
48
|
+
[1m[36m (7.4ms)[0m [1mCREATE TABLE "cadenero_users" ("id" serial primary key, "email" character varying(255), "password_digest" character varying(255), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) [0m
|
49
|
+
[1m[35m (5.6ms)[0m CREATE TABLE "schema_migrations" ("version" character varying(255) NOT NULL)
|
50
|
+
[1m[36m (3.0ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
51
|
+
[1m[35m (0.4ms)[0m SELECT version FROM "schema_migrations"
|
52
|
+
[1m[36m (10.8ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('20130612073709')[0m
|
53
|
+
[1m[35mCadenero::V1::Account Load (0.5ms)[0m SELECT "public"."cadenero_accounts".* FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."authentication_token" = 'yhJzssan6ExxfuGDPeuq' LIMIT 1
|
54
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
55
|
+
[1m[35m (0.1ms)[0m COMMIT
|
56
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
57
|
+
[1m[35mSQL (1.1ms)[0m INSERT INTO "public"."cadenero_members" ("account_id", "created_at", "updated_at", "user_id") VALUES ($1, $2, $3, $4) RETURNING "id" [["account_id", 4], ["created_at", Sat, 29 Jun 2013 02:08:49 UTC +00:00], ["updated_at", Sat, 29 Jun 2013 02:08:49 UTC +00:00], ["user_id", 4]]
|
58
|
+
[1m[36m (0.5ms)[0m [1mCOMMIT[0m
|
59
|
+
Completed 201 Created in 1127ms (Views: 0.4ms | ActiveRecord: 413.2ms)
|
60
|
+
|
61
|
+
|
62
|
+
Started POST "/v1/accounts" for 127.0.0.1 at 2013-06-28 21:10:32 -0500
|
63
|
+
Error occurred while parsing request parameters.
|
64
|
+
Contents:
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
MultiJson::LoadError (784: unexpected token at '{account: { name: "Testy", subdomain: "tested1", owner_attributes: {email: "testy2@example.com", password: "changeme", password_confirmation: "changeme"}}}'):
|
261
69
|
/Users/manuelevidaurrea/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/json/common.rb:148:in `parse'
|
262
|
-
/Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/config/initializers/warden/strategies/password.rb:13:in `json_params'
|
263
|
-
/Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/config/initializers/warden/strategies/password.rb:19:in `valid?'
|
264
|
-
warden (1.2.1) lib/warden/proxy.rb:351:in `block in _run_strategies_for'
|
265
|
-
warden (1.2.1) lib/warden/proxy.rb:349:in `each'
|
266
|
-
warden (1.2.1) lib/warden/proxy.rb:349:in `_run_strategies_for'
|
267
|
-
warden (1.2.1) lib/warden/proxy.rb:319:in `_perform_authentication'
|
268
|
-
warden (1.2.1) lib/warden/proxy.rb:104:in `authenticate'
|
269
|
-
/Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/app/controllers/cadenero/v1/account/sessions_controller.rb:7:in `create'
|
270
|
-
actionpack (3.2.13) lib/abstract_controller/base.rb:167:in `process_action'
|
271
|
-
actionpack (3.2.13) lib/action_controller/metal/rendering.rb:10:in `process_action'
|
272
|
-
actionpack (3.2.13) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
|
273
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:403:in `_run__1518042003092558342__process_action__1356531673523270988__callbacks'
|
274
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback'
|
275
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
|
276
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks'
|
277
|
-
actionpack (3.2.13) lib/abstract_controller/callbacks.rb:17:in `process_action'
|
278
|
-
actionpack (3.2.13) lib/action_controller/metal/rescue.rb:29:in `process_action'
|
279
|
-
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
|
280
|
-
activesupport (3.2.13) lib/active_support/notifications.rb:123:in `block in instrument'
|
281
|
-
activesupport (3.2.13) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
|
282
|
-
activesupport (3.2.13) lib/active_support/notifications.rb:123:in `instrument'
|
283
|
-
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
|
284
|
-
activerecord (3.2.13) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
|
285
|
-
actionpack (3.2.13) lib/abstract_controller/base.rb:121:in `process'
|
286
|
-
actionpack (3.2.13) lib/abstract_controller/rendering.rb:45:in `process'
|
287
|
-
actionpack (3.2.13) lib/action_controller/metal.rb:203:in `dispatch'
|
288
|
-
actionpack (3.2.13) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
|
289
|
-
actionpack (3.2.13) lib/action_controller/metal.rb:246:in `block in action'
|
290
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:73:in `call'
|
291
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
|
292
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:36:in `call'
|
293
|
-
actionpack (3.2.13) lib/action_dispatch/routing/mapper.rb:42:in `call'
|
294
|
-
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
|
295
|
-
journey (1.0.4) lib/journey/router.rb:56:in `each'
|
296
|
-
journey (1.0.4) lib/journey/router.rb:56:in `call'
|
297
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:612:in `call'
|
298
|
-
rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context'
|
299
|
-
rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call'
|
300
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/cookies.rb:341:in `call'
|
301
|
-
warden (1.2.1) lib/warden/manager.rb:31:in `call'
|
302
|
-
railties (3.2.13) lib/rails/engine.rb:479:in `call'
|
303
|
-
railties (3.2.13) lib/rails/railtie/configurable.rb:30:in `method_missing'
|
304
|
-
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
|
305
|
-
journey (1.0.4) lib/journey/router.rb:56:in `each'
|
306
|
-
journey (1.0.4) lib/journey/router.rb:56:in `call'
|
307
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:612:in `call'
|
308
|
-
warden (1.2.1) lib/warden/manager.rb:35:in `block in call'
|
309
|
-
warden (1.2.1) lib/warden/manager.rb:34:in `catch'
|
310
|
-
warden (1.2.1) lib/warden/manager.rb:34:in `call'
|
311
|
-
apartment (0.21.1) lib/apartment/elevators/generic.rb:19:in `call'
|
312
|
-
apartment (0.21.1) lib/apartment/reloader.rb:19:in `call'
|
313
|
-
rack (1.4.5) lib/rack/etag.rb:23:in `call'
|
314
|
-
rack (1.4.5) lib/rack/conditionalget.rb:35:in `call'
|
315
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/head.rb:14:in `call'
|
316
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
|
317
|
-
activerecord (3.2.13) lib/active_record/query_cache.rb:64:in `call'
|
318
|
-
activerecord (3.2.13) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
|
319
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
|
320
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `_run__3083495747163351369__call__2690404325020222033__callbacks'
|
321
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback'
|
322
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
|
323
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks'
|
324
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
|
325
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/reloader.rb:65:in `call'
|
326
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
|
327
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
|
328
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
|
329
|
-
railties (3.2.13) lib/rails/rack/logger.rb:32:in `call_app'
|
330
|
-
railties (3.2.13) lib/rails/rack/logger.rb:16:in `block in call'
|
331
|
-
activesupport (3.2.13) lib/active_support/tagged_logging.rb:22:in `tagged'
|
332
|
-
railties (3.2.13) lib/rails/rack/logger.rb:16:in `call'
|
333
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/request_id.rb:22:in `call'
|
334
|
-
rack (1.4.5) lib/rack/runtime.rb:17:in `call'
|
335
|
-
activesupport (3.2.13) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
|
336
|
-
rack (1.4.5) lib/rack/lock.rb:15:in `call'
|
337
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/static.rb:63:in `call'
|
338
|
-
railties (3.2.13) lib/rails/engine.rb:479:in `call'
|
339
|
-
railties (3.2.13) lib/rails/application.rb:223:in `call'
|
340
|
-
railties (3.2.13) lib/rails/railtie/configurable.rb:30:in `method_missing'
|
341
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:147:in `handle'
|
342
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:99:in `rescue in block (2 levels) in start'
|
343
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:96:in `block (2 levels) in start'
|
344
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:86:in `each'
|
345
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:86:in `block in start'
|
346
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:66:in `loop'
|
347
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:66:in `start'
|
348
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:13:in `run'
|
349
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/bin/nack_worker:4:in `<main>'
|
350
|
-
|
351
|
-
|
352
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_trace.erb (6.0ms)
|
353
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (5.7ms)
|
354
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (67.3ms)
|
355
|
-
Connecting to database specified by database.yml
|
356
|
-
Connecting to database specified by database.yml
|
357
|
-
|
358
|
-
|
359
|
-
Started GET "/" for 127.0.0.1 at 2013-06-27 22:36:21 -0500
|
360
|
-
Processing by Cadenero::V1::Account::DashboardController#index as HTML
|
361
|
-
Parameters: {"default"=>:json}
|
362
|
-
env['warden'].authenticated?(:user): false
|
363
|
-
Filter chain halted as :authenticate_user! rendered or redirected
|
364
|
-
Completed 422 Unprocessable Entity in 6ms (Views: 0.3ms | ActiveRecord: 0.0ms)
|
365
|
-
|
366
|
-
|
367
|
-
Started POST "/v1/sessions" for 127.0.0.1 at 2013-06-27 22:37:19 -0500
|
368
|
-
Processing by Cadenero::V1::Account::SessionsController#create as HTML
|
369
|
-
Parameters: {"user"=>{"email"=>"testy3@example.com", "password"=>"[FILTERED]"}, "default"=>:json}
|
370
|
-
params: {"user"=>{"email"=>"testy3@example.com", "password"=>"changeme"}, "default"=>:json, "controller"=>"cadenero/v1/account/sessions", "action"=>"create"}
|
371
|
-
valid? subdomain: ["test3"]
|
372
|
-
json_params: {}
|
373
|
-
params.empty?: true
|
374
|
-
env['rack.input'].gets: {"user": {"email": "testy3@example.com", "password": "changeme"}}
|
375
|
-
valid? json_params: {"user"=>{"email"=>"testy3@example.com", "password"=>"changeme"}}
|
376
|
-
json_params: {}
|
377
|
-
params.empty?: true
|
378
|
-
env['rack.input'].gets:
|
379
|
-
Completed 500 Internal Server Error in 1ms
|
380
|
-
|
381
|
-
TypeError (can't convert nil into String):
|
382
|
-
/Users/manuelevidaurrea/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/json/common.rb:148:in `initialize'
|
383
|
-
/Users/manuelevidaurrea/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/json/common.rb:148:in `new'
|
384
70
|
/Users/manuelevidaurrea/.rbenv/versions/1.9.3-p429/lib/ruby/1.9.1/json/common.rb:148:in `parse'
|
385
|
-
/
|
386
|
-
/
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
warden (1.2.1) lib/warden/proxy.rb:104:in `authenticate'
|
392
|
-
/Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/app/controllers/cadenero/v1/account/sessions_controller.rb:7:in `create'
|
393
|
-
actionpack (3.2.13) lib/abstract_controller/base.rb:167:in `process_action'
|
394
|
-
actionpack (3.2.13) lib/action_controller/metal/rendering.rb:10:in `process_action'
|
395
|
-
actionpack (3.2.13) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
|
396
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:403:in `_run__1143065384374630641__process_action__4077513184528746036__callbacks'
|
397
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback'
|
398
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
|
399
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks'
|
400
|
-
actionpack (3.2.13) lib/abstract_controller/callbacks.rb:17:in `process_action'
|
401
|
-
actionpack (3.2.13) lib/action_controller/metal/rescue.rb:29:in `process_action'
|
402
|
-
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
|
403
|
-
activesupport (3.2.13) lib/active_support/notifications.rb:123:in `block in instrument'
|
404
|
-
activesupport (3.2.13) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
|
405
|
-
activesupport (3.2.13) lib/active_support/notifications.rb:123:in `instrument'
|
406
|
-
actionpack (3.2.13) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
|
407
|
-
activerecord (3.2.13) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
|
408
|
-
actionpack (3.2.13) lib/abstract_controller/base.rb:121:in `process'
|
409
|
-
actionpack (3.2.13) lib/abstract_controller/rendering.rb:45:in `process'
|
410
|
-
actionpack (3.2.13) lib/action_controller/metal.rb:203:in `dispatch'
|
411
|
-
actionpack (3.2.13) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
|
412
|
-
actionpack (3.2.13) lib/action_controller/metal.rb:246:in `block in action'
|
413
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:73:in `call'
|
414
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
|
415
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:36:in `call'
|
416
|
-
actionpack (3.2.13) lib/action_dispatch/routing/mapper.rb:42:in `call'
|
417
|
-
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
|
418
|
-
journey (1.0.4) lib/journey/router.rb:56:in `each'
|
419
|
-
journey (1.0.4) lib/journey/router.rb:56:in `call'
|
420
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:612:in `call'
|
421
|
-
rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context'
|
422
|
-
rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call'
|
423
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/cookies.rb:341:in `call'
|
424
|
-
warden (1.2.1) lib/warden/manager.rb:31:in `call'
|
425
|
-
railties (3.2.13) lib/rails/engine.rb:479:in `call'
|
426
|
-
railties (3.2.13) lib/rails/railtie/configurable.rb:30:in `method_missing'
|
427
|
-
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
|
428
|
-
journey (1.0.4) lib/journey/router.rb:56:in `each'
|
429
|
-
journey (1.0.4) lib/journey/router.rb:56:in `call'
|
430
|
-
actionpack (3.2.13) lib/action_dispatch/routing/route_set.rb:612:in `call'
|
431
|
-
warden (1.2.1) lib/warden/manager.rb:35:in `block in call'
|
432
|
-
warden (1.2.1) lib/warden/manager.rb:34:in `catch'
|
433
|
-
warden (1.2.1) lib/warden/manager.rb:34:in `call'
|
434
|
-
apartment (0.21.1) lib/apartment/elevators/generic.rb:19:in `call'
|
435
|
-
apartment (0.21.1) lib/apartment/reloader.rb:19:in `call'
|
436
|
-
rack (1.4.5) lib/rack/etag.rb:23:in `call'
|
437
|
-
rack (1.4.5) lib/rack/conditionalget.rb:35:in `call'
|
438
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/head.rb:14:in `call'
|
439
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
|
71
|
+
multi_json (1.7.7) lib/multi_json/adapters/json_common.rb:16:in `load'
|
72
|
+
multi_json (1.7.7) lib/multi_json/adapter.rb:19:in `load'
|
73
|
+
multi_json (1.7.7) lib/multi_json.rb:130:in `load'
|
74
|
+
activesupport (3.2.13) lib/active_support/json/decoding.rb:15:in `decode'
|
75
|
+
actionpack (3.2.13) lib/action_dispatch/middleware/params_parser.rb:47:in `parse_formatted_parameters'
|
76
|
+
actionpack (3.2.13) lib/action_dispatch/middleware/params_parser.rb:17:in `call'
|
440
77
|
activerecord (3.2.13) lib/active_record/query_cache.rb:64:in `call'
|
441
78
|
activerecord (3.2.13) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
|
442
79
|
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
|
443
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `
|
80
|
+
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `_run__1796019582061484670__call__3517173794547040874__callbacks'
|
444
81
|
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback'
|
445
82
|
activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
|
446
83
|
activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks'
|
@@ -472,144 +109,42 @@ TypeError (can't convert nil into String):
|
|
472
109
|
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/bin/nack_worker:4:in `<main>'
|
473
110
|
|
474
111
|
|
475
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.
|
112
|
+
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.7ms)
|
476
113
|
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.5ms)
|
477
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
valid? subdomain: ["test3"]
|
494
|
-
json_params: {}
|
495
|
-
params.empty?: true
|
496
|
-
env['rack.input'].gets: {"user": {"email": "testy3@example.com", "password": "changeme"}}
|
497
|
-
valid? json_params: {"user"=>{"email"=>"testy3@example.com", "password"=>"changeme"}}
|
498
|
-
json_params: {}
|
499
|
-
params.empty?: true
|
500
|
-
env['rack.input'].gets: {"user": {"email": "testy3@example.com", "password": "changeme"}}
|
501
|
-
subdomain: ["test3"]
|
502
|
-
[1m[36mCadenero::V1::Account Load (2.0ms)[0m [1mSELECT "public"."cadenero_accounts".* FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."subdomain" IN ('test3') LIMIT 1[0m
|
503
|
-
[1m[35mCadenero::V1::Account Load (0.5ms)[0m SELECT "public"."cadenero_accounts".* FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."authentication_token" = 'cxiYZpGPQ6NofqEmM8n2' LIMIT 1
|
504
|
-
account: {"account":{"authentication_token":"cxiYZpGPQ6NofqEmM8n2","created_at":"2013-06-28T01:08:50Z","id":2,"name":"Testy","owner_id":2,"subdomain":"test3","updated_at":"2013-06-28T01:08:50Z"}}
|
505
|
-
json_params: {}
|
506
|
-
params.empty?: true
|
507
|
-
env['rack.input'].gets: {"user": {"email": "testy3@example.com", "password": "changeme"}}
|
508
|
-
[1m[36mCadenero::User Load (6.2ms)[0m [1mSELECT "public"."cadenero_users".* FROM "public"."cadenero_users" INNER JOIN "public"."cadenero_members" ON "public"."cadenero_users"."id" = "public"."cadenero_members"."user_id" WHERE "public"."cadenero_members"."account_id" = 2 AND "public"."cadenero_users"."email" = 'testy3@example.com' LIMIT 1[0m
|
509
|
-
user: {"user":{"created_at":"2013-06-28T01:08:50Z","email":"testy3@example.com","id":2,"password_digest":"$2a$10$pgArrNXaaxznDs865cVjEuSnRomFzOuVsBCYi3rLvrv5OeQNmIiym","updated_at":"2013-06-28T01:08:50Z"}}
|
510
|
-
authenticate user! not null: {"user":{"created_at":"2013-06-28T01:08:50Z","email":"testy3@example.com","id":2,"password_digest":"$2a$10$pgArrNXaaxznDs865cVjEuSnRomFzOuVsBCYi3rLvrv5OeQNmIiym","updated_at":"2013-06-28T01:08:50Z"}}
|
511
|
-
json_params: {}
|
512
|
-
params.empty?: true
|
513
|
-
env['rack.input'].gets: {"user": {"email": "testy3@example.com", "password": "changeme"}}
|
514
|
-
[1m[35mCadenero::User Load (1.3ms)[0m SELECT "public"."cadenero_users".* FROM "public"."cadenero_users" WHERE "public"."cadenero_users"."id" = 2 LIMIT 1
|
515
|
-
[1m[36mCadenero::Member Load (1.4ms)[0m [1mSELECT "public"."cadenero_members".* FROM "public"."cadenero_members" WHERE "public"."cadenero_members"."user_id" = 2[0m
|
516
|
-
[1m[35mCadenero::V1::Account Load (1.8ms)[0m SELECT "public"."cadenero_accounts".* FROM "public"."cadenero_accounts" INNER JOIN "public"."cadenero_members" ON "public"."cadenero_accounts"."id" = "public"."cadenero_members"."account_id" WHERE "public"."cadenero_members"."user_id" = 2
|
517
|
-
Completed 201 Created in 617ms (Views: 95.4ms | ActiveRecord: 79.6ms)
|
518
|
-
|
519
|
-
|
520
|
-
Started GET "/" for 127.0.0.1 at 2013-06-27 22:39:10 -0500
|
521
|
-
Processing by Cadenero::V1::Account::DashboardController#index as HTML
|
522
|
-
Parameters: {"default"=>:json}
|
523
|
-
env['warden'].authenticated?(:user): false
|
524
|
-
Filter chain halted as :authenticate_user! rendered or redirected
|
525
|
-
Completed 422 Unprocessable Entity in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
|
526
|
-
|
527
|
-
|
528
|
-
Started GET "/" for 127.0.0.1 at 2013-06-27 22:39:17 -0500
|
529
|
-
Processing by Cadenero::V1::Account::DashboardController#index as HTML
|
530
|
-
Parameters: {"default"=>:json}
|
531
|
-
env['warden'].authenticated?(:user): false
|
532
|
-
Filter chain halted as :authenticate_user! rendered or redirected
|
533
|
-
Completed 422 Unprocessable Entity in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
|
534
|
-
Connecting to database specified by database.yml
|
535
|
-
|
536
|
-
|
537
|
-
Started POST "/v1/sessions" for 127.0.0.1 at 2013-06-27 23:43:41 -0500
|
538
|
-
|
539
|
-
Apartment::SchemaNotFound (One of the following schema(s) is invalid: test3):
|
540
|
-
apartment (0.21.1) lib/apartment/adapters/postgresql_adapter.rb:82:in `rescue in connect_to_new'
|
541
|
-
apartment (0.21.1) lib/apartment/adapters/postgresql_adapter.rb:75:in `connect_to_new'
|
542
|
-
apartment (0.21.1) lib/apartment/adapters/abstract_adapter.rb:93:in `switch'
|
543
|
-
apartment (0.21.1) lib/apartment/elevators/generic.rb:17:in `call'
|
544
|
-
apartment (0.21.1) lib/apartment/reloader.rb:19:in `call'
|
545
|
-
rack (1.4.5) lib/rack/etag.rb:23:in `call'
|
546
|
-
rack (1.4.5) lib/rack/conditionalget.rb:35:in `call'
|
547
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/head.rb:14:in `call'
|
548
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
|
549
|
-
activerecord (3.2.13) lib/active_record/query_cache.rb:64:in `call'
|
550
|
-
activerecord (3.2.13) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
|
551
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
|
552
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `_run__756117718638477808__call__3994278690128380133__callbacks'
|
553
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback'
|
554
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
|
555
|
-
activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks'
|
556
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
|
557
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/reloader.rb:65:in `call'
|
558
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
|
559
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
|
560
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
|
561
|
-
railties (3.2.13) lib/rails/rack/logger.rb:32:in `call_app'
|
562
|
-
railties (3.2.13) lib/rails/rack/logger.rb:16:in `block in call'
|
563
|
-
activesupport (3.2.13) lib/active_support/tagged_logging.rb:22:in `tagged'
|
564
|
-
railties (3.2.13) lib/rails/rack/logger.rb:16:in `call'
|
565
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/request_id.rb:22:in `call'
|
566
|
-
rack (1.4.5) lib/rack/runtime.rb:17:in `call'
|
567
|
-
activesupport (3.2.13) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
|
568
|
-
rack (1.4.5) lib/rack/lock.rb:15:in `call'
|
569
|
-
actionpack (3.2.13) lib/action_dispatch/middleware/static.rb:63:in `call'
|
570
|
-
railties (3.2.13) lib/rails/engine.rb:479:in `call'
|
571
|
-
railties (3.2.13) lib/rails/application.rb:223:in `call'
|
572
|
-
railties (3.2.13) lib/rails/railtie/configurable.rb:30:in `method_missing'
|
573
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:147:in `handle'
|
574
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:99:in `rescue in block (2 levels) in start'
|
575
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:96:in `block (2 levels) in start'
|
576
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:86:in `each'
|
577
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:86:in `block in start'
|
578
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:66:in `loop'
|
579
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:66:in `start'
|
580
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/lib/nack/server.rb:13:in `run'
|
581
|
-
/Users/manuelevidaurrea/Library/Application Support/Pow/Versions/0.4.0/node_modules/nack/bin/nack_worker:4:in `<main>'
|
582
|
-
|
583
|
-
|
584
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.8ms)
|
585
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.2ms)
|
586
|
-
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (20.2ms)
|
587
|
-
|
588
|
-
|
589
|
-
Started POST "/v1/accounts" for 127.0.0.1 at 2013-06-27 23:45:05 -0500
|
590
|
-
Processing by Cadenero::V1::AccountsController#create as HTML
|
591
|
-
Parameters: {"account"=>{"name"=>"Testy", "subdomain"=>"test", "owner_attributes"=>{"email"=>"testy@example.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}, "default"=>:json}
|
592
|
-
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
593
|
-
[1m[35mCadenero::V1::Account Exists (0.5ms)[0m SELECT 1 AS one FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."subdomain" = 'test' LIMIT 1
|
594
|
-
[1m[36mSQL (2.3ms)[0m [1mINSERT INTO "public"."cadenero_users" ("created_at", "email", "password_digest", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m [["created_at", Fri, 28 Jun 2013 04:45:05 UTC +00:00], ["email", "testy@example.com"], ["password_digest", "$2a$10$ItllcpD13XNrNciXgTwWc.tyyvFtfjaTd6xNuM0Rq5b6cMKdm3DWa"], ["updated_at", Fri, 28 Jun 2013 04:45:05 UTC +00:00]]
|
595
|
-
[1m[35mSQL (0.8ms)[0m INSERT INTO "public"."cadenero_accounts" ("authentication_token", "created_at", "name", "owner_id", "subdomain", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["authentication_token", nil], ["created_at", Fri, 28 Jun 2013 04:45:06 UTC +00:00], ["name", "Testy"], ["owner_id", 3], ["subdomain", "test"], ["updated_at", Fri, 28 Jun 2013 04:45:06 UTC +00:00]]
|
114
|
+
Rendered /Users/manuelevidaurrea/Documents/work/agiltec/workspace/ruby/rails/cadenero/vendor/bundle/gems/actionpack-3.2.13/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (23.7ms)
|
115
|
+
|
116
|
+
|
117
|
+
Started POST "/v1/accounts" for 127.0.0.1 at 2013-06-28 21:11:29 -0500
|
118
|
+
Processing by Cadenero::V1::AccountsController#create as */*
|
119
|
+
Parameters: {"account"=>{"name"=>"Testy", "subdomain"=>"tested1", "owner_attributes"=>{"email"=>"testy2@example.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}, "default"=>:json}
|
120
|
+
AccountsController params[:account]: {"name"=>"Testy", "subdomain"=>"tested1", "owner_attributes"=>{"email"=>"testy2@example.com", "password"=>"changeme", "password_confirmation"=>"changeme"}}
|
121
|
+
[1m[35m (0.1ms)[0m BEGIN
|
122
|
+
[1m[36mCadenero::V1::Account Exists (0.2ms)[0m [1mSELECT 1 AS one FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."subdomain" = 'tested1' LIMIT 1[0m
|
123
|
+
[1m[35mSQL (0.6ms)[0m INSERT INTO "public"."cadenero_users" ("created_at", "email", "password_digest", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["created_at", Sat, 29 Jun 2013 02:11:29 UTC +00:00], ["email", "testy2@example.com"], ["password_digest", "$2a$10$jxGVrWyvKjETuIjMP8Nkmuqea8NUo.JQ9soPMsHskN4Xk/ilR7You"], ["updated_at", Sat, 29 Jun 2013 02:11:29 UTC +00:00]]
|
124
|
+
[1m[36mSQL (0.6ms)[0m [1mINSERT INTO "public"."cadenero_accounts" ("authentication_token", "created_at", "name", "owner_id", "subdomain", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id"[0m [["authentication_token", nil], ["created_at", Sat, 29 Jun 2013 02:11:29 UTC +00:00], ["name", "Testy"], ["owner_id", 5], ["subdomain", "tested1"], ["updated_at", Sat, 29 Jun 2013 02:11:29 UTC +00:00]]
|
125
|
+
[1m[35mCadenero::V1::Account Load (0.3ms)[0m SELECT "public"."cadenero_accounts".* FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."authentication_token" = '7Yyb4MCNW9nfa46sW5aP' LIMIT 1
|
126
|
+
[1m[36m (0.2ms)[0m [1mUPDATE "public"."cadenero_accounts" SET "name" = 'Testy', "subdomain" = 'tested1', "owner_id" = 5, "created_at" = '2013-06-29 02:11:29.978495', "updated_at" = '2013-06-29 02:11:29.978495' WHERE "public"."cadenero_accounts"."id" = 5[0m
|
127
|
+
[1m[35m (2.0ms)[0m COMMIT
|
128
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
129
|
+
[1m[35mSQL (1.2ms)[0m INSERT INTO "public"."cadenero_members" ("account_id", "created_at", "updated_at", "user_id") VALUES ($1, $2, $3, $4) RETURNING "id" [["account_id", 5], ["created_at", Sat, 29 Jun 2013 02:11:29 UTC +00:00], ["updated_at", Sat, 29 Jun 2013 02:11:29 UTC +00:00], ["user_id", 5]]
|
596
130
|
[1m[36m (0.7ms)[0m [1mCOMMIT[0m
|
597
|
-
[1m[
|
598
|
-
[1m[
|
599
|
-
[1m[35m (
|
600
|
-
[1m[
|
601
|
-
[1m[35m (1.3ms)[0m CREATE
|
602
|
-
[1m[36m (
|
603
|
-
[1m[35m (1.
|
604
|
-
[1m[36m (
|
605
|
-
[1m[35m (
|
606
|
-
[1m[36m (
|
607
|
-
[1m[35m (
|
608
|
-
[1m[36m (
|
609
|
-
[1m[35m (
|
610
|
-
[1m[
|
611
|
-
[1m[35m (0.
|
612
|
-
[1m[36m (0.
|
613
|
-
[1m[
|
614
|
-
[1m[
|
615
|
-
|
131
|
+
[1m[35mCadenero::V1::Account Exists (0.3ms)[0m SELECT 1 AS one FROM "public"."cadenero_accounts" WHERE ("public"."cadenero_accounts"."subdomain" = 'tested1' AND "public"."cadenero_accounts"."id" != 5) LIMIT 1
|
132
|
+
[1m[36m (0.7ms)[0m [1mCREATE SCHEMA "tested1"[0m
|
133
|
+
[1m[35m (8.6ms)[0m CREATE TABLE "cadenero_accounts" ("id" serial primary key, "name" character varying(255), "subdomain" character varying(255), "authentication_token" character varying(255), "owner_id" integer, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
|
134
|
+
[1m[36m (4.3ms)[0m [1mCREATE INDEX "index_cadenero_accounts_on_authentication_token" ON "cadenero_accounts" ("authentication_token")[0m
|
135
|
+
[1m[35m (1.3ms)[0m CREATE INDEX "index_cadenero_accounts_on_owner_id" ON "cadenero_accounts" ("owner_id")
|
136
|
+
[1m[36m (3.6ms)[0m [1mCREATE TABLE "cadenero_members" ("id" serial primary key, "account_id" integer, "user_id" integer, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) [0m
|
137
|
+
[1m[35m (1.4ms)[0m CREATE INDEX "index_cadenero_members_on_account_id" ON "cadenero_members" ("account_id")
|
138
|
+
[1m[36m (1.1ms)[0m [1mCREATE INDEX "index_cadenero_members_on_user_id" ON "cadenero_members" ("user_id")[0m
|
139
|
+
[1m[35m (9.0ms)[0m CREATE TABLE "cadenero_users" ("id" serial primary key, "email" character varying(255), "password_digest" character varying(255), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
|
140
|
+
[1m[36m (3.8ms)[0m [1mCREATE TABLE "schema_migrations" ("version" character varying(255) NOT NULL) [0m
|
141
|
+
[1m[35m (1.2ms)[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
|
142
|
+
[1m[36m (0.3ms)[0m [1mSELECT version FROM "schema_migrations"[0m
|
143
|
+
[1m[35m (0.6ms)[0m INSERT INTO "schema_migrations" (version) VALUES ('20130612073709')
|
144
|
+
[1m[36mCadenero::V1::Account Load (0.5ms)[0m [1mSELECT "public"."cadenero_accounts".* FROM "public"."cadenero_accounts" WHERE "public"."cadenero_accounts"."authentication_token" = 'd2xUVTsHdwULLQJYW2z3' LIMIT 1[0m
|
145
|
+
[1m[35m (0.1ms)[0m BEGIN
|
146
|
+
[1m[36m (0.1ms)[0m [1mCOMMIT[0m
|
147
|
+
[1m[35m (0.6ms)[0m BEGIN
|
148
|
+
[1m[36mSQL (0.5ms)[0m [1mINSERT INTO "public"."cadenero_members" ("account_id", "created_at", "updated_at", "user_id") VALUES ($1, $2, $3, $4) RETURNING "id"[0m [["account_id", 5], ["created_at", Sat, 29 Jun 2013 02:11:30 UTC +00:00], ["updated_at", Sat, 29 Jun 2013 02:11:30 UTC +00:00], ["user_id", 5]]
|
149
|
+
[1m[35m (1.2ms)[0m COMMIT
|
150
|
+
Completed 201 Created in 292ms (Views: 0.3ms | ActiveRecord: 77.7ms)
|