quickblox-rb 0.1.2 → 0.1.3
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 +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:
         
     |