inbox 0.10.1 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
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: []