knock 1.4.1 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/lib/knock/authenticable.rb +1 -3
- data/lib/knock/version.rb +1 -1
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +108 -90
- data/test/dummy/test/controllers/protected_resources_controller_test.rb +16 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MmQ1NDdiNjFmNjkyNTEyMTIwYjlmNWNjZmU3ZDI3NjhkNTM4ZGNiNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YzlkOGFkZTZkNDRiMzFhNDA1YzQ4NGFiM2NkYTNjMzkxZTA3MjUwOQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ODgxOWJmMTQxNTkzMWYzN2QyMGU0ZGZkNDkyNTE0M2RkMzM4MGVhMTQ5NjA5
|
10
|
+
ZjcxOTdhNTlkNjFiNzlmZTMxYTExODg1OGI5ZjIwZmI4MjRkN2U0ZjhmODk1
|
11
|
+
Y2FjMmZjMjQxYzkxZThmYTFiOTY5NzMzMTI4MmVmMDVlNWY0N2U=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZWY5ZTczMGJmOTkwYThmZmIzMzgzMWUxZDNmZDU3YjJkY2RlODk0NDJmNWY4
|
14
|
+
ZDM4NTI1MDQ3ZjFlYjZlYmUyZjViMjllNDE4NWE4OWFiZGM3Y2NhNGM0ZGYx
|
15
|
+
NjFjZTZkNjU4ZTViNGUxNmNiNWM2NjJjOGU3NjRkMDU5NWYzMmM=
|
data/lib/knock/authenticable.rb
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
module Knock::Authenticable
|
2
2
|
def current_user
|
3
3
|
@current_user ||= begin
|
4
|
-
token = params[:token] ||
|
5
|
-
request.headers['Authorization'].match(/^Bearer (.*)$/)[1]
|
6
|
-
|
4
|
+
token = params[:token] || request.headers['Authorization'].split.last
|
7
5
|
Knock::AuthToken.new(token: token).current_user
|
8
6
|
rescue
|
9
7
|
nil
|
data/lib/knock/version.rb
CHANGED
data/test/dummy/db/test.sqlite3
CHANGED
Binary file
|
data/test/dummy/log/test.log
CHANGED
@@ -1,86 +1,74 @@
|
|
1
|
-
[1m[36m (
|
2
|
-
[1m[35m (1.
|
1
|
+
[1m[36m (1.9ms)[0m [1mCREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar NOT NULL, "password_digest" varchar NOT NULL, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) [0m
|
2
|
+
[1m[35m (1.7ms)[0m CREATE TABLE "schema_migrations" ("version" varchar NOT NULL)
|
3
3
|
[1m[36m (0.1ms)[0m [1mselect sqlite_version(*)[0m
|
4
|
-
[1m[35m (1.
|
4
|
+
[1m[35m (1.7ms)[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
|
5
5
|
[1m[36m (0.1ms)[0m [1mSELECT version FROM "schema_migrations"[0m
|
6
|
-
[1m[35m (1.
|
7
|
-
[1m[36mActiveRecord::SchemaMigration Load (0.
|
8
|
-
[1m[35m (0.
|
9
|
-
[1m[36mFixture Delete (0.
|
10
|
-
[1m[35mFixture Insert (0.
|
11
|
-
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "users" ("email", "password_digest", "created_at", "updated_at", "id") VALUES ('two@example.net', '$2a$04$
|
12
|
-
[1m[35m (
|
13
|
-
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
14
|
-
---------------------------------------
|
15
|
-
KnockTest: test_setup_block_yields_self
|
16
|
-
---------------------------------------
|
17
|
-
[1m[35m (0.0ms)[0m rollback transaction
|
6
|
+
[1m[35m (1.8ms)[0m INSERT INTO "schema_migrations" (version) VALUES ('20150713101607')
|
7
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.2ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
8
|
+
[1m[35m (0.2ms)[0m begin transaction
|
9
|
+
[1m[36mFixture Delete (0.3ms)[0m [1mDELETE FROM "users"[0m
|
10
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "users" ("email", "password_digest", "created_at", "updated_at", "id") VALUES ('one@example.net', '$2a$04$Ftx/SLqnunNsiEOQGJB7SugvltRumkLLDUxzyJinlzeP2PmuuCd8O', '2016-01-28 23:20:53', '2016-01-28 23:20:53', 980190962)
|
11
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "users" ("email", "password_digest", "created_at", "updated_at", "id") VALUES ('two@example.net', '$2a$04$0R8O7gQYRNgKRiJ/A4J63eCUKwK7iD9emys6U6L5LXs.TedzD6wEq', '2016-01-28 23:20:53', '2016-01-28 23:20:53', 298486374)[0m
|
12
|
+
[1m[35m (2.1ms)[0m commit transaction
|
18
13
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
[1m[
|
25
|
-
Completed
|
26
|
-
[1m[
|
27
|
-
[1m[
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
[1m[
|
32
|
-
Processing by
|
33
|
-
|
14
|
+
-----------------------------------------------------------------------------
|
15
|
+
Knock::AuthTokenControllerTest: test_responds_with_404_if_user_does_not_exist
|
16
|
+
-----------------------------------------------------------------------------
|
17
|
+
Processing by Knock::AuthTokenController#create as HTML
|
18
|
+
Parameters: {"auth"=>{"email"=>"wrong@example.net", "password"=>"[FILTERED]"}}
|
19
|
+
[1m[35mUser Load (0.3ms)[0m SELECT "users".* FROM "users" WHERE "users"."email" = ? LIMIT 1 [["email", "wrong@example.net"]]
|
20
|
+
Completed 404 Not Found in 7ms (ActiveRecord: 0.3ms)
|
21
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
22
|
+
[1m[35m (0.1ms)[0m begin transaction
|
23
|
+
-----------------------------------------------------------------------------
|
24
|
+
Knock::AuthTokenControllerTest: test_responds_with_404_if_password_is_invalid
|
25
|
+
-----------------------------------------------------------------------------
|
26
|
+
[1m[36mUser Load (0.2ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m [["id", 980190962]]
|
27
|
+
Processing by Knock::AuthTokenController#create as HTML
|
28
|
+
Parameters: {"auth"=>{"email"=>"one@example.net", "password"=>"[FILTERED]"}}
|
29
|
+
[1m[35mUser Load (0.2ms)[0m SELECT "users".* FROM "users" WHERE "users"."email" = ? LIMIT 1 [["email", "one@example.net"]]
|
30
|
+
Completed 404 Not Found in 3ms (ActiveRecord: 0.2ms)
|
34
31
|
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
35
32
|
[1m[35m (0.1ms)[0m begin transaction
|
36
33
|
------------------------------------------------------
|
37
34
|
Knock::AuthTokenControllerTest: test_responds_with_201
|
38
35
|
------------------------------------------------------
|
39
|
-
[1m[36mUser Load (0.
|
36
|
+
[1m[36mUser Load (0.2ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m [["id", 980190962]]
|
40
37
|
Processing by Knock::AuthTokenController#create as HTML
|
41
38
|
Parameters: {"auth"=>{"email"=>"one@example.net", "password"=>"[FILTERED]"}}
|
42
|
-
[1m[35mUser Load (0.
|
39
|
+
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."email" = ? LIMIT 1 [["email", "one@example.net"]]
|
43
40
|
[1m[36mUser Load (0.1ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."email" = ? LIMIT 1[0m [["email", "one@example.net"]]
|
44
|
-
Completed 201 Created in
|
41
|
+
Completed 201 Created in 5ms (Views: 0.3ms | ActiveRecord: 0.2ms)
|
45
42
|
[1m[35m (0.1ms)[0m rollback transaction
|
46
|
-
[1m[36m (0.
|
47
|
-
|
48
|
-
|
49
|
-
|
43
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
44
|
+
-------------------------------------------------------------------------------------
|
45
|
+
ProtectedResourcesControllerTest: test_accepts_any_prefix_in_the_authorization_header
|
46
|
+
-------------------------------------------------------------------------------------
|
50
47
|
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 980190962]]
|
51
|
-
Processing by
|
52
|
-
|
53
|
-
|
54
|
-
Completed 404 Not Found in 2ms (ActiveRecord: 0.1ms)
|
48
|
+
Processing by ProtectedResourcesController#index as HTML
|
49
|
+
[1m[36mUser Load (0.1ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m [["id", 980190962]]
|
50
|
+
Completed 200 OK in 1ms (ActiveRecord: 0.1ms)
|
55
51
|
[1m[35m (0.1ms)[0m rollback transaction
|
56
52
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
Parameters: {"auth"=>{"email"=>"wrong@example.net", "password"=>"[FILTERED]"}}
|
62
|
-
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."email" = ? LIMIT 1 [["email", "wrong@example.net"]]
|
63
|
-
Completed 404 Not Found in 1ms (ActiveRecord: 0.1ms)
|
64
|
-
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
65
|
-
[1m[35m (0.1ms)[0m begin transaction
|
66
|
-
-----------------------------------------------------------------
|
67
|
-
ProtectedResourcesControllerTest: test_responds_with_unauthorized
|
68
|
-
-----------------------------------------------------------------
|
69
|
-
[1m[36mUser Load (0.1ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m [["id", 980190962]]
|
53
|
+
------------------------------------------------------------------------------
|
54
|
+
ProtectedResourcesControllerTest: test_responds_with_success_with_token_in_url
|
55
|
+
------------------------------------------------------------------------------
|
56
|
+
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 980190962]]
|
70
57
|
Processing by ProtectedResourcesController#index as HTML
|
71
|
-
|
72
|
-
|
58
|
+
Parameters: {"token"=>"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE0NTQxMDk2NTMsImF1ZCI6ZmFsc2UsInN1YiI6OTgwMTkwOTYyfQ.d4fLV6Mmra4gxopgyHq0c_vz9GVe8Jzku38Waw3jOgM"}
|
59
|
+
[1m[36mUser Load (0.1ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m [["id", 980190962]]
|
60
|
+
Completed 200 OK in 1ms (ActiveRecord: 0.1ms)
|
73
61
|
[1m[35m (0.1ms)[0m rollback transaction
|
74
|
-
[1m[36m (0.
|
75
|
-
|
76
|
-
ProtectedResourcesControllerTest:
|
77
|
-
|
62
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
63
|
+
------------------------------------------------------------------------------
|
64
|
+
ProtectedResourcesControllerTest: test_has_a_current_user_after_authentication
|
65
|
+
------------------------------------------------------------------------------
|
78
66
|
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 980190962]]
|
79
67
|
Processing by ProtectedResourcesController#index as HTML
|
80
|
-
[1m[36mUser Load (0.
|
81
|
-
Completed 200 OK in 1ms (ActiveRecord: 0.
|
68
|
+
[1m[36mUser Load (0.1ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m [["id", 980190962]]
|
69
|
+
Completed 200 OK in 1ms (ActiveRecord: 0.1ms)
|
82
70
|
[1m[35m (0.1ms)[0m rollback transaction
|
83
|
-
[1m[36m (0.
|
71
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
84
72
|
-------------------------------------------------------------------------------------------
|
85
73
|
ProtectedResourcesControllerTest: test_responds_with_unauthorized_with_invalid_token_in_url
|
86
74
|
-------------------------------------------------------------------------------------------
|
@@ -90,16 +78,16 @@ Processing by ProtectedResourcesController#index as HTML
|
|
90
78
|
Filter chain halted as :authenticate rendered or redirected
|
91
79
|
Completed 401 Unauthorized in 0ms (ActiveRecord: 0.0ms)
|
92
80
|
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
93
|
-
[1m[35m (0.
|
94
|
-
|
95
|
-
ProtectedResourcesControllerTest:
|
96
|
-
|
81
|
+
[1m[35m (0.1ms)[0m begin transaction
|
82
|
+
----------------------------------------------------------------------------------
|
83
|
+
ProtectedResourcesControllerTest: test_accepts_authorization_header_without_prefix
|
84
|
+
----------------------------------------------------------------------------------
|
97
85
|
[1m[36mUser Load (0.1ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m [["id", 980190962]]
|
98
86
|
Processing by ProtectedResourcesController#index as HTML
|
99
|
-
[1m[35mUser Load (0.
|
100
|
-
Completed 200 OK in 1ms (ActiveRecord: 0.
|
87
|
+
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 980190962]]
|
88
|
+
Completed 200 OK in 1ms (ActiveRecord: 0.1ms)
|
101
89
|
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
102
|
-
[1m[35m (0.
|
90
|
+
[1m[35m (0.1ms)[0m begin transaction
|
103
91
|
----------------------------------------------------------------------------------------------
|
104
92
|
ProtectedResourcesControllerTest: test_responds_with_unauthorized_with_invalid_token_in_header
|
105
93
|
----------------------------------------------------------------------------------------------
|
@@ -108,39 +96,69 @@ Processing by ProtectedResourcesController#index as HTML
|
|
108
96
|
Filter chain halted as :authenticate rendered or redirected
|
109
97
|
Completed 401 Unauthorized in 0ms (ActiveRecord: 0.0ms)
|
110
98
|
[1m[35m (0.1ms)[0m rollback transaction
|
111
|
-
[1m[36m (0.
|
112
|
-
|
113
|
-
ProtectedResourcesControllerTest:
|
114
|
-
|
99
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
100
|
+
-----------------------------------------------------------------
|
101
|
+
ProtectedResourcesControllerTest: test_responds_with_unauthorized
|
102
|
+
-----------------------------------------------------------------
|
115
103
|
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 980190962]]
|
116
104
|
Processing by ProtectedResourcesController#index as HTML
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
[1m[35m (0.1ms)[0m
|
121
|
-
|
105
|
+
Filter chain halted as :authenticate rendered or redirected
|
106
|
+
Completed 401 Unauthorized in 0ms (ActiveRecord: 0.0ms)
|
107
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
108
|
+
[1m[35m (0.1ms)[0m begin transaction
|
109
|
+
---------------------------------------------------------------------------------------
|
110
|
+
ProtectedResourcesControllerTest: test_responds_with_success_with_valid_token_in_header
|
111
|
+
---------------------------------------------------------------------------------------
|
112
|
+
[1m[36mUser Load (0.1ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m [["id", 980190962]]
|
113
|
+
Processing by ProtectedResourcesController#index as HTML
|
114
|
+
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 980190962]]
|
115
|
+
Completed 200 OK in 1ms (ActiveRecord: 0.1ms)
|
116
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
117
|
+
[1m[35m (0.1ms)[0m begin transaction
|
122
118
|
----------------------------------------------------------------
|
123
119
|
InstallGeneratorTest: test_Assert_all_files_are_properly_created
|
124
120
|
----------------------------------------------------------------
|
125
|
-
[1m[35m (0.1ms)[0m rollback transaction
|
126
|
-
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
127
|
-
----------------------------------------------------
|
128
|
-
Knock::AuthTokenTest: test_decode_RSA_encoded_tokens
|
129
|
-
----------------------------------------------------
|
130
|
-
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 980190962]]
|
131
121
|
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
132
122
|
[1m[35m (0.1ms)[0m begin transaction
|
133
|
-
|
134
|
-
|
135
|
-
|
123
|
+
--------------------------------------------------
|
124
|
+
CurrentUsersControllerTest: test_responds_with_200
|
125
|
+
--------------------------------------------------
|
126
|
+
[1m[36mUser Load (0.1ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m [["id", 980190962]]
|
127
|
+
Processing by CurrentUsersController#show as HTML
|
128
|
+
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 980190962]]
|
129
|
+
Completed 200 OK in 1ms (ActiveRecord: 0.1ms)
|
136
130
|
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
137
131
|
[1m[35m (0.1ms)[0m begin transaction
|
132
|
+
---------------------------------------------------------------------------
|
133
|
+
CurrentUsersControllerTest: test_responds_with_404_if_user_is_not_logged_in
|
134
|
+
---------------------------------------------------------------------------
|
135
|
+
[1m[36mUser Load (0.1ms)[0m [1mSELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1[0m [["id", 980190962]]
|
136
|
+
Processing by CurrentUsersController#show as HTML
|
137
|
+
Completed 404 Not Found in 0ms (ActiveRecord: 0.0ms)
|
138
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
139
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
138
140
|
-------------------------------------------------------------------------
|
139
141
|
Knock::AuthTokenTest: test_verify_audience_when_token_audience_is_present
|
140
142
|
-------------------------------------------------------------------------
|
141
|
-
[1m[
|
142
|
-
[1m[
|
143
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
144
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
145
|
+
-------------------------------------------------
|
146
|
+
Knock::AuthTokenTest: test_encode_tokens_with_RSA
|
147
|
+
-------------------------------------------------
|
148
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
149
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
143
150
|
-------------------------------------------
|
144
151
|
Knock::AuthTokenTest: test_verify_algorithm
|
145
152
|
-------------------------------------------
|
153
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
154
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
155
|
+
----------------------------------------------------
|
156
|
+
Knock::AuthTokenTest: test_decode_RSA_encoded_tokens
|
157
|
+
----------------------------------------------------
|
158
|
+
[1m[35mUser Load (0.1ms)[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 980190962]]
|
159
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
160
|
+
[1m[35m (0.1ms)[0m begin transaction
|
161
|
+
---------------------------------------
|
162
|
+
KnockTest: test_setup_block_yields_self
|
163
|
+
---------------------------------------
|
146
164
|
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
@@ -43,4 +43,20 @@ class ProtectedResourcesControllerTest < ActionController::TestCase
|
|
43
43
|
assert_response :success
|
44
44
|
assert @controller.current_user.id == @user.id
|
45
45
|
end
|
46
|
+
|
47
|
+
test "accepts any prefix in the authorization header" do
|
48
|
+
@request.env['HTTP_AUTHORIZATION'] = "Other #{@token}"
|
49
|
+
|
50
|
+
get :index
|
51
|
+
|
52
|
+
assert_response :success
|
53
|
+
end
|
54
|
+
|
55
|
+
test "accepts authorization header without prefix" do
|
56
|
+
@request.env['HTTP_AUTHORIZATION'] = "#{@token}"
|
57
|
+
|
58
|
+
get :index
|
59
|
+
|
60
|
+
assert_response :success
|
61
|
+
end
|
46
62
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arnaud MESUREUR
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-01-
|
12
|
+
date: 2016-01-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|