quickblox-rb 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +63 -0
- data/lib/{quickblox_api.rb → api.rb} +0 -0
- data/lib/models.rb +5 -4
- data/lib/quickblox.rb +1 -1
- data/quickblox-rb.gemspec +1 -1
- data/test/{quickblox_api_test.rb → api_test.rb} +2 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f4740bda5465f46b1f3c9dd2321aaaa2b5e5428
|
4
|
+
data.tar.gz: b882aa81e405f1d845232e04b3309cb0fe515386
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e070f238a42d8ef3e2a97821394b6f66922c84d2576750365d18ccdc7b61ab1b20a0e450ba0324c6983717dd00cb6627ce635f02584c1ceda6d9c3ca4093d668
|
7
|
+
data.tar.gz: d94f4698d3964e202c6bf76e470602500d43dcad0ca6ac9061b8608d2dc7e09c10ee6f14e329323dcbd58a3921b3b7a18ec189b1292f3a5285c0706fbd47c42f
|
data/README.md
CHANGED
@@ -2,6 +2,69 @@
|
|
2
2
|
|
3
3
|
This is a gem to work with [Quickblox API](http://quickblox.com/developers/Overview) in Ruby.
|
4
4
|
|
5
|
+
## Use
|
6
|
+
|
7
|
+
It all starts by creating a `Quickblox::API` instance with your credentials.
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
require "quickblox"
|
11
|
+
|
12
|
+
qb_api = Quickblox::API.new(
|
13
|
+
auth_key: "AUTH_KEY",
|
14
|
+
auth_secret: "AUTH_SECRET",
|
15
|
+
application_id: 1234,
|
16
|
+
email: "account@owner.com",
|
17
|
+
password: "foobarbaz"
|
18
|
+
)
|
19
|
+
```
|
20
|
+
|
21
|
+
This will create a user-level token associated to the account with `email` and `password`.
|
22
|
+
|
23
|
+
If you don't provide `email` nor `password`, it'll create an application level token.
|
24
|
+
|
25
|
+
You don't need to worry about the token itself when using `quickblox-rb`, but it's important to keep in mind that the actions you can make with the API are associated with the token's access right. More about this [here](http://quickblox.com/developers/Authentication_and_Authorization#Access_Rights).
|
26
|
+
|
27
|
+
Now you can query the API.
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
qb_api.create_session
|
31
|
+
# All the methods below use `create_session` if they have to. No need to call it explicitly.
|
32
|
+
|
33
|
+
qb_api.get_user(id: 1234)
|
34
|
+
|
35
|
+
qb_api.get_dialog(id: "dialog-id")
|
36
|
+
|
37
|
+
qb_api.get_messages(dialog_id: "dialog-id")
|
38
|
+
|
39
|
+
qb_api.chat_transcript(dialog_id: "dialog-id")
|
40
|
+
```
|
41
|
+
|
42
|
+
These methods return instances of `Quickblox::Models`. I encourage you to [read the source](https://github.com/properati/quickblox-rb/blob/master/lib/models.rb) [and tests](https://github.com/properati/quickblox-rb/blob/master/test/quickblox_api_test.rb) to find more about them.
|
43
|
+
|
44
|
+
### Other nice things
|
45
|
+
|
46
|
+
Use `Quickblox::API#last_response` to inspect the HTTP response of your latest request. Useful for debugging!
|
47
|
+
|
48
|
+
```ruby
|
49
|
+
qb_api.get_user(id: 123)
|
50
|
+
|
51
|
+
qb_api.last_response
|
52
|
+
```
|
53
|
+
|
54
|
+
Inspect your current session:
|
55
|
+
|
56
|
+
```ruby
|
57
|
+
qb_api.create_session
|
58
|
+
|
59
|
+
qb_api.session
|
60
|
+
```
|
61
|
+
|
62
|
+
## Install
|
63
|
+
|
64
|
+
```
|
65
|
+
$ gem install quickblox-rb
|
66
|
+
```
|
67
|
+
|
5
68
|
## Development
|
6
69
|
|
7
70
|
1. Install [dep](https://github.com/cyx/dep) with `gem install dep`.
|
File without changes
|
data/lib/models.rb
CHANGED
@@ -32,17 +32,18 @@ module Quickblox::Models
|
|
32
32
|
attribute :email
|
33
33
|
attribute :login
|
34
34
|
attribute :phone
|
35
|
-
attribute :tags
|
35
|
+
attribute :tags, cast: ->(value) { value && value.split(",") }
|
36
|
+
attribute :custom_data
|
36
37
|
|
37
38
|
def self.build(hash)
|
38
|
-
email = hash.fetch("email") || JSON.parse(hash.fetch("custom_data")).fetch("email")
|
39
39
|
new(
|
40
40
|
id: hash.fetch("id"),
|
41
41
|
full_name: hash.fetch("full_name"),
|
42
|
-
email: email,
|
42
|
+
email: hash.fetch("email"),
|
43
43
|
login: hash.fetch("login"),
|
44
44
|
phone: hash.fetch("phone"),
|
45
|
-
tags: hash.fetch("user_tags")
|
45
|
+
tags: hash.fetch("user_tags"),
|
46
|
+
custom_data: hash.fetch("custom_data")
|
46
47
|
)
|
47
48
|
end
|
48
49
|
end
|
data/lib/quickblox.rb
CHANGED
data/quickblox-rb.gemspec
CHANGED
@@ -109,6 +109,8 @@ test "#get_user" do
|
|
109
109
|
assert_equal "Mr One", user.full_name
|
110
110
|
assert_equal "1133445566", user.phone
|
111
111
|
assert_equal "One", user.login
|
112
|
+
assert_equal ["tag1", "tag2"], user.tags
|
113
|
+
assert user.custom_data.nil?
|
112
114
|
end
|
113
115
|
|
114
116
|
test "#get_dialog" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quickblox-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lucas Tolchinsky
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: requests
|
@@ -77,11 +77,11 @@ files:
|
|
77
77
|
- ".gitignore"
|
78
78
|
- Makefile
|
79
79
|
- README.md
|
80
|
+
- lib/api.rb
|
80
81
|
- lib/models.rb
|
81
82
|
- lib/quickblox.rb
|
82
|
-
- lib/quickblox_api.rb
|
83
83
|
- quickblox-rb.gemspec
|
84
|
-
- test/
|
84
|
+
- test/api_test.rb
|
85
85
|
- test/quickblox_responses.rb
|
86
86
|
homepage: https://github.com/properati/quickblox-rb
|
87
87
|
licenses:
|