hockeyhelper 0.0.2 → 0.0.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/Gemfile +0 -4
- data/README.md +39 -3
- data/Rakefile +7 -4
- data/hockey.gemspec +2 -0
- data/lib/hockeyhelper/app.rb +39 -14
- data/lib/hockeyhelper/client.rb +38 -35
- data/lib/hockeyhelper/crash_reason.rb +58 -0
- data/lib/hockeyhelper/networking.rb +8 -6
- data/lib/hockeyhelper/paging_array.rb +41 -0
- data/lib/hockeyhelper/version.rb +1 -1
- data/lib/hockeyhelper.rb +2 -0
- data/spec/app_spec.rb +0 -5
- data/spec/client_spec.rb +158 -0
- metadata +45 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 361f2c3a9a76cf49107f730ecef7116e49f013df
|
4
|
+
data.tar.gz: 0421c010c61dad94c49a94dc2c292d0c1fb6319a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed29a07b77a17dbf91d6766a570d2115802250a4ae0093bd120f9c1637aad53b57ec0b2fdb786fff8bf60a443adba1ab0f2e0635f984619cb6cae00437530288
|
7
|
+
data.tar.gz: e170b47aed77cac749c202b8b0f1aa095c39a1171e11f49b48c871b8d33c271bd38bdeedeff98cc947ed5a4b90547d812dcbb5c63232978be2fc9bbaf1bc8725
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
-
#
|
1
|
+
# hockeyhelper gem
|
2
2
|
|
3
|
-
Helper gem for HokceyApp API
|
3
|
+
Helper gem for HokceyApp API.
|
4
4
|
|
5
5
|
[](https://travis-ci.org/yagihiro/hockey)
|
6
|
+
[](http://badge.fury.io/rb/hockeyhelper)
|
6
7
|
|
7
8
|
## Installation
|
8
9
|
|
@@ -20,7 +21,42 @@ Or install it yourself as:
|
|
20
21
|
|
21
22
|
## Usage
|
22
23
|
|
23
|
-
|
24
|
+
create a new app and an invite user
|
25
|
+
|
26
|
+
require 'hockeyhelper'
|
27
|
+
client = Hockey::Client.new 'yourapitoken'
|
28
|
+
app = client.new_app(title: appname, bundle_identifier: bundleid, platform: platform)
|
29
|
+
user = app.invite_user(email: email)
|
30
|
+
|
31
|
+
list all apps with paging
|
32
|
+
|
33
|
+
require 'hockeyhelper'
|
34
|
+
client = Hockey::Client.new 'yourapitoken'
|
35
|
+
apps = client.apps(page: 1)
|
36
|
+
|
37
|
+
list all versions for an app
|
38
|
+
|
39
|
+
require 'hockeyhelper'
|
40
|
+
client = Hockey::Client.new 'yourapitoken'
|
41
|
+
versions = client.apps(page: 1)[0].versions
|
42
|
+
|
43
|
+
list all users for an app
|
44
|
+
|
45
|
+
require 'hockeyhelper'
|
46
|
+
client = Hockey::Client.new 'yourapitoken'
|
47
|
+
users = client.apps(page: 1)[0].users
|
48
|
+
|
49
|
+
remove a user from an app
|
50
|
+
|
51
|
+
require 'hockeyhelper'
|
52
|
+
client = Hockey::Client.new 'yourapitoken'
|
53
|
+
client.apps(page: 1)[0].remove_user 'email@xxx.xx'
|
54
|
+
|
55
|
+
list all teams with paging
|
56
|
+
|
57
|
+
require 'hockeyhelper'
|
58
|
+
client = Hockey::Client.new 'yourapitoken'
|
59
|
+
teams = client.teams(page: 1)
|
24
60
|
|
25
61
|
## Contributing
|
26
62
|
|
data/Rakefile
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
|
-
require '
|
2
|
+
require 'rake/testtask'
|
3
3
|
|
4
|
-
|
4
|
+
task :default => :test
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
Rake::TestTask.new do |t|
|
7
|
+
t.libs << 'lib'
|
8
|
+
t.test_files = FileList['spec/*_spec.rb']
|
9
|
+
t.warning = true
|
10
|
+
end
|
data/hockey.gemspec
CHANGED
data/lib/hockeyhelper/app.rb
CHANGED
@@ -39,15 +39,8 @@ module Hockey
|
|
39
39
|
end
|
40
40
|
alias_method :to_s, :inspect
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
user = @users.find {|u| u.email == email }
|
45
|
-
|
46
|
-
if user
|
47
|
-
@net.delete "/api/2/apps/#{@public_identifier}/app_users/#{user.id}"
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
42
|
+
# List all users of an app on HockeyApp.
|
43
|
+
# return an Array of User objects.
|
51
44
|
def users
|
52
45
|
return @users if @users
|
53
46
|
|
@@ -61,6 +54,28 @@ module Hockey
|
|
61
54
|
@users
|
62
55
|
end
|
63
56
|
|
57
|
+
# Invite a user to an app.
|
58
|
+
# return a User object.
|
59
|
+
def invite_user(email:email)
|
60
|
+
obj = @net.post_object "/api/2/apps/#{@public_identifier}/app_users", {:email=>email, :role=>1}
|
61
|
+
|
62
|
+
user = User.create_from(obj, @net)
|
63
|
+
|
64
|
+
user
|
65
|
+
end
|
66
|
+
|
67
|
+
# Remove a user from an app on HockeyApp.
|
68
|
+
def remove_user(email:nil)
|
69
|
+
users()
|
70
|
+
user = @users.find {|u| u.email == email }
|
71
|
+
|
72
|
+
if user
|
73
|
+
@net.delete "/api/2/apps/#{@public_identifier}/app_users/#{user.id}"
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# List all versions of an app. The endpoint returns all versions for developer and members, but only released versions for testers.
|
78
|
+
# return an Array of Version objects.
|
64
79
|
def versions
|
65
80
|
return @versions if @versions
|
66
81
|
|
@@ -74,12 +89,22 @@ module Hockey
|
|
74
89
|
@versions
|
75
90
|
end
|
76
91
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
92
|
+
# List all crash groups for an app.
|
93
|
+
# return an Array of CrashReason objects.
|
94
|
+
#
|
95
|
+
# +sort+ parameter:
|
96
|
+
# :date, :class, :number_of_crashes, :last_crash_at
|
97
|
+
# +order+ parameter:
|
98
|
+
# :asc, :desc
|
99
|
+
def crash_reasons(page: 1, per: 25, symbolicated: true, sort: :date, order: :asc)
|
100
|
+
obj = @net.get_object "/api/2/apps/#{@public_identifier}/crash_reasons"
|
101
|
+
|
102
|
+
cr = []
|
103
|
+
obj['crash_reasons'].each do |hashobj|
|
104
|
+
cr << CrashReason.create_from(hashobj, @net)
|
105
|
+
end
|
81
106
|
|
82
|
-
|
107
|
+
cr
|
83
108
|
end
|
84
109
|
|
85
110
|
end
|
data/lib/hockeyhelper/client.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative 'app'
|
2
2
|
require_relative 'networking'
|
3
|
+
require_relative 'paging_array'
|
3
4
|
|
4
5
|
module Hockey
|
5
6
|
|
@@ -7,52 +8,54 @@ module Hockey
|
|
7
8
|
class Client
|
8
9
|
|
9
10
|
#
|
10
|
-
def initialize(token, debug:false)
|
11
|
-
@net = Networking.new
|
12
|
-
@
|
13
|
-
@teams = nil
|
11
|
+
def initialize(token, debug: false, network: nil)
|
12
|
+
@net = network || Networking.new(token, debug:debug)
|
13
|
+
@cached_apps = nil
|
14
14
|
end
|
15
15
|
|
16
|
-
#
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
16
|
+
# List all apps for the logged user, including owned apps, developer apps, member apps, and tester apps on HockeyApp.
|
17
|
+
#
|
18
|
+
# @return [Array<App>] an array of {App} objects.
|
19
|
+
# @param page [Fixnum] optional, used for pagination
|
20
|
+
def apps(page: 1)
|
21
|
+
@cached_apps ||= []
|
22
|
+
|
23
|
+
if @cached_apps.empty?
|
24
|
+
obj = @net.get_object '/api/2/apps'
|
25
|
+
obj['apps'].each do |hashobj|
|
26
|
+
@cached_apps << App.create_from(hashobj, @net)
|
27
|
+
end
|
25
28
|
end
|
26
29
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
# return Array of Team objects
|
31
|
-
def teams
|
32
|
-
return @teams if @teams
|
33
|
-
|
34
|
-
@teams = []
|
35
|
-
page = 1
|
30
|
+
apps = PagingArray.new
|
31
|
+
apps.replace(@cached_apps[(page - 1) * apps.per_page, apps.per_page])
|
32
|
+
apps.update_page_with(page, @cached_apps.size)
|
36
33
|
|
37
|
-
|
38
|
-
|
39
|
-
req.params[:page] = page
|
40
|
-
end
|
41
|
-
obj['teams'].each do |hashobj|
|
42
|
-
@teams << Team.create_from(hashobj, @net)
|
43
|
-
end
|
34
|
+
apps
|
35
|
+
end
|
44
36
|
|
45
|
-
|
46
|
-
|
37
|
+
# List all teams for an account.
|
38
|
+
#
|
39
|
+
# @return [Hockey::PagingArray<Team>] an array of {Team} objects
|
40
|
+
# @param page [Fixnum] optional, used for pagination
|
41
|
+
def teams(page: 1)
|
42
|
+
teams = PagingArray.new
|
47
43
|
|
48
|
-
|
44
|
+
obj = @net.get_object('/api/2/teams') do |req|
|
45
|
+
req.params[:page] = page
|
46
|
+
end
|
47
|
+
obj['teams'].each do |hashobj|
|
48
|
+
teams << Team.create_from(hashobj, @net)
|
49
49
|
end
|
50
50
|
|
51
|
-
|
51
|
+
teams.update_page(obj)
|
52
|
+
|
53
|
+
teams
|
52
54
|
end
|
53
55
|
|
54
|
-
#
|
55
|
-
|
56
|
+
# Create a new app without uploading a file on HockeyApp.
|
57
|
+
# return an App object.
|
58
|
+
def new_app(title: '', bundle_identifier: '', platform: 'iOS')
|
56
59
|
obj = @net.post_object '/api/2/apps/new', {:title=>title, :bundle_identifier=>bundle_identifier, :platform=>platform, :release_type=>0}
|
57
60
|
|
58
61
|
app = App.create_from(obj, @net)
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module Hockey
|
2
|
+
|
3
|
+
# CrashReason on HockeyApp
|
4
|
+
class CrashReason
|
5
|
+
|
6
|
+
attr_reader :id
|
7
|
+
attr_reader :app_id
|
8
|
+
attr_reader :app_version_id
|
9
|
+
attr_reader :number_of_crashes
|
10
|
+
attr_reader :created_at
|
11
|
+
attr_reader :updated_at
|
12
|
+
attr_reader :last_crash_at
|
13
|
+
attr_reader :bundle_short_version
|
14
|
+
attr_reader :bundle_version
|
15
|
+
attr_reader :status
|
16
|
+
attr_reader :fixed
|
17
|
+
attr_reader :file
|
18
|
+
attr_reader :crash_class
|
19
|
+
attr_reader :crash_method
|
20
|
+
attr_reader :line
|
21
|
+
attr_reader :reason
|
22
|
+
attr_reader :original_hash
|
23
|
+
|
24
|
+
attr :net
|
25
|
+
|
26
|
+
def self.create_from(hashobj, networking)
|
27
|
+
self.new hashobj, networking
|
28
|
+
end
|
29
|
+
|
30
|
+
def initialize(hashobj, networking)
|
31
|
+
@id = hashobj['id']
|
32
|
+
@app_id = hashobj['app_id']
|
33
|
+
@app_version_id = hashobj['app_version_id']
|
34
|
+
@number_of_crashes = hashobj['number_of_crashes']
|
35
|
+
@created_at = hashobj['created_at']
|
36
|
+
@updated_at = hashobj['updated_at']
|
37
|
+
@last_crash_at = hashobj['last_crash_at']
|
38
|
+
@bundle_short_version = hashobj['bundle_short_version']
|
39
|
+
@bundle_version = hashobj['bundle_version']
|
40
|
+
@status = hashobj['status']
|
41
|
+
@fixed = hashobj['fixed']
|
42
|
+
@file = hashobj['file']
|
43
|
+
@crash_class = hashobj['class']
|
44
|
+
@crash_method = hashobj['method']
|
45
|
+
@line = hashobj['line']
|
46
|
+
@reason = hashobj['reason']
|
47
|
+
@original_hash = hashobj
|
48
|
+
@net = networking
|
49
|
+
end
|
50
|
+
|
51
|
+
def inspect
|
52
|
+
"#<#{self.class}:#{'0x%08x' % self.hash} #{@id}, #{@file}, #{@crash_class}, #{@crash_method}, #{@line}>"
|
53
|
+
end
|
54
|
+
alias_method :to_s, :inspect
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
@@ -7,11 +7,11 @@ module Hockey
|
|
7
7
|
class NullLogger < Logger
|
8
8
|
def initialize *args
|
9
9
|
end
|
10
|
-
def debug; end
|
11
|
-
def info; end
|
12
|
-
def warn; end
|
13
|
-
def error; end
|
14
|
-
def fatal; end
|
10
|
+
def debug(*args); end
|
11
|
+
def info(*args); end
|
12
|
+
def warn(*args); end
|
13
|
+
def error(*args); end
|
14
|
+
def fatal(*args); end
|
15
15
|
end
|
16
16
|
|
17
17
|
# Networking Core Lib
|
@@ -19,7 +19,9 @@ module Hockey
|
|
19
19
|
|
20
20
|
attr :l
|
21
21
|
|
22
|
-
def initialize(token, debug:false)
|
22
|
+
def initialize(token, debug: false)
|
23
|
+
raise(ArgumentError, 'token must be an instance of String') unless token.kind_of?(String)
|
24
|
+
|
23
25
|
@client = Faraday.new(:url => 'https://rink.hockeyapp.net')
|
24
26
|
@token = token
|
25
27
|
@l = if debug
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Hockey
|
2
|
+
|
3
|
+
class PagingArray < Array
|
4
|
+
attr_reader :current_page
|
5
|
+
attr_reader :per_page # = 25
|
6
|
+
attr_reader :total_entries
|
7
|
+
attr_reader :total_pages
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
super
|
11
|
+
@per_page = 25
|
12
|
+
end
|
13
|
+
|
14
|
+
def update_page(hashobj)
|
15
|
+
@current_page = hashobj['current_page'].to_i
|
16
|
+
@total_entries = hashobj['total_entries'].to_i
|
17
|
+
@total_pages = hashobj['total_pages'].to_i
|
18
|
+
|
19
|
+
self
|
20
|
+
end
|
21
|
+
|
22
|
+
def update_page_with(page, size)
|
23
|
+
@current_page = page
|
24
|
+
@total_entries = size
|
25
|
+
@total_pages = (size / @per_page) + 1
|
26
|
+
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
class OrderedPagingArray < PagingArray
|
33
|
+
attr :order_type
|
34
|
+
end
|
35
|
+
|
36
|
+
class ClashesPagingArray < OrderedPagingArray
|
37
|
+
attr :symbolicated
|
38
|
+
attr :sort_type
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
data/lib/hockeyhelper/version.rb
CHANGED
data/lib/hockeyhelper.rb
CHANGED
data/spec/app_spec.rb
CHANGED
data/spec/client_spec.rb
ADDED
@@ -0,0 +1,158 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'hockeyhelper'
|
3
|
+
|
4
|
+
describe Hockey::Client do
|
5
|
+
|
6
|
+
describe 'initialize' do
|
7
|
+
|
8
|
+
it 'when no argument' do
|
9
|
+
proc { Hockey::Client.new }.must_raise(ArgumentError)
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'when specified an argument' do
|
13
|
+
proc { Hockey::Client.new(1) }.must_raise(ArgumentError)
|
14
|
+
|
15
|
+
client = Hockey::Client.new ''
|
16
|
+
client.must_be_instance_of Hockey::Client
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
describe 'apps' do
|
22
|
+
|
23
|
+
before do
|
24
|
+
@page1 =<<_EOS_
|
25
|
+
{
|
26
|
+
"apps": [
|
27
|
+
{
|
28
|
+
"title": "HockeyTest",
|
29
|
+
"bundle_identifier": "de.codenauts.hockeytest.beta",
|
30
|
+
"public_identifier": "1234567890abcdef1234567890abcdef",
|
31
|
+
"device_family": "iPhone/iPod",
|
32
|
+
"minimum_os_version": "4.0",
|
33
|
+
"release_type": 0,
|
34
|
+
"status": 2,
|
35
|
+
"platform": "iOS"
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"title": "HockeyTest",
|
39
|
+
"bundle_identifier": "de.codenauts.hockeytest",
|
40
|
+
"public_identifier": "34567890abcdef1234567890abcdef12",
|
41
|
+
"release_type": 1,
|
42
|
+
"platform": "iOS"
|
43
|
+
}
|
44
|
+
],
|
45
|
+
"status": "success"
|
46
|
+
}
|
47
|
+
_EOS_
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'when succeeded' do
|
51
|
+
net_mock = Minitest::Mock.new
|
52
|
+
client = Hockey::Client.new 'token', network: net_mock
|
53
|
+
|
54
|
+
net_mock.expect(:get_object, JSON.parse(@page1), ['/api/2/apps'])
|
55
|
+
apps = client.apps(page: 1)
|
56
|
+
apps.must_be_kind_of Hockey::PagingArray
|
57
|
+
apps.size.must_equal 2
|
58
|
+
apps.each do |obj|
|
59
|
+
obj.must_be_instance_of Hockey::App
|
60
|
+
end
|
61
|
+
apps[0].bundle_identifier.must_equal 'de.codenauts.hockeytest.beta'
|
62
|
+
apps[1].bundle_identifier.must_equal 'de.codenauts.hockeytest'
|
63
|
+
net_mock.verify
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
68
|
+
describe 'teams' do
|
69
|
+
|
70
|
+
before do
|
71
|
+
@page1 =<<_EOS_
|
72
|
+
{
|
73
|
+
"teams": [
|
74
|
+
{
|
75
|
+
"id": 23,
|
76
|
+
"name": "Bit Stadium GmbH Owners"
|
77
|
+
},
|
78
|
+
{
|
79
|
+
"id": 42,
|
80
|
+
"name": "External Testers"
|
81
|
+
}
|
82
|
+
],
|
83
|
+
"status": "success",
|
84
|
+
"current_page": 1,
|
85
|
+
"per_page": 25,
|
86
|
+
"total_entries": 3,
|
87
|
+
"total_pages": 2
|
88
|
+
}
|
89
|
+
_EOS_
|
90
|
+
@page2 =<<_EOS_
|
91
|
+
{
|
92
|
+
"teams": [
|
93
|
+
{
|
94
|
+
"id": 50,
|
95
|
+
"name": "Bit Stadium GmbH Owners"
|
96
|
+
}
|
97
|
+
],
|
98
|
+
"status": "success",
|
99
|
+
"current_page": 2,
|
100
|
+
"per_page": 25,
|
101
|
+
"total_entries": 3,
|
102
|
+
"total_pages": 2
|
103
|
+
}
|
104
|
+
_EOS_
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'when succeeded' do
|
108
|
+
net_mock = Minitest::Mock.new
|
109
|
+
client = Hockey::Client.new 'token', network: net_mock
|
110
|
+
|
111
|
+
net_mock.expect(:get_object, JSON.parse(@page1), ['/api/2/teams'])
|
112
|
+
teams = client.teams
|
113
|
+
teams.must_be_kind_of Hockey::PagingArray
|
114
|
+
teams.size.must_equal 2
|
115
|
+
teams.each do |obj|
|
116
|
+
obj.must_be_instance_of Hockey::Team
|
117
|
+
end
|
118
|
+
teams[0].id.must_equal 23
|
119
|
+
teams[1].id.must_equal 42
|
120
|
+
net_mock.verify
|
121
|
+
end
|
122
|
+
|
123
|
+
it 'when success w/ paging' do
|
124
|
+
net_mock = Minitest::Mock.new
|
125
|
+
client = Hockey::Client.new 'token', network: net_mock
|
126
|
+
|
127
|
+
net_mock.expect(:get_object, JSON.parse(@page1), ['/api/2/teams'])
|
128
|
+
teams = client.teams(page: 1)
|
129
|
+
teams.must_be_kind_of Hockey::PagingArray
|
130
|
+
teams.size.must_equal 2
|
131
|
+
teams.each do |obj|
|
132
|
+
obj.must_be_instance_of Hockey::Team
|
133
|
+
end
|
134
|
+
teams[0].id.must_equal 23
|
135
|
+
teams[1].id.must_equal 42
|
136
|
+
teams.current_page.must_equal 1
|
137
|
+
teams.total_entries.must_equal 3
|
138
|
+
teams.total_pages.must_equal 2
|
139
|
+
|
140
|
+
net_mock.expect(:get_object, JSON.parse(@page2), ['/api/2/teams'])
|
141
|
+
teams = client.teams(page: 2)
|
142
|
+
teams.must_be_kind_of Hockey::PagingArray
|
143
|
+
teams.size.must_equal 1
|
144
|
+
teams.each do |obj|
|
145
|
+
obj.must_be_instance_of Hockey::Team
|
146
|
+
end
|
147
|
+
teams[0].id.must_equal 50
|
148
|
+
teams.current_page.must_equal 2
|
149
|
+
teams.total_entries.must_equal 3
|
150
|
+
teams.total_pages.must_equal 2
|
151
|
+
|
152
|
+
net_mock.verify
|
153
|
+
end
|
154
|
+
|
155
|
+
end
|
156
|
+
|
157
|
+
end
|
158
|
+
|
metadata
CHANGED
@@ -1,55 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hockeyhelper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiroki Yagita
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.6'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: yard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
39
67
|
- !ruby/object:Gem::Version
|
40
68
|
version: '0'
|
41
69
|
- !ruby/object:Gem::Dependency
|
42
70
|
name: faraday
|
43
71
|
requirement: !ruby/object:Gem::Requirement
|
44
72
|
requirements:
|
45
|
-
- -
|
73
|
+
- - ">="
|
46
74
|
- !ruby/object:Gem::Version
|
47
75
|
version: '0'
|
48
76
|
type: :runtime
|
49
77
|
prerelease: false
|
50
78
|
version_requirements: !ruby/object:Gem::Requirement
|
51
79
|
requirements:
|
52
|
-
- -
|
80
|
+
- - ">="
|
53
81
|
- !ruby/object:Gem::Version
|
54
82
|
version: '0'
|
55
83
|
description:
|
@@ -59,8 +87,8 @@ executables: []
|
|
59
87
|
extensions: []
|
60
88
|
extra_rdoc_files: []
|
61
89
|
files:
|
62
|
-
- .gitignore
|
63
|
-
- .travis.yml
|
90
|
+
- ".gitignore"
|
91
|
+
- ".travis.yml"
|
64
92
|
- Gemfile
|
65
93
|
- LICENSE
|
66
94
|
- README.md
|
@@ -69,11 +97,14 @@ files:
|
|
69
97
|
- lib/hockeyhelper.rb
|
70
98
|
- lib/hockeyhelper/app.rb
|
71
99
|
- lib/hockeyhelper/client.rb
|
100
|
+
- lib/hockeyhelper/crash_reason.rb
|
72
101
|
- lib/hockeyhelper/networking.rb
|
102
|
+
- lib/hockeyhelper/paging_array.rb
|
73
103
|
- lib/hockeyhelper/team.rb
|
74
104
|
- lib/hockeyhelper/user.rb
|
75
105
|
- lib/hockeyhelper/version.rb
|
76
106
|
- spec/app_spec.rb
|
107
|
+
- spec/client_spec.rb
|
77
108
|
homepage: ''
|
78
109
|
licenses:
|
79
110
|
- MIT
|
@@ -84,12 +115,12 @@ require_paths:
|
|
84
115
|
- lib
|
85
116
|
required_ruby_version: !ruby/object:Gem::Requirement
|
86
117
|
requirements:
|
87
|
-
- -
|
118
|
+
- - ">="
|
88
119
|
- !ruby/object:Gem::Version
|
89
120
|
version: 2.0.0
|
90
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
122
|
requirements:
|
92
|
-
- -
|
123
|
+
- - ">="
|
93
124
|
- !ruby/object:Gem::Version
|
94
125
|
version: '0'
|
95
126
|
requirements: []
|
@@ -100,3 +131,5 @@ specification_version: 4
|
|
100
131
|
summary: Helper gem for HokceyApp API
|
101
132
|
test_files:
|
102
133
|
- spec/app_spec.rb
|
134
|
+
- spec/client_spec.rb
|
135
|
+
has_rdoc:
|