inbox 0.10.1 → 0.11.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f5af56a76696d112e296e4ae6fddf3ed54dfe02e
4
+ data.tar.gz: 1deed3dffbddd194c9dae0ff12752bcd6f6439e6
5
+ SHA512:
6
+ metadata.gz: a44908839e77bee73c6ee30e1a5972f3c859e71d83c14945bf0200b8b431882c5c9a73df3015ab4ad679462536cf51fdd0c1ce0afb429934b6f2e2cd185cd243
7
+ data.tar.gz: cd05f603ad9b39eec6e1f62c61b414bc936bd221e18d0c78e8445f1c5a9b3ec4312f3aaf8db797adf1b3c2cf451e9fcb11612218862a94fca3c19334d2b5017f
data/README.md CHANGED
@@ -104,6 +104,15 @@ pass the additional `trial: true` option to start their account in trial mode.
104
104
  # Your Inbox API token will be revoked, you will not be charged
105
105
  ```
106
106
 
107
+ ### Account Status
108
+
109
+ ````ruby
110
+ # Query the status of every account linked to the app
111
+ inbox = Inbox::API.new(config.inbox_app_id, config.inbox_app_secret, inbox_token)
112
+ accounts = inbox.accounts
113
+ accounts.map { |a| a.account_id, a.sync_state } # Available fields are: account_id, sync_state, trial and trial_expires. See lib/account.rb for more details.
114
+ ```
115
+
107
116
  ### Fetching Namespaces
108
117
 
109
118
  ```ruby
data/lib/account.rb ADDED
@@ -0,0 +1,19 @@
1
+ require 'restful_model'
2
+
3
+ module Inbox
4
+ class Account < RestfulModel
5
+
6
+ attr_accessor :account_id
7
+ attr_accessor :trial
8
+ attr_accessor :trial_expires
9
+ attr_accessor :sync_state
10
+
11
+ def initialize(params = {})
12
+ @account_id = params.fetch(:account_id, '')
13
+ @trial = params.fetch(:trial, '')
14
+ @trial_expires = params.fetch(:trial_expires, '')
15
+ @sync_state = params.fetch(:sync_state, '')
16
+ end
17
+
18
+ end
19
+ end
data/lib/inbox.rb CHANGED
@@ -3,6 +3,7 @@ require 'rest-client'
3
3
  require 'restful_model_collection'
4
4
  require 'json'
5
5
  require 'namespace'
6
+ require 'account'
6
7
 
7
8
  module Inbox
8
9
 
@@ -120,5 +121,20 @@ module Inbox
120
121
  _perform_account_action!('downgrade')
121
122
  end
122
123
 
124
+ def accounts
125
+ protocol, domain = @api_server.split('//')
126
+ accounts_path = "#{protocol}//#{@app_secret}:@#{domain}/a/#{@app_id}/accounts/"
127
+
128
+ RestClient.get(accounts_path) do |response, request, result|
129
+ json = Inbox.interpret_response(result, response, :expected_class => Object)
130
+ puts json
131
+ json.map do |account_json|
132
+ Account.new({ :account_id => account_json.fetch('account_id', ''),
133
+ :trial => account_json.fetch('trial', ''),
134
+ :trial_expires => account_json.fetch('trial_expires', nil),
135
+ :sync_state => account_json.fetch('sync_state', '')})
136
+ end
137
+ end
138
+ end
123
139
  end
124
140
  end
@@ -4,7 +4,7 @@ module Inbox
4
4
  class RestfulModelCollection
5
5
 
6
6
  attr_accessor :filters
7
-
7
+
8
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
metadata CHANGED
@@ -1,116 +1,142 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
5
- prerelease:
4
+ version: 0.11.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ben Gotow
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-11-16 00:00:00.000000000 Z
11
+ date: 2015-01-13 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rest-client
16
- requirement: &70322523620820 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.7'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *70322523620820
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: rspec
27
- requirement: &70322523620320 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - ">="
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *70322523620320
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: shoulda
38
- requirement: &70322523619780 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
- - - ! '>='
45
+ - - ">="
42
46
  - !ruby/object:Gem::Version
43
47
  version: '0'
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *70322523619780
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: rdoc
49
- requirement: &70322523619280 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ~>
59
+ - - "~>"
53
60
  - !ruby/object:Gem::Version
54
61
  version: '3.12'
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *70322523619280
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.12'
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: bundler
60
- requirement: &70322523618760 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
- - - ! '>='
73
+ - - ">="
64
74
  - !ruby/object:Gem::Version
65
75
  version: 1.3.5
66
76
  type: :development
67
77
  prerelease: false
68
- version_requirements: *70322523618760
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 1.3.5
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: jeweler
71
- requirement: &70322523634300 !ruby/object:Gem::Requirement
72
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
73
86
  requirements:
74
- - - ~>
87
+ - - "~>"
75
88
  - !ruby/object:Gem::Version
76
89
  version: 1.8.4
77
90
  type: :development
78
91
  prerelease: false
79
- version_requirements: *70322523634300
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.8.4
80
97
  - !ruby/object:Gem::Dependency
81
98
  name: pry
82
- requirement: &70322523633680 !ruby/object:Gem::Requirement
83
- none: false
99
+ requirement: !ruby/object:Gem::Requirement
84
100
  requirements:
85
- - - ! '>='
101
+ - - ">="
86
102
  - !ruby/object:Gem::Version
87
103
  version: '0'
88
104
  type: :development
89
105
  prerelease: false
90
- version_requirements: *70322523633680
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
91
111
  - !ruby/object:Gem::Dependency
92
112
  name: pry-nav
93
- requirement: &70322523633180 !ruby/object:Gem::Requirement
94
- none: false
113
+ requirement: !ruby/object:Gem::Requirement
95
114
  requirements:
96
- - - ! '>='
115
+ - - ">="
97
116
  - !ruby/object:Gem::Version
98
117
  version: '0'
99
118
  type: :development
100
119
  prerelease: false
101
- version_requirements: *70322523633180
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
102
125
  - !ruby/object:Gem::Dependency
103
126
  name: pry-stack_explorer
104
- requirement: &70322523632680 !ruby/object:Gem::Requirement
105
- none: false
127
+ requirement: !ruby/object:Gem::Requirement
106
128
  requirements:
107
- - - ! '>='
129
+ - - ">="
108
130
  - !ruby/object:Gem::Version
109
131
  version: '0'
110
132
  type: :development
111
133
  prerelease: false
112
- version_requirements: *70322523632680
113
- description: ! 'Gem for interacting with the Inbox API that allows you to create and
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ description: 'Gem for interacting with the Inbox API that allows you to create and
114
140
  publish one-page websites, subscribe to web hooks and receive events when those
115
141
  pages are interacted with. Visit http://www.populr.me/ for more information. '
116
142
  email: ben@inboxapp.com
@@ -120,6 +146,9 @@ extra_rdoc_files:
120
146
  - LICENSE.txt
121
147
  - README.md
122
148
  files:
149
+ - LICENSE.txt
150
+ - README.md
151
+ - lib/account.rb
123
152
  - lib/calendar.rb
124
153
  - lib/contact.rb
125
154
  - lib/draft.rb
@@ -136,34 +165,28 @@ files:
136
165
  - lib/thread.rb
137
166
  - lib/time_attr_accessor.rb
138
167
  - lib/version.rb
139
- - LICENSE.txt
140
- - README.md
141
168
  homepage: http://github.com/inboxapp/inbox-ruby
142
169
  licenses:
143
170
  - MIT
171
+ metadata: {}
144
172
  post_install_message:
145
173
  rdoc_options: []
146
174
  require_paths:
147
175
  - lib
148
176
  required_ruby_version: !ruby/object:Gem::Requirement
149
- none: false
150
177
  requirements:
151
- - - ! '>='
178
+ - - ">="
152
179
  - !ruby/object:Gem::Version
153
180
  version: '0'
154
- segments:
155
- - 0
156
- hash: 4141893593200362966
157
181
  required_rubygems_version: !ruby/object:Gem::Requirement
158
- none: false
159
182
  requirements:
160
- - - ! '>='
183
+ - - ">="
161
184
  - !ruby/object:Gem::Version
162
185
  version: '0'
163
186
  requirements: []
164
187
  rubyforge_project:
165
- rubygems_version: 1.8.10
188
+ rubygems_version: 2.2.2
166
189
  signing_key:
167
- specification_version: 3
190
+ specification_version: 4
168
191
  summary: Gem for interacting with the Inbox API
169
192
  test_files: []