keybase-core 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +19 -0
- data/.ruby-version +1 -0
- data/.travis.yml +3 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +49 -0
- data/LICENSE +23 -0
- data/README.md +137 -0
- data/Rakefile +20 -0
- data/keybase.gemspec +25 -0
- data/lib/keybase.rb +49 -0
- data/lib/keybase/crypto.rb +20 -0
- data/lib/keybase/error.rb +37 -0
- data/lib/keybase/models/dump.rb +33 -0
- data/lib/keybase/models/user.rb +168 -0
- data/lib/keybase/request/base.rb +32 -0
- data/lib/keybase/request/dump/all.rb +10 -0
- data/lib/keybase/request/dump/latest.rb +10 -0
- data/lib/keybase/request/key/add.rb +13 -0
- data/lib/keybase/request/key/revoke.rb +14 -0
- data/lib/keybase/request/root/get_salt_and_login_session.rb +12 -0
- data/lib/keybase/request/root/login.rb +14 -0
- data/lib/keybase/request/sig/post_auth.rb +13 -0
- data/lib/keybase/request/user/lookup.rb +10 -0
- data/lib/keybase/response.rb +14 -0
- data/lib/keybase/token_store.rb +32 -0
- data/test/all.rb +6 -0
- data/test/fixtures/example_dump.json +9 -0
- data/test/fixtures/example_user.json +50 -0
- data/test/integration/dumps_test.rb +23 -0
- data/test/integration/keys_test.rb +26 -0
- data/test/integration/login_users_test.rb +18 -0
- data/test/integration/lookup_users_test.rb +42 -0
- data/test/integration_test_helper.rb +6 -0
- data/test/test_helper.rb +17 -0
- data/test/unit/lib/keybase/crypto_test.rb +45 -0
- data/test/unit/lib/keybase/error_test.rb +32 -0
- data/test/unit/lib/keybase/models/dump_test.rb +31 -0
- data/test/unit/lib/keybase/models/user_test.rb +136 -0
- data/test/unit/lib/keybase/requests/base_test.rb +60 -0
- data/test/unit/lib/keybase/requests/dump/all_test.rb +17 -0
- data/test/unit/lib/keybase/requests/dump/latest_test.rb +17 -0
- data/test/unit/lib/keybase/requests/key/add_test.rb +19 -0
- data/test/unit/lib/keybase/requests/key/revoke_test.rb +19 -0
- data/test/unit/lib/keybase/requests/root/get_salt_test.rb +23 -0
- data/test/unit/lib/keybase/requests/root/login_test.rb +19 -0
- data/test/unit/lib/keybase/requests/sig/post_auth_test.rb +19 -0
- data/test/unit/lib/keybase/requests/user/lookup_test.rb +17 -0
- data/test/unit/lib/keybase/response_test.rb +23 -0
- data/test/unit/lib/keybase/token_store_test.rb +25 -0
- data/test/unit/lib/keybase_test.rb +25 -0
- data/test/vcr_cassettes/dumps.yml +49418 -0
- data/test/vcr_cassettes/keys.yml +349 -0
- data/test/vcr_cassettes/user_login.yml +176 -0
- data/test/vcr_cassettes/user_lookup_foo.yml +89 -0
- data/test/vcr_cassettes/user_lookup_invalid.yml +52 -0
- data/test/vcr_cassettes/user_lookup_missing.yml +52 -0
- data/test/vcr_cassettes/user_lookup_not_found.yml +55 -0
- metadata +200 -0
@@ -0,0 +1,89 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://keybase.io/_/api/1.0/user/lookup.json?username=foo
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.4.3
|
23
|
+
Date:
|
24
|
+
- Sun, 23 Mar 2014 13:43:32 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Content-Length:
|
28
|
+
- '4523'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
X-Powered-By:
|
32
|
+
- Express
|
33
|
+
Strict-Transport-Security:
|
34
|
+
- max-age=31536000
|
35
|
+
Set-Cookie:
|
36
|
+
- guest=lgHZIDQ2NzFjYWZmZGE3MzQ2YWIzM2QzYzY1ZWU1MTJiNDA4zlMu5QTOAAFRgMDEIGuOZbTvv8ek4yZTqN7864KpKBoyXw2xfaGYnj0sTSs1;
|
37
|
+
Max-Age=604.8; Domain=.keybase.io; Path=/; Expires=Sun, 23 Mar 2014 13:53:37
|
38
|
+
GMT; HttpOnly; Secure
|
39
|
+
Etag:
|
40
|
+
- "\"1807377587\""
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
string: |-
|
44
|
+
{
|
45
|
+
"status": {
|
46
|
+
"code": 0,
|
47
|
+
"name": "OK"
|
48
|
+
},
|
49
|
+
"guest_id": "4671caffda7346ab33d3c65ee512b408",
|
50
|
+
"them": {
|
51
|
+
"id": "97839557ccbf46523fcfbe7196ad6f00",
|
52
|
+
"basics": {
|
53
|
+
"username": "foo",
|
54
|
+
"ctime": 1393646075,
|
55
|
+
"mtime": 1393646075,
|
56
|
+
"id_version": 1,
|
57
|
+
"track_version": 3,
|
58
|
+
"last_id_change": 1393646253
|
59
|
+
},
|
60
|
+
"profile": {
|
61
|
+
"mtime": 1393646143,
|
62
|
+
"full_name": "Erik Boettcher",
|
63
|
+
"location": "Pasadena, CA",
|
64
|
+
"bio": "Software engineer at the Jet Propulsion Laboratory"
|
65
|
+
},
|
66
|
+
"public_keys": {
|
67
|
+
"primary": {
|
68
|
+
"kid": "01011493a58d7ab2dba3b832bb39f7640b1eeca0539504c640cac8f727b40ed610bb0a",
|
69
|
+
"key_type": 1,
|
70
|
+
"bundle": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: Keybase OpenPGP JS 0.0.1\nComment: https://keybase.io/crypto\n\n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\n=6AGr\n-----END PGP PUBLIC KEY BLOCK-----",
|
71
|
+
"mtime": 1393646253,
|
72
|
+
"ctime": 1393646253,
|
73
|
+
"ukbid": "423a2cb9fb1d6e5bdfe4548cb60de111",
|
74
|
+
"key_fingerprint": "c65481ed61fd5f753f735588ee0b0da3b7a5deb2"
|
75
|
+
}
|
76
|
+
},
|
77
|
+
"sigs": {
|
78
|
+
"last": {
|
79
|
+
"sig_id": "b2f545766dc185f89ee616923fadcbfcffeeeb54e9626b45a7db6e1378add1ca0f",
|
80
|
+
"seqno": 3,
|
81
|
+
"payload_hash": "266f58c6c227f88eb70fdbca2f4df48ed0b464f5f0b58d04e30d8bac1db213c4"
|
82
|
+
}
|
83
|
+
}
|
84
|
+
},
|
85
|
+
"csrf_token": "lgHZIDQ2NzFjYWZmZGE3MzQ2YWIzM2QzYzY1ZWU1MTJiNDA4zlMu5QTOAAFRgMDEIBdXYE1s8bCrfrnog2rGg7v5HhXgXIxqr4xWptVG9cTi"
|
86
|
+
}
|
87
|
+
http_version:
|
88
|
+
recorded_at: Sun, 23 Mar 2014 13:43:54 GMT
|
89
|
+
recorded_with: VCR 2.8.0
|
@@ -0,0 +1,52 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://keybase.io/_/api/1.0/user/lookup.json?username=d8dw9sfu83u39229i9fewdsi0-fdsii-i
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.4.3
|
23
|
+
Date:
|
24
|
+
- Sun, 16 Mar 2014 19:58:58 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Content-Length:
|
28
|
+
- '160'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
X-Powered-By:
|
32
|
+
- Express
|
33
|
+
Strict-Transport-Security:
|
34
|
+
- max-age=31536000
|
35
|
+
Etag:
|
36
|
+
- "\"1429877151\""
|
37
|
+
body:
|
38
|
+
encoding: UTF-8
|
39
|
+
string: |-
|
40
|
+
{
|
41
|
+
"status": {
|
42
|
+
"code": 100,
|
43
|
+
"desc": "missing or invalid input",
|
44
|
+
"fields": {
|
45
|
+
"username": "invalid name"
|
46
|
+
},
|
47
|
+
"name": "INPUT_ERROR"
|
48
|
+
}
|
49
|
+
}
|
50
|
+
http_version:
|
51
|
+
recorded_at: Sun, 16 Mar 2014 19:59:05 GMT
|
52
|
+
recorded_with: VCR 2.8.0
|
@@ -0,0 +1,52 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://keybase.io/_/api/1.0/user/lookup.json?username=
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.4.3
|
23
|
+
Date:
|
24
|
+
- Sun, 16 Mar 2014 19:58:59 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Content-Length:
|
28
|
+
- '160'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
X-Powered-By:
|
32
|
+
- Express
|
33
|
+
Strict-Transport-Security:
|
34
|
+
- max-age=31536000
|
35
|
+
Etag:
|
36
|
+
- "\"410591839\""
|
37
|
+
body:
|
38
|
+
encoding: UTF-8
|
39
|
+
string: |-
|
40
|
+
{
|
41
|
+
"status": {
|
42
|
+
"code": 100,
|
43
|
+
"desc": "missing or invalid input",
|
44
|
+
"fields": {
|
45
|
+
"username": "missing name"
|
46
|
+
},
|
47
|
+
"name": "INPUT_ERROR"
|
48
|
+
}
|
49
|
+
}
|
50
|
+
http_version:
|
51
|
+
recorded_at: Sun, 16 Mar 2014 19:59:05 GMT
|
52
|
+
recorded_with: VCR 2.8.0
|
@@ -0,0 +1,55 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://keybase.io/_/api/1.0/user/lookup.json?username=foofoofooofo
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- nginx/1.4.3
|
23
|
+
Date:
|
24
|
+
- Sun, 16 Mar 2014 17:54:21 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Content-Length:
|
28
|
+
- '283'
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
X-Powered-By:
|
32
|
+
- Express
|
33
|
+
Strict-Transport-Security:
|
34
|
+
- max-age=31536000
|
35
|
+
Set-Cookie:
|
36
|
+
- guest=lgHZIGQ5YTA1MWQ4NzFmM2NhMzkwZTQ5ODUyMzY2ZTUwYzA4zlMl5U3OAAFRgMDEIP3M%2Bj0OVhyf7bNQncqgtKT3fQNEQLivBYAeqSHi3vgg;
|
37
|
+
Max-Age=604.8; Domain=.keybase.io; Path=/; Expires=Sun, 16 Mar 2014 18:04:26
|
38
|
+
GMT; HttpOnly; Secure
|
39
|
+
Etag:
|
40
|
+
- "\"1066671616\""
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
string: |-
|
44
|
+
{
|
45
|
+
"status": {
|
46
|
+
"code": 205,
|
47
|
+
"desc": "user not found foofoofooofo",
|
48
|
+
"name": "NOT_FOUND"
|
49
|
+
},
|
50
|
+
"guest_id": "d9a051d871f3ca390e49852366e50c08",
|
51
|
+
"csrf_token": "lgHZIGQ5YTA1MWQ4NzFmM2NhMzkwZTQ5ODUyMzY2ZTUwYzA4zlMl5U3OAAFRgMDEIBtOX1pI1pnSiI+0op+vru11ag2myj2lQotitpFvXj/1"
|
52
|
+
}
|
53
|
+
http_version:
|
54
|
+
recorded_at: Sun, 16 Mar 2014 17:54:28 GMT
|
55
|
+
recorded_with: VCR 2.8.0
|
metadata
ADDED
@@ -0,0 +1,200 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: keybase-core
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Max Krohn
|
8
|
+
- Sean Handley
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-03-25 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: scrypt
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ~>
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 1.2.1
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 1.2.1
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: faraday
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ~>
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 0.9.0
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ~>
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 0.9.0
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: vcr
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ~>
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 2.8.0
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 2.8.0
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: webmock
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.8.0
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.8.0
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: minitest
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 5.3.1
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ~>
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 5.3.1
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: simplecov
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ~>
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 0.8.2
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ~>
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 0.8.2
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: yard
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ~>
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 0.8.7.4
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ~>
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 0.8.7.4
|
112
|
+
description: Core Ruby lib for keybase.io
|
113
|
+
email: themax@gmail.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- .gitignore
|
119
|
+
- .ruby-version
|
120
|
+
- .travis.yml
|
121
|
+
- Gemfile
|
122
|
+
- Gemfile.lock
|
123
|
+
- LICENSE
|
124
|
+
- README.md
|
125
|
+
- Rakefile
|
126
|
+
- keybase.gemspec
|
127
|
+
- lib/keybase.rb
|
128
|
+
- lib/keybase/crypto.rb
|
129
|
+
- lib/keybase/error.rb
|
130
|
+
- lib/keybase/models/dump.rb
|
131
|
+
- lib/keybase/models/user.rb
|
132
|
+
- lib/keybase/request/base.rb
|
133
|
+
- lib/keybase/request/dump/all.rb
|
134
|
+
- lib/keybase/request/dump/latest.rb
|
135
|
+
- lib/keybase/request/key/add.rb
|
136
|
+
- lib/keybase/request/key/revoke.rb
|
137
|
+
- lib/keybase/request/root/get_salt_and_login_session.rb
|
138
|
+
- lib/keybase/request/root/login.rb
|
139
|
+
- lib/keybase/request/sig/post_auth.rb
|
140
|
+
- lib/keybase/request/user/lookup.rb
|
141
|
+
- lib/keybase/response.rb
|
142
|
+
- lib/keybase/token_store.rb
|
143
|
+
- test/all.rb
|
144
|
+
- test/fixtures/example_dump.json
|
145
|
+
- test/fixtures/example_user.json
|
146
|
+
- test/integration/dumps_test.rb
|
147
|
+
- test/integration/keys_test.rb
|
148
|
+
- test/integration/login_users_test.rb
|
149
|
+
- test/integration/lookup_users_test.rb
|
150
|
+
- test/integration_test_helper.rb
|
151
|
+
- test/test_helper.rb
|
152
|
+
- test/unit/lib/keybase/crypto_test.rb
|
153
|
+
- test/unit/lib/keybase/error_test.rb
|
154
|
+
- test/unit/lib/keybase/models/dump_test.rb
|
155
|
+
- test/unit/lib/keybase/models/user_test.rb
|
156
|
+
- test/unit/lib/keybase/requests/base_test.rb
|
157
|
+
- test/unit/lib/keybase/requests/dump/all_test.rb
|
158
|
+
- test/unit/lib/keybase/requests/dump/latest_test.rb
|
159
|
+
- test/unit/lib/keybase/requests/key/add_test.rb
|
160
|
+
- test/unit/lib/keybase/requests/key/revoke_test.rb
|
161
|
+
- test/unit/lib/keybase/requests/root/get_salt_test.rb
|
162
|
+
- test/unit/lib/keybase/requests/root/login_test.rb
|
163
|
+
- test/unit/lib/keybase/requests/sig/post_auth_test.rb
|
164
|
+
- test/unit/lib/keybase/requests/user/lookup_test.rb
|
165
|
+
- test/unit/lib/keybase/response_test.rb
|
166
|
+
- test/unit/lib/keybase/token_store_test.rb
|
167
|
+
- test/unit/lib/keybase_test.rb
|
168
|
+
- test/vcr_cassettes/dumps.yml
|
169
|
+
- test/vcr_cassettes/keys.yml
|
170
|
+
- test/vcr_cassettes/user_login.yml
|
171
|
+
- test/vcr_cassettes/user_lookup_foo.yml
|
172
|
+
- test/vcr_cassettes/user_lookup_invalid.yml
|
173
|
+
- test/vcr_cassettes/user_lookup_missing.yml
|
174
|
+
- test/vcr_cassettes/user_lookup_not_found.yml
|
175
|
+
homepage: https://github.com/keybase/ruby-core
|
176
|
+
licenses:
|
177
|
+
- BSD-3-Clause
|
178
|
+
metadata: {}
|
179
|
+
post_install_message:
|
180
|
+
rdoc_options: []
|
181
|
+
require_paths:
|
182
|
+
- lib
|
183
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ~>
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 2.1.0
|
188
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - ! '>='
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '0'
|
193
|
+
requirements: []
|
194
|
+
rubyforge_project:
|
195
|
+
rubygems_version: 2.2.2
|
196
|
+
signing_key:
|
197
|
+
specification_version: 4
|
198
|
+
summary: keybase-core
|
199
|
+
test_files: []
|
200
|
+
has_rdoc:
|