inbox 0.3.0 → 0.4.0
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/Gemfile +1 -2
- data/README.md +38 -34
- data/Rakefile +2 -1
- data/VERSION +1 -1
- data/inbox.gemspec +7 -196
- data/lib/calendar.rb +16 -0
- data/lib/draft.rb +2 -2
- data/lib/event.rb +14 -0
- data/lib/file.rb +1 -1
- data/lib/inbox.rb +10 -10
- data/lib/message.rb +2 -9
- data/lib/restful_model.rb +4 -4
- data/lib/restful_model_collection.rb +7 -6
- data/lib/thread.rb +2 -8
- data/spec/inbox_spec.rb +3 -3
- data/spec/restful_model_spec.rb +3 -2
- metadata +6 -668
- data/example/Gemfile +0 -39
- data/example/README.rdoc +0 -28
- data/example/Rakefile +0 -6
- data/example/app/assets/images/.keep +0 -0
- data/example/app/assets/javascripts/application.js +0 -16
- data/example/app/assets/javascripts/welcome.js.coffee +0 -3
- data/example/app/assets/stylesheets/application.css +0 -15
- data/example/app/assets/stylesheets/welcome.css.scss +0 -3
- data/example/app/controllers/application_controller.rb +0 -61
- data/example/app/controllers/concerns/.keep +0 -0
- data/example/app/helpers/application_helper.rb +0 -2
- data/example/app/helpers/welcome_helper.rb +0 -2
- data/example/app/mailers/.keep +0 -0
- data/example/app/models/.keep +0 -0
- data/example/app/models/concerns/.keep +0 -0
- data/example/app/views/layouts/application.html.erb +0 -14
- data/example/app/views/welcome/index.html.erb +0 -2
- data/example/bin/bundle +0 -3
- data/example/bin/rails +0 -8
- data/example/bin/rake +0 -8
- data/example/bin/spring +0 -18
- data/example/config/application.rb +0 -23
- data/example/config/boot.rb +0 -4
- data/example/config/database.yml +0 -25
- data/example/config/environment.rb +0 -5
- data/example/config/environments/development.rb +0 -39
- data/example/config/environments/production.rb +0 -82
- data/example/config/environments/test.rb +0 -41
- data/example/config/initializers/assets.rb +0 -8
- data/example/config/initializers/backtrace_silencers.rb +0 -7
- data/example/config/initializers/cookies_serializer.rb +0 -3
- data/example/config/initializers/filter_parameter_logging.rb +0 -4
- data/example/config/initializers/inflections.rb +0 -16
- data/example/config/initializers/mime_types.rb +0 -4
- data/example/config/initializers/session_store.rb +0 -3
- data/example/config/initializers/wrap_parameters.rb +0 -14
- data/example/config/locales/en.yml +0 -23
- data/example/config/routes.rb +0 -59
- data/example/config/secrets.yml +0 -22
- data/example/config.ru +0 -4
- data/example/db/seeds.rb +0 -7
- data/example/lib/assets/.keep +0 -0
- data/example/lib/tasks/.keep +0 -0
- data/example/log/.keep +0 -0
- data/example/public/404.html +0 -67
- data/example/public/422.html +0 -67
- data/example/public/500.html +0 -66
- data/example/public/favicon.ico +0 -0
- data/example/public/robots.txt +0 -5
- data/example/test/controllers/.keep +0 -0
- data/example/test/controllers/welcome_controller_test.rb +0 -9
- data/example/test/fixtures/.keep +0 -0
- data/example/test/fixtures/users.yml +0 -11
- data/example/test/helpers/.keep +0 -0
- data/example/test/helpers/welcome_helper_test.rb +0 -4
- data/example/test/integration/.keep +0 -0
- data/example/test/mailers/.keep +0 -0
- data/example/test/models/.keep +0 -0
- data/example/test/models/user_test.rb +0 -7
- data/example/test/test_helper.rb +0 -10
- data/example/vendor/assets/javascripts/.keep +0 -0
- data/example/vendor/assets/stylesheets/.keep +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 066c3c8d975efa84261f5a3662b9b5edbac20720
         | 
| 4 | 
            +
              data.tar.gz: 8e3a86ca4e62a8283c260f62172823c8fd595457
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: dbf83648e4b7ecd211713d393164108e0a71af6a41a4cc278d750f147e871d02e94f5c9d3f6031a01b7f3b9cd89808bce81b9be6903032e31b1bbe2f464364de
         | 
| 7 | 
            +
              data.tar.gz: d88e9c6ac927ca0d4726c558d97c9381fb2d56c1f15dbbd2d5acda276718468c02b76d09282810d3d92e999f87b70172fb5821befbbe6cd0f53b708f13e3c285
         | 
    
        data/Gemfile
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -22,7 +22,7 @@ You don't need to use this repo unless you're planning to modify the gem. If you | |
| 22 22 | 
             
            - rest-client, json
         | 
| 23 23 |  | 
| 24 24 |  | 
| 25 | 
            -
            ## Example
         | 
| 25 | 
            +
            ## Example Rails App
         | 
| 26 26 |  | 
| 27 27 | 
             
            A small example Rails app is included in the `example` directory. You can run the sample app to see how an authentication flow might be implemented. 
         | 
| 28 28 |  | 
| @@ -36,46 +36,46 @@ A small example Rails app is included in the `example` directory. You can run th | |
| 36 36 |  | 
| 37 37 | 
             
            ### App ID and Secret
         | 
| 38 38 |  | 
| 39 | 
            -
            Before you can interact with the Inbox API, you need to register for the Inbox  | 
| 39 | 
            +
            Before you can interact with the Inbox API, you need to register for the Inbox Developer Program at [http://www.inboxapp.com/](http://www.inboxapp.com/). After you've created a developer account, you can create a new application to generate an App ID / Secret pair.
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            Generally, you should store your App ID and Secret into environment variables to avoid adding them to source control. That said, in the example project and code snippets below, the values were added to `config/environments/development.rb` for convenience.
         | 
| 42 | 
            +
             | 
| 40 43 |  | 
| 41 44 | 
             
            ### Authentication
         | 
| 42 45 |  | 
| 43 | 
            -
            The Inbox API uses server-side (three-legged) OAuth, and the Ruby gem provides  | 
| 46 | 
            +
            The Inbox API uses server-side (three-legged) OAuth, and the Ruby gem provides convenience methods that simplify the OAuth process. For more information about authenticating with Inbox, visit the [Developer Documentation](https://www.inboxapp.com/docs/gettingstarted-hosted#authenticating).
         | 
| 44 47 |  | 
| 45 48 | 
             
            **Step 1: Redirect the user to Inbox:**
         | 
| 46 49 |  | 
| 47 | 
            -
            ```
         | 
| 48 | 
            -
            :::ruby
         | 
| 50 | 
            +
            ```ruby
         | 
| 49 51 | 
             
            require 'inbox'
         | 
| 50 52 |  | 
| 51 53 | 
             
            def login
         | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 54 | 
            +
              inbox = Inbox::API.new(config.inbox_app_id, config.inbox_app_secret, nil)
         | 
| 55 | 
            +
              # The email address of the user you want to authenticate
         | 
| 56 | 
            +
              user_email = 'ben@inboxapp.com'
         | 
| 57 | 
            +
             | 
| 58 | 
            +
              # This URL must be registered with your application in the developer portal
         | 
| 59 | 
            +
              callback_url = url_for(:action => 'login_callback')
         | 
| 60 | 
            +
              
         | 
| 61 | 
            +
              redirect_to inbox.url_for_authentication(callback_url, user_email)
         | 
| 60 62 | 
             
            end
         | 
| 61 63 | 
             
            ```
         | 
| 62 64 |  | 
| 63 65 | 
             
            **Step 2: Handle the Authentication Response:**
         | 
| 64 66 |  | 
| 65 | 
            -
            ```
         | 
| 66 | 
            -
            :::ruby
         | 
| 67 | 
            +
            ```ruby
         | 
| 67 68 | 
             
            def login_callback 
         | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 69 | 
            +
              inbox = Inbox::API.new(config.inbox_app_id, config.inbox_app_secret, nil)
         | 
| 70 | 
            +
              inbox_token = inbox.token_for_code(params[:code])
         | 
| 70 71 |  | 
| 71 | 
            -
             | 
| 72 | 
            +
              # Save the inbox_token to the current session, save it to the user model, etc.
         | 
| 72 73 | 
             
            end
         | 
| 73 74 | 
             
            ```
         | 
| 74 75 |  | 
| 75 76 | 
             
            ### Fetching Namespaces
         | 
| 76 77 |  | 
| 77 | 
            -
            ```
         | 
| 78 | 
            -
            :::ruby
         | 
| 78 | 
            +
            ```ruby
         | 
| 79 79 | 
             
            inbox = Inbox::API.new(config.inbox_app_id, config.inbox_app_secret, inbox_token)
         | 
| 80 80 |  | 
| 81 81 | 
             
            # Get the first namespace
         | 
| @@ -89,8 +89,7 @@ puts namespace.provider | |
| 89 89 |  | 
| 90 90 | 
             
            ### Fetching Threads
         | 
| 91 91 |  | 
| 92 | 
            -
            ```
         | 
| 93 | 
            -
            :::ruby
         | 
| 92 | 
            +
            ```ruby
         | 
| 94 93 | 
             
            # Fetch the first thread
         | 
| 95 94 | 
             
            thread = namespace.threads.first
         | 
| 96 95 |  | 
| @@ -121,11 +120,10 @@ threads = namespace.threads.where(:any_email => 'ben@inboxapp.com').all | |
| 121 120 |  | 
| 122 121 | 
             
            ### Working with Threads
         | 
| 123 122 |  | 
| 124 | 
            -
            ```
         | 
| 125 | 
            -
            :::ruby
         | 
| 123 | 
            +
            ```ruby
         | 
| 126 124 | 
             
            # List thread participants
         | 
| 127 125 | 
             
            thread.participants.each do |participant|
         | 
| 128 | 
            -
             | 
| 126 | 
            +
              puts participant['email']
         | 
| 129 127 | 
             
            end
         | 
| 130 128 |  | 
| 131 129 | 
             
            # Mark as read
         | 
| @@ -137,22 +135,21 @@ thread.archive! | |
| 137 135 | 
             
            # Add or remove arbitrary tags
         | 
| 138 136 | 
             
            tagsToAdd = ['inbox', 'cfa1233ef123acd12']
         | 
| 139 137 | 
             
            tagsToRemove = []
         | 
| 140 | 
            -
            thread.update_tags!( | 
| 138 | 
            +
            thread.update_tags!(tagsToAdd, tagsToRemove)
         | 
| 141 139 |  | 
| 142 140 | 
             
            # List messages
         | 
| 143 141 | 
             
            thread.messages.each do |message|
         | 
| 144 | 
            -
             | 
| 142 | 
            +
              puts message.subject
         | 
| 145 143 | 
             
            end
         | 
| 146 144 | 
             
            ```
         | 
| 147 145 |  | 
| 148 146 |  | 
| 149 147 | 
             
            ### Working with Files
         | 
| 150 148 |  | 
| 151 | 
            -
            ```
         | 
| 152 | 
            -
            :::ruby
         | 
| 149 | 
            +
            ```ruby
         | 
| 153 150 | 
             
            # List files
         | 
| 154 151 | 
             
            namespace.files.each do |file|
         | 
| 155 | 
            -
             | 
| 152 | 
            +
              puts file.filename
         | 
| 156 153 | 
             
            end
         | 
| 157 154 |  | 
| 158 155 | 
             
            # Create a new file
         | 
| @@ -164,8 +161,7 @@ file.save! | |
| 164 161 |  | 
| 165 162 | 
             
            Each of the primary collections (contacts, messages, etc.) behave the same way as `threads`. For example, finding messages with a filter is similar to finding threads:
         | 
| 166 163 |  | 
| 167 | 
            -
            ```
         | 
| 168 | 
            -
            :::ruby
         | 
| 164 | 
            +
            ```ruby
         | 
| 169 165 | 
             
            messages = namespace.messages.where(:to => 'ben@inboxapp.com`).all
         | 
| 170 166 | 
             
            ```
         | 
| 171 167 |  | 
| @@ -173,8 +169,7 @@ The `where` method accepts a hash of filters, as documented in the [Inbox Filter | |
| 173 169 |  | 
| 174 170 | 
             
            ### Creating and Sending Drafts
         | 
| 175 171 |  | 
| 176 | 
            -
            ```
         | 
| 177 | 
            -
            :::ruby
         | 
| 172 | 
            +
            ```ruby
         | 
| 178 173 | 
             
            # Create a new draft
         | 
| 179 174 | 
             
            draft = namespace.drafts.build(
         | 
| 180 175 | 
             
              :to => [{:name => 'Ben Gotow', :email => 'ben@inboxapp.com'}],
         | 
| @@ -196,6 +191,15 @@ draft.save! | |
| 196 191 | 
             
            draft.send!
         | 
| 197 192 | 
             
            ```
         | 
| 198 193 |  | 
| 194 | 
            +
            ## Open-Source Sync Engine
         | 
| 195 | 
            +
             | 
| 196 | 
            +
            The [Inbox Sync Engine](http://github.com/inboxapp/inbox) is open-source, and you can also use the Ruby gem with the open-source API. Since the open-source API provides no authentication or security, connecting to it is simple. When you instantiate the Inbox object, provide nil for the App ID, App Secret, and API Token, and pass the fully-qualified address to your copy of the sync engine:
         | 
| 197 | 
            +
             | 
| 198 | 
            +
            ```ruby
         | 
| 199 | 
            +
            require 'inbox'
         | 
| 200 | 
            +
            inbox = Inbox::API.new(nil, nil, nil, 'http://localhost:5555/')
         | 
| 201 | 
            +
            ```
         | 
| 202 | 
            +
             | 
| 199 203 |  | 
| 200 204 | 
             
            ## Contributing
         | 
| 201 205 |  | 
    
        data/Rakefile
    CHANGED
    
    | @@ -21,7 +21,8 @@ Jeweler::Tasks.new do |gem| | |
| 21 21 | 
             
              gem.description = %Q{Gem for interacting with the Inbox API that allows you to create and publish one-page websites, subscribe to web hooks and receive events when those pages are interacted with. Visit http://www.populr.me/ for more information. }
         | 
| 22 22 | 
             
              gem.email = "ben@inboxapp.com"
         | 
| 23 23 | 
             
              gem.authors = ["Ben Gotow"]
         | 
| 24 | 
            -
               | 
| 24 | 
            +
              gem.files.exclude 'example/**/.keep'
         | 
| 25 | 
            +
              gem.files.exclude 'example/**/*'
         | 
| 25 26 | 
             
            end
         | 
| 26 27 | 
             
            Jeweler::RubygemsDotOrgTasks.new
         | 
| 27 28 |  | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0. | 
| 1 | 
            +
            0.4.0
         | 
    
        data/inbox.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = "inbox"
         | 
| 8 | 
            -
              s.version = "0. | 
| 8 | 
            +
              s.version = "0.4.0"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["Ben Gotow"]
         | 
| 12 | 
            -
              s.date = "2014-08 | 
| 12 | 
            +
              s.date = "2014-09-08"
         | 
| 13 13 | 
             
              s.description = "Gem for interacting with the Inbox API that allows you to create and publish one-page websites, subscribe to web hooks and receive events when those pages are interacted with. Visit http://www.populr.me/ for more information. "
         | 
| 14 14 | 
             
              s.email = "ben@inboxapp.com"
         | 
| 15 15 | 
             
              s.extra_rdoc_files = [
         | 
| @@ -23,71 +23,11 @@ Gem::Specification.new do |s| | |
| 23 23 | 
             
                "Rakefile",
         | 
| 24 24 | 
             
                "VERSION",
         | 
| 25 25 | 
             
                "example/.gitignore",
         | 
| 26 | 
            -
                "example/Gemfile",
         | 
| 27 | 
            -
                "example/README.rdoc",
         | 
| 28 | 
            -
                "example/Rakefile",
         | 
| 29 | 
            -
                "example/app/assets/images/.keep",
         | 
| 30 | 
            -
                "example/app/assets/javascripts/application.js",
         | 
| 31 | 
            -
                "example/app/assets/javascripts/welcome.js.coffee",
         | 
| 32 | 
            -
                "example/app/assets/stylesheets/application.css",
         | 
| 33 | 
            -
                "example/app/assets/stylesheets/welcome.css.scss",
         | 
| 34 | 
            -
                "example/app/controllers/application_controller.rb",
         | 
| 35 | 
            -
                "example/app/controllers/concerns/.keep",
         | 
| 36 | 
            -
                "example/app/helpers/application_helper.rb",
         | 
| 37 | 
            -
                "example/app/helpers/welcome_helper.rb",
         | 
| 38 | 
            -
                "example/app/mailers/.keep",
         | 
| 39 | 
            -
                "example/app/models/.keep",
         | 
| 40 | 
            -
                "example/app/models/concerns/.keep",
         | 
| 41 | 
            -
                "example/app/views/layouts/application.html.erb",
         | 
| 42 | 
            -
                "example/app/views/welcome/index.html.erb",
         | 
| 43 | 
            -
                "example/bin/bundle",
         | 
| 44 | 
            -
                "example/bin/rails",
         | 
| 45 | 
            -
                "example/bin/rake",
         | 
| 46 | 
            -
                "example/bin/spring",
         | 
| 47 | 
            -
                "example/config.ru",
         | 
| 48 | 
            -
                "example/config/application.rb",
         | 
| 49 | 
            -
                "example/config/boot.rb",
         | 
| 50 | 
            -
                "example/config/database.yml",
         | 
| 51 | 
            -
                "example/config/environment.rb",
         | 
| 52 | 
            -
                "example/config/environments/development.rb",
         | 
| 53 | 
            -
                "example/config/environments/production.rb",
         | 
| 54 | 
            -
                "example/config/environments/test.rb",
         | 
| 55 | 
            -
                "example/config/initializers/assets.rb",
         | 
| 56 | 
            -
                "example/config/initializers/backtrace_silencers.rb",
         | 
| 57 | 
            -
                "example/config/initializers/cookies_serializer.rb",
         | 
| 58 | 
            -
                "example/config/initializers/filter_parameter_logging.rb",
         | 
| 59 | 
            -
                "example/config/initializers/inflections.rb",
         | 
| 60 | 
            -
                "example/config/initializers/mime_types.rb",
         | 
| 61 | 
            -
                "example/config/initializers/session_store.rb",
         | 
| 62 | 
            -
                "example/config/initializers/wrap_parameters.rb",
         | 
| 63 | 
            -
                "example/config/locales/en.yml",
         | 
| 64 | 
            -
                "example/config/routes.rb",
         | 
| 65 | 
            -
                "example/config/secrets.yml",
         | 
| 66 | 
            -
                "example/db/seeds.rb",
         | 
| 67 | 
            -
                "example/lib/assets/.keep",
         | 
| 68 | 
            -
                "example/lib/tasks/.keep",
         | 
| 69 | 
            -
                "example/log/.keep",
         | 
| 70 | 
            -
                "example/public/404.html",
         | 
| 71 | 
            -
                "example/public/422.html",
         | 
| 72 | 
            -
                "example/public/500.html",
         | 
| 73 | 
            -
                "example/public/favicon.ico",
         | 
| 74 | 
            -
                "example/public/robots.txt",
         | 
| 75 | 
            -
                "example/test/controllers/.keep",
         | 
| 76 | 
            -
                "example/test/controllers/welcome_controller_test.rb",
         | 
| 77 | 
            -
                "example/test/fixtures/.keep",
         | 
| 78 | 
            -
                "example/test/fixtures/users.yml",
         | 
| 79 | 
            -
                "example/test/helpers/.keep",
         | 
| 80 | 
            -
                "example/test/helpers/welcome_helper_test.rb",
         | 
| 81 | 
            -
                "example/test/integration/.keep",
         | 
| 82 | 
            -
                "example/test/mailers/.keep",
         | 
| 83 | 
            -
                "example/test/models/.keep",
         | 
| 84 | 
            -
                "example/test/models/user_test.rb",
         | 
| 85 | 
            -
                "example/test/test_helper.rb",
         | 
| 86 | 
            -
                "example/vendor/assets/javascripts/.keep",
         | 
| 87 | 
            -
                "example/vendor/assets/stylesheets/.keep",
         | 
| 88 26 | 
             
                "inbox.gemspec",
         | 
| 27 | 
            +
                "lib/calendar.rb",
         | 
| 89 28 | 
             
                "lib/contact.rb",
         | 
| 90 29 | 
             
                "lib/draft.rb",
         | 
| 30 | 
            +
                "lib/event.rb",
         | 
| 91 31 | 
             
                "lib/file.rb",
         | 
| 92 32 | 
             
                "lib/inbox.rb",
         | 
| 93 33 | 
             
                "lib/message.rb",
         | 
| @@ -113,50 +53,7 @@ Gem::Specification.new do |s| | |
| 113 53 |  | 
| 114 54 | 
             
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         | 
| 115 55 | 
             
                  s.add_runtime_dependency(%q<inbox>, [">= 0"])
         | 
| 116 | 
            -
                  s.add_runtime_dependency(%q<rest-client>, ["~> 1.6 | 
| 117 | 
            -
                  s.add_runtime_dependency(%q<activesupport>, ["~> 4.1.4"])
         | 
| 118 | 
            -
                  s.add_development_dependency(%q<rspec>, [">= 0"])
         | 
| 119 | 
            -
                  s.add_development_dependency(%q<rake>, [">= 0"])
         | 
| 120 | 
            -
                  s.add_development_dependency(%q<rspec>, [">= 0"])
         | 
| 121 | 
            -
                  s.add_development_dependency(%q<shoulda>, [">= 0"])
         | 
| 122 | 
            -
                  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 123 | 
            -
                  s.add_development_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 124 | 
            -
                  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 125 | 
            -
                  s.add_development_dependency(%q<pry>, [">= 0"])
         | 
| 126 | 
            -
                  s.add_development_dependency(%q<pry-nav>, [">= 0"])
         | 
| 127 | 
            -
                  s.add_development_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 128 | 
            -
                  s.add_development_dependency(%q<rspec>, [">= 0"])
         | 
| 129 | 
            -
                  s.add_development_dependency(%q<shoulda>, [">= 0"])
         | 
| 130 | 
            -
                  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 131 | 
            -
                  s.add_development_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 132 | 
            -
                  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 133 | 
            -
                  s.add_development_dependency(%q<pry>, [">= 0"])
         | 
| 134 | 
            -
                  s.add_development_dependency(%q<pry-nav>, [">= 0"])
         | 
| 135 | 
            -
                  s.add_development_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 136 | 
            -
                  s.add_development_dependency(%q<rspec>, [">= 0"])
         | 
| 137 | 
            -
                  s.add_development_dependency(%q<shoulda>, [">= 0"])
         | 
| 138 | 
            -
                  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 139 | 
            -
                  s.add_development_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 140 | 
            -
                  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 141 | 
            -
                  s.add_development_dependency(%q<pry>, [">= 0"])
         | 
| 142 | 
            -
                  s.add_development_dependency(%q<pry-nav>, [">= 0"])
         | 
| 143 | 
            -
                  s.add_development_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 144 | 
            -
                  s.add_development_dependency(%q<rspec>, [">= 0"])
         | 
| 145 | 
            -
                  s.add_development_dependency(%q<shoulda>, [">= 0"])
         | 
| 146 | 
            -
                  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 147 | 
            -
                  s.add_development_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 148 | 
            -
                  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 149 | 
            -
                  s.add_development_dependency(%q<pry>, [">= 0"])
         | 
| 150 | 
            -
                  s.add_development_dependency(%q<pry-nav>, [">= 0"])
         | 
| 151 | 
            -
                  s.add_development_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 152 | 
            -
                  s.add_development_dependency(%q<rspec>, [">= 0"])
         | 
| 153 | 
            -
                  s.add_development_dependency(%q<shoulda>, [">= 0"])
         | 
| 154 | 
            -
                  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 155 | 
            -
                  s.add_development_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 156 | 
            -
                  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 157 | 
            -
                  s.add_development_dependency(%q<pry>, [">= 0"])
         | 
| 158 | 
            -
                  s.add_development_dependency(%q<pry-nav>, [">= 0"])
         | 
| 159 | 
            -
                  s.add_development_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 56 | 
            +
                  s.add_runtime_dependency(%q<rest-client>, ["~> 1.6"])
         | 
| 160 57 | 
             
                  s.add_development_dependency(%q<rspec>, [">= 0"])
         | 
| 161 58 | 
             
                  s.add_development_dependency(%q<shoulda>, [">= 0"])
         | 
| 162 59 | 
             
                  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| @@ -183,50 +80,7 @@ Gem::Specification.new do |s| | |
| 183 80 | 
             
                  s.add_development_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 184 81 | 
             
                else
         | 
| 185 82 | 
             
                  s.add_dependency(%q<inbox>, [">= 0"])
         | 
| 186 | 
            -
                  s.add_dependency(%q<rest-client>, ["~> 1.6 | 
| 187 | 
            -
                  s.add_dependency(%q<activesupport>, ["~> 4.1.4"])
         | 
| 188 | 
            -
                  s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 189 | 
            -
                  s.add_dependency(%q<rake>, [">= 0"])
         | 
| 190 | 
            -
                  s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 191 | 
            -
                  s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 192 | 
            -
                  s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 193 | 
            -
                  s.add_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 194 | 
            -
                  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 195 | 
            -
                  s.add_dependency(%q<pry>, [">= 0"])
         | 
| 196 | 
            -
                  s.add_dependency(%q<pry-nav>, [">= 0"])
         | 
| 197 | 
            -
                  s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 198 | 
            -
                  s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 199 | 
            -
                  s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 200 | 
            -
                  s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 201 | 
            -
                  s.add_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 202 | 
            -
                  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 203 | 
            -
                  s.add_dependency(%q<pry>, [">= 0"])
         | 
| 204 | 
            -
                  s.add_dependency(%q<pry-nav>, [">= 0"])
         | 
| 205 | 
            -
                  s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 206 | 
            -
                  s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 207 | 
            -
                  s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 208 | 
            -
                  s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 209 | 
            -
                  s.add_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 210 | 
            -
                  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 211 | 
            -
                  s.add_dependency(%q<pry>, [">= 0"])
         | 
| 212 | 
            -
                  s.add_dependency(%q<pry-nav>, [">= 0"])
         | 
| 213 | 
            -
                  s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 214 | 
            -
                  s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 215 | 
            -
                  s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 216 | 
            -
                  s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 217 | 
            -
                  s.add_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 218 | 
            -
                  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 219 | 
            -
                  s.add_dependency(%q<pry>, [">= 0"])
         | 
| 220 | 
            -
                  s.add_dependency(%q<pry-nav>, [">= 0"])
         | 
| 221 | 
            -
                  s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 222 | 
            -
                  s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 223 | 
            -
                  s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 224 | 
            -
                  s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 225 | 
            -
                  s.add_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 226 | 
            -
                  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 227 | 
            -
                  s.add_dependency(%q<pry>, [">= 0"])
         | 
| 228 | 
            -
                  s.add_dependency(%q<pry-nav>, [">= 0"])
         | 
| 229 | 
            -
                  s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 83 | 
            +
                  s.add_dependency(%q<rest-client>, ["~> 1.6"])
         | 
| 230 84 | 
             
                  s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 231 85 | 
             
                  s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 232 86 | 
             
                  s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| @@ -254,50 +108,7 @@ Gem::Specification.new do |s| | |
| 254 108 | 
             
                end
         | 
| 255 109 | 
             
              else
         | 
| 256 110 | 
             
                s.add_dependency(%q<inbox>, [">= 0"])
         | 
| 257 | 
            -
                s.add_dependency(%q<rest-client>, ["~> 1.6 | 
| 258 | 
            -
                s.add_dependency(%q<activesupport>, ["~> 4.1.4"])
         | 
| 259 | 
            -
                s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 260 | 
            -
                s.add_dependency(%q<rake>, [">= 0"])
         | 
| 261 | 
            -
                s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 262 | 
            -
                s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 263 | 
            -
                s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 264 | 
            -
                s.add_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 265 | 
            -
                s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 266 | 
            -
                s.add_dependency(%q<pry>, [">= 0"])
         | 
| 267 | 
            -
                s.add_dependency(%q<pry-nav>, [">= 0"])
         | 
| 268 | 
            -
                s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 269 | 
            -
                s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 270 | 
            -
                s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 271 | 
            -
                s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 272 | 
            -
                s.add_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 273 | 
            -
                s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 274 | 
            -
                s.add_dependency(%q<pry>, [">= 0"])
         | 
| 275 | 
            -
                s.add_dependency(%q<pry-nav>, [">= 0"])
         | 
| 276 | 
            -
                s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 277 | 
            -
                s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 278 | 
            -
                s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 279 | 
            -
                s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 280 | 
            -
                s.add_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 281 | 
            -
                s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 282 | 
            -
                s.add_dependency(%q<pry>, [">= 0"])
         | 
| 283 | 
            -
                s.add_dependency(%q<pry-nav>, [">= 0"])
         | 
| 284 | 
            -
                s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 285 | 
            -
                s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 286 | 
            -
                s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 287 | 
            -
                s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 288 | 
            -
                s.add_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 289 | 
            -
                s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 290 | 
            -
                s.add_dependency(%q<pry>, [">= 0"])
         | 
| 291 | 
            -
                s.add_dependency(%q<pry-nav>, [">= 0"])
         | 
| 292 | 
            -
                s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 293 | 
            -
                s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 294 | 
            -
                s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 295 | 
            -
                s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
| 296 | 
            -
                s.add_dependency(%q<bundler>, [">= 1.3.5"])
         | 
| 297 | 
            -
                s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
         | 
| 298 | 
            -
                s.add_dependency(%q<pry>, [">= 0"])
         | 
| 299 | 
            -
                s.add_dependency(%q<pry-nav>, [">= 0"])
         | 
| 300 | 
            -
                s.add_dependency(%q<pry-stack_explorer>, [">= 0"])
         | 
| 111 | 
            +
                s.add_dependency(%q<rest-client>, ["~> 1.6"])
         | 
| 301 112 | 
             
                s.add_dependency(%q<rspec>, [">= 0"])
         | 
| 302 113 | 
             
                s.add_dependency(%q<shoulda>, [">= 0"])
         | 
| 303 114 | 
             
                s.add_dependency(%q<rdoc>, ["~> 3.12"])
         | 
    
        data/lib/calendar.rb
    ADDED
    
    | @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            require 'restful_model'
         | 
| 2 | 
            +
            require 'event'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module Inbox
         | 
| 5 | 
            +
              class Calendar < RestfulModel
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                attr_accessor :name
         | 
| 8 | 
            +
                attr_accessor :description
         | 
| 9 | 
            +
                attr_accessor :event_ids
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                def events
         | 
| 12 | 
            +
                  @events ||= RestfulModelCollection.new(Event, @_api, @namespace, {:calendar_id=>@id})
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
            end
         | 
    
        data/lib/draft.rb
    CHANGED
    
    | @@ -3,7 +3,7 @@ require 'restful_model' | |
| 3 3 | 
             
            module Inbox
         | 
| 4 4 | 
             
              class Draft < Message
         | 
| 5 5 |  | 
| 6 | 
            -
                attr_accessor : | 
| 6 | 
            +
                attr_accessor :thread_id
         | 
| 7 7 | 
             
                attr_accessor :state
         | 
| 8 8 |  | 
| 9 9 | 
             
                def attach(file)
         | 
| @@ -14,7 +14,7 @@ module Inbox | |
| 14 14 | 
             
                def send!
         | 
| 15 15 | 
             
                  save! unless @id
         | 
| 16 16 |  | 
| 17 | 
            -
                  url = @_api.url_for_path("/n/#{@ | 
| 17 | 
            +
                  url = @_api.url_for_path("/n/#{@namespace_id}/send")
         | 
| 18 18 | 
             
                  data = {:draft_id => @id}
         | 
| 19 19 |  | 
| 20 20 | 
             
                  ::RestClient.post(url, data.to_json, :content_type => :json) do |response, request, result|
         | 
    
        data/lib/event.rb
    ADDED
    
    
    
        data/lib/file.rb
    CHANGED
    
    
    
        data/lib/inbox.rb
    CHANGED
    
    | @@ -39,14 +39,14 @@ module Inbox | |
| 39 39 |  | 
| 40 40 | 
             
              class API
         | 
| 41 41 | 
             
                attr_accessor :api_server
         | 
| 42 | 
            -
                attr_reader : | 
| 42 | 
            +
                attr_reader :access_token
         | 
| 43 43 | 
             
                attr_reader :app_id
         | 
| 44 44 | 
             
                attr_reader :app_secret
         | 
| 45 45 |  | 
| 46 | 
            -
                def initialize(app_id, app_secret,  | 
| 46 | 
            +
                def initialize(app_id, app_secret, access_token = nil, api_server = 'https://api.inboxapp.com')
         | 
| 47 47 | 
             
                  raise "When overriding the Inbox API server address, you must include https://" unless api_server.include?('://')
         | 
| 48 48 | 
             
                  @api_server = api_server
         | 
| 49 | 
            -
                  @ | 
| 49 | 
            +
                  @access_token = access_token
         | 
| 50 50 | 
             
                  @app_secret = app_secret
         | 
| 51 51 | 
             
                  @app_id = app_id
         | 
| 52 52 |  | 
| @@ -56,20 +56,20 @@ module Inbox | |
| 56 56 | 
             
                end
         | 
| 57 57 |  | 
| 58 58 | 
             
                def url_for_path(path)
         | 
| 59 | 
            -
                  raise NoAuthToken.new if @ | 
| 59 | 
            +
                  raise NoAuthToken.new if @access_token == nil
         | 
| 60 60 | 
             
                  protocol, domain = @api_server.split('//')
         | 
| 61 | 
            -
                  "#{protocol}//#{@ | 
| 61 | 
            +
                  "#{protocol}//#{@access_token}:@#{domain}#{path}"
         | 
| 62 62 | 
             
                end
         | 
| 63 63 |  | 
| 64 64 | 
             
                def url_for_authentication(redirect_uri, login_hint = '')
         | 
| 65 | 
            -
                  "https:// | 
| 65 | 
            +
                  "https://api.inboxapp.com/oauth/authorize?client_id=#{@app_id}&response_type=code&scope=email&login_hint=#{login_hint}&redirect_uri=#{redirect_uri}"
         | 
| 66 66 | 
             
                end
         | 
| 67 67 |  | 
| 68 | 
            -
                def  | 
| 69 | 
            -
                  @ | 
| 68 | 
            +
                def set_access_token(token)
         | 
| 69 | 
            +
                  @access_token = token
         | 
| 70 70 | 
             
                end
         | 
| 71 71 |  | 
| 72 | 
            -
                def  | 
| 72 | 
            +
                def token_for_code(code)
         | 
| 73 73 | 
             
                  data = {
         | 
| 74 74 | 
             
                      'client_id' => app_id,
         | 
| 75 75 | 
             
                      'client_secret' => app_secret,
         | 
| @@ -92,4 +92,4 @@ module Inbox | |
| 92 92 |  | 
| 93 93 | 
             
              end
         | 
| 94 94 |  | 
| 95 | 
            -
            end
         | 
| 95 | 
            +
            end
         | 
    
        data/lib/message.rb
    CHANGED
    
    | @@ -16,21 +16,14 @@ module Inbox | |
| 16 16 |  | 
| 17 17 | 
             
                def inflate(json)
         | 
| 18 18 | 
             
                  super
         | 
| 19 | 
            -
                  @ | 
| 20 | 
            -
                  @file_ids = json[:files] || []
         | 
| 19 | 
            +
                  @file_ids ||= []
         | 
| 21 20 | 
             
                  @to ||= []
         | 
| 22 21 | 
             
                  @cc ||= []
         | 
| 23 22 | 
             
                  @bcc ||= []
         | 
| 24 23 | 
             
                end
         | 
| 25 24 |  | 
| 26 | 
            -
                def as_json()
         | 
| 27 | 
            -
                  json = super
         | 
| 28 | 
            -
                  json[:files] = json[:file_ids]
         | 
| 29 | 
            -
                  json
         | 
| 30 | 
            -
                end
         | 
| 31 | 
            -
             | 
| 32 25 | 
             
                def files
         | 
| 33 | 
            -
                  @files ||= RestfulModelCollection.new(File, @_api, @ | 
| 26 | 
            +
                  @files ||= RestfulModelCollection.new(File, @_api, @namespace_id, {:message_id=>@id})
         | 
| 34 27 | 
             
                end
         | 
| 35 28 |  | 
| 36 29 | 
             
              end
         | 
    
        data/lib/restful_model.rb
    CHANGED
    
    | @@ -2,16 +2,16 @@ module Inbox | |
| 2 2 | 
             
              class RestfulModel
         | 
| 3 3 |  | 
| 4 4 | 
             
                attr_accessor :id
         | 
| 5 | 
            -
                attr_accessor : | 
| 5 | 
            +
                attr_accessor :namespace_id
         | 
| 6 6 | 
             
                attr_accessor :created_at
         | 
| 7 7 |  | 
| 8 8 | 
             
                def self.collection_name
         | 
| 9 9 | 
             
                  "#{self.to_s.downcase}s".split('::').last
         | 
| 10 10 | 
             
                end
         | 
| 11 11 |  | 
| 12 | 
            -
                def initialize(api,  | 
| 12 | 
            +
                def initialize(api, namespace_id = nil)
         | 
| 13 13 | 
             
                  raise StandardError.new unless api.class <= Inbox::API
         | 
| 14 | 
            -
                  @ | 
| 14 | 
            +
                  @namespace_id = namespace_id
         | 
| 15 15 | 
             
                  @_api = api
         | 
| 16 16 | 
             
                end
         | 
| 17 17 |  | 
| @@ -37,7 +37,7 @@ module Inbox | |
| 37 37 |  | 
| 38 38 | 
             
                def url(action = "")
         | 
| 39 39 | 
             
                  action = "/#{action}" unless action.empty?
         | 
| 40 | 
            -
                  @_api.url_for_path("/n/#{@ | 
| 40 | 
            +
                  @_api.url_for_path("/n/#{@namespace_id}/#{self.class.collection_name}/#{id}#{action}")
         | 
| 41 41 | 
             
                end
         | 
| 42 42 |  | 
| 43 43 | 
             
                def as_json(options = {})
         | 
| @@ -5,11 +5,11 @@ module Inbox | |
| 5 5 |  | 
| 6 6 | 
             
                attr_accessor :filters
         | 
| 7 7 |  | 
| 8 | 
            -
                def initialize(model_class, api,  | 
| 8 | 
            +
                def initialize(model_class, api, namespace_id, filters = {})
         | 
| 9 9 | 
             
                  raise StandardError.new unless api.class <= Inbox::API
         | 
| 10 10 | 
             
                  @model_class = model_class
         | 
| 11 11 | 
             
                  @filters = filters
         | 
| 12 | 
            -
                  @ | 
| 12 | 
            +
                  @namespace_id = namespace_id
         | 
| 13 13 | 
             
                  @_api = api
         | 
| 14 14 | 
             
                end
         | 
| 15 15 |  | 
| @@ -36,7 +36,8 @@ module Inbox | |
| 36 36 |  | 
| 37 37 | 
             
                def where(filters)
         | 
| 38 38 | 
             
                  collection = self.clone
         | 
| 39 | 
            -
                  collection.filters  | 
| 39 | 
            +
                  collection.filters ||= {}
         | 
| 40 | 
            +
                  collection.filters.merge!(filters)
         | 
| 40 41 | 
             
                  collection
         | 
| 41 42 | 
             
                end
         | 
| 42 43 |  | 
| @@ -71,7 +72,7 @@ module Inbox | |
| 71 72 | 
             
                  for key in args.keys
         | 
| 72 73 | 
             
                    args[key.to_s] = args[key] 
         | 
| 73 74 | 
             
                  end
         | 
| 74 | 
            -
                  model = @model_class.new(@_api, @ | 
| 75 | 
            +
                  model = @model_class.new(@_api, @namespace_id)
         | 
| 75 76 | 
             
                  model.inflate(args)
         | 
| 76 77 | 
             
                  model
         | 
| 77 78 | 
             
                end
         | 
| @@ -95,7 +96,7 @@ module Inbox | |
| 95 96 | 
             
                private
         | 
| 96 97 |  | 
| 97 98 | 
             
                def url
         | 
| 98 | 
            -
                  prefix = "/n/#{@ | 
| 99 | 
            +
                  prefix = "/n/#{@namespace_id}" if @namespace_id
         | 
| 99 100 | 
             
                  @_api.url_for_path("#{prefix}/#{@model_class.collection_name}")
         | 
| 100 101 | 
             
                end
         | 
| 101 102 |  | 
| @@ -120,7 +121,7 @@ module Inbox | |
| 120 121 | 
             
                  filters[:limit] = limit
         | 
| 121 122 | 
             
                  models = []
         | 
| 122 123 |  | 
| 123 | 
            -
                  RestClient.get( | 
| 124 | 
            +
                  RestClient.get(url, :params => filters){ |response,request,result|
         | 
| 124 125 | 
             
                    items = Inbox.interpret_response(result, response, {:expected_class => Array})
         | 
| 125 126 | 
             
                    models = inflate_collection(items)
         | 
| 126 127 | 
             
                  }
         |