crash_monkey 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1979b40cce8bf2c1b770ade1732f143a3969c599
4
- data.tar.gz: 3766534b86c538ad577e0623812c6361b0ee5d9c
3
+ metadata.gz: 07673a78ca873c7a0f2f098629e45c9ecb9da196
4
+ data.tar.gz: bf23e3a5e46db45f2cd196c42373b83e59a1af42
5
5
  SHA512:
6
- metadata.gz: 465a9a9bac762efd27441a6a04e1bfdee24cb18019478d0c2af8a05d028d75fb969aa30a3fa19ca67677fea9876b416e4d518e96c3f9e102c6a6f5192665dee8
7
- data.tar.gz: c0e4f55852c20b2508a3779f88d7e6404a06610da9a2954060f8d5fc95bd3f56ac97e89e9259d423f21c05142bda2c2b1e2d01737d4e496ea82c8564cf9d7bc6
6
+ metadata.gz: 51b20cd52dcfe73e770413ac3c14ea982686ff62d1dc0a72e560d7dfd2f3d1436c6a1e83dabe011ed661bc77514f9498efb61d79e529d59cb5bd4aa50a8e81dc
7
+ data.tar.gz: af03c958a562bc4367825cfd71f4c138834e1a38222e3a2941fae83543a760390743aaaa8ed5486b59fcc72efc14e36ef429057f78754485e50f30bbb7f7bbb5
data/README_jp.md ADDED
@@ -0,0 +1,189 @@
1
+ CrashMonkey
2
+ ===========
3
+
4
+ [English](README.md)
5
+
6
+ 概要
7
+ ----
8
+
9
+ iOSのアプリケーションをモンキーテスト(ランダムな操作をひたすら行う)するためのツールです。
10
+ 動作イメージはこの[デモ動画](http://youtu.be/y5PZGVbLHtI)を御覧ください。
11
+ iPhone Simulatorの操作にはUIAutomationを使っていて、ベースとして[ui-auto-monkey](https://github.com/jonathanpenn/ui-auto-monkey)を使わせて頂きました。
12
+
13
+
14
+ 動作環境
15
+ -------
16
+
17
+ 以下の環境でのみ確認してあります。
18
+
19
+ * Max OS X 10.8.4
20
+ * Xcode 4.6.3(Build version 4H1503)
21
+ * Ruby 1.8.7-p371
22
+
23
+ Rubyについては、1.9系, 2.0系でも動くと思います。
24
+
25
+
26
+ CrashMonkeyの特徴
27
+ ---------------
28
+
29
+ ### 良い点
30
+
31
+ * アプリのプロジェクト自体に変更を加えなくても実行することができます
32
+ * 実行時間や実行回数を指定できます
33
+ * 実行結果をScreenshotと操作履歴のHTMLとしてみることができます
34
+ * 実行時のConsoleLogや、Crash時のCrashレポートもみることができます
35
+ * JenkinsなどのCIツールとの連携も容易です
36
+
37
+ ### 制限
38
+
39
+ * iPhone Simulator でしか実行できません
40
+ * 別のアプリ(Safariなど)に遷移してしまうと、テストが継続できません(検知してその回を終了します)
41
+ * 適切な文字入力(ID/PASS等)とか猿だとできないような難しい操作ができません
42
+
43
+
44
+ Install
45
+ --------
46
+
47
+ ```
48
+ gem install crash_monkey --no-ri --no-rdoc
49
+ ```
50
+
51
+ 使いかた
52
+ ------
53
+
54
+ ```
55
+ crash_monkey -a <APP_NAME or APP_PATH>
56
+ ```
57
+
58
+ `-a`でアプリの名前かPATHを指定します。
59
+
60
+ #### 例
61
+
62
+ ```
63
+ crash_monkey -a MyAwesomeApp.app # (1)
64
+ crash_monkey -a build/Debug-iphonesimulator/MyAwesomeApp.app # (2)
65
+ crash_monkey -a ~/Library/Developer/Xcode/DerivedData/MyAwesomeApp-ffumcy/Build/Products/Debug-iphonesimulator/MyAwesomeApp.app # (3)
66
+ ```
67
+
68
+ * (1) の指定方法では、iPhone Simulatorにインストールされているアプリで名前が一致するものを実行します。同名のものが複数ある場合は更新時刻が一番新しいものを使います
69
+ * (2)(3) の指定方法では、PATHにあるアプリを実行します。ただし、iPhone Simulator用にビルドされたものじゃないと使えないので注意して下さい。
70
+ * Dir名に **iphonesimulator** と入っているものが大抵そうです
71
+
72
+
73
+
74
+
75
+ ### Options
76
+
77
+ ```
78
+ % crash_monkey
79
+ Usage: crash_monkey [options]
80
+ -a app_name Target Application(Required)
81
+ -n run_count How many times monkeys run(default: 2)
82
+ -d result_dir Where to output result(default: ./crash_monkey_result)
83
+ -t time_limit_sec Time limit of running(default: 100 sec)
84
+ -c config_path Configuration JSON Path
85
+ -e extend_javascript_path Extend Uiautomation Javascript for such Login scripts
86
+ --show-config Show Current Configuration JSON
87
+ --list-app Show List of Installed Apps in iOS Simulator
88
+ --reset-iPhone-Simulator Reset iPhone Simulator
89
+ ```
90
+
91
+
92
+ #### -n
93
+ Monkey Testを実行する回数を指定します。
94
+
95
+ #### -d
96
+ 結果を出力するDirを指定します。
97
+
98
+ #### -t
99
+ 1回のテストのTimeoutを秒で指定します。
100
+
101
+ #### -c
102
+ UIAutomationの実行時に使うJSON形式のConfigファイルを指定します。雛形については `--show-config`オプションで取得してください。
103
+
104
+ #### -e
105
+ UIAutomation用の拡張JavaScriptファイルを指定します。
106
+ Loginなどに使うことができます。 ([example](https://gist.github.com/jollychang/8972186))
107
+
108
+
109
+ #### --show-config
110
+ UIAutomationの実行時に使うConfigファイルをJSON形式で出力します。変更したい場合は、一度ファイルに保存してから変更し、 `-c` で指定してください。
111
+
112
+ #### --list-app
113
+
114
+ iPhone Simulatorにインストールされているアプリの名前の一覧を表示します。
115
+
116
+ #### --reset-iPhone-Simulator
117
+
118
+ iPhone Simulatorをリセットします。
119
+
120
+ Jenkinsとの連携
121
+ --------------
122
+
123
+ CrashMonkeyはコマンドラインから起動するので、JenkinsなどのCIツールと連携するのは難しくないですが、いくつか注意点を挙げておきます。
124
+
125
+ ### UIAutomation の 確認ダイアログがでる
126
+
127
+ そのMacで初めてCrashMonkeyを実行する場合、Instruments(UIAutomation)が確認ダイアログを表示してパスワードの入力が求められることがあります。
128
+
129
+ この場合パスワードを入力しないと実行できませんが、少なくとも以下の対処をしておけば良いです。
130
+
131
+ * Jenkins実行ユーザがAdmin権限を持っている
132
+ * Jenkins Slaveを動かしている場合
133
+
134
+ ```
135
+ javaws http://<SERVER>/computer/<NodeName>/slave-agent.jnlp
136
+ ```
137
+ というようなXを使った起動方法にしておく
138
+ * Jenkinsからの実行時に、一度ダイアログが出るので、正しいパスワードを入力する
139
+
140
+
141
+ 違う条件でも動くかもしれませんが、上記のようにしておけばダイアログが出なくなります。
142
+
143
+ ssh でログインしてこの状態になったときに、CUI上でユーザ名とパスワードを聞かれることがあります。
144
+ ここで正しく入力しても動かなかいことがありますので注意が必要です。
145
+
146
+
147
+ トラブルシューティング
148
+ -------------------
149
+
150
+ ### xcode-select が設定されていないケース
151
+
152
+
153
+ #### 現象
154
+ ```
155
+ % crash_monkey -a MyGoodApp.app
156
+ .....
157
+ Run: ["instruments", "-l", "100000", "-t", ........... ]
158
+ xcode-select: Error: No Xcode folder is set. Run xcode-select -switch <xcode_folder_path> to set the path to the Xcode folder.
159
+ .....
160
+ ```
161
+
162
+ #### 対処
163
+
164
+ xcode-select で XcodeのInstall Pathを指定して下さい。
165
+
166
+ 例)
167
+
168
+ ```
169
+ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
170
+ ```
171
+
172
+
173
+ Contributing to CrashMonkey
174
+ ---------------------
175
+
176
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
177
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
178
+ * Fork the project.
179
+ * Start a feature/bugfix branch.
180
+ * Commit and push until you are happy with your contribution.
181
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
182
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
183
+
184
+ Copyright
185
+ ----------
186
+
187
+ Copyright (c) 2013 Ken Morishita. See LICENSE.txt for
188
+ further details.
189
+
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
data/crash_monkey.gemspec CHANGED
@@ -2,36 +2,38 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: crash_monkey 0.3.1 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
- s.name = %q{crash_monkey}
8
- version_path = File.join(File.dirname(__FILE__), "VERSION")
9
- s.version = File.read(version_path)
8
+ s.name = "crash_monkey"
9
+ s.version = "0.3.1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
12
13
  s.authors = ["Ken Morishita"]
13
- s.date = %q{2014-03-28}
14
- s.default_executable = %q{crash_monkey}
15
- s.description = %q{This is a Monkey Test Tool using UIAutomation.}
16
- s.email = %q{mokemokechicken@gmail.com}
14
+ s.date = "2016-10-04"
15
+ s.description = "This is a Monkey Test Tool using UIAutomation."
16
+ s.email = "mokemokechicken@gmail.com"
17
17
  s.executables = ["crash_monkey"]
18
18
  s.extra_rdoc_files = [
19
19
  "LICENSE.txt",
20
20
  "README.md",
21
- "README.rdoc"
21
+ "README.rdoc",
22
+ "README_jp.md"
22
23
  ]
23
24
  s.files = [
24
25
  ".document",
25
26
  ".rspec",
26
27
  "Gemfile",
27
- "Gemfile.lock",
28
28
  "LICENSE.txt",
29
29
  "README.md",
30
30
  "README.rdoc",
31
+ "README_jp.md",
31
32
  "Rakefile",
32
33
  "VERSION",
33
34
  "bin/crash_monkey",
34
35
  "crash_monkey.gemspec",
36
+ "example_config.json",
35
37
  "lib/bootstrap/css/bootstrap-responsive.css",
36
38
  "lib/bootstrap/css/bootstrap-responsive.min.css",
37
39
  "lib/bootstrap/css/bootstrap.css",
@@ -53,14 +55,13 @@ Gem::Specification.new do |s|
53
55
  "lib/ui-auto-monkey/UIAutoMonkey.js",
54
56
  "spec/spec_helper.rb"
55
57
  ]
56
- s.homepage = %q{https://github.com/mokemokechicken/CrashMonkey}
58
+ s.homepage = "https://github.com/mokemokechicken/CrashMonkey"
57
59
  s.licenses = ["MIT"]
58
- s.require_paths = ["lib"]
59
- s.rubygems_version = %q{1.6.2}
60
- s.summary = %q{Monkey Test For iOS Application}
60
+ s.rubygems_version = "2.4.5.1"
61
+ s.summary = "Monkey Test For iOS Application"
61
62
 
62
63
  if s.respond_to? :specification_version then
63
- s.specification_version = 3
64
+ s.specification_version = 4
64
65
 
65
66
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
66
67
  s.add_runtime_dependency(%q<erubis>, [">= 2.7.0"])
@@ -69,7 +70,7 @@ Gem::Specification.new do |s|
69
70
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
70
71
  s.add_development_dependency(%q<bundler>, ["> 1.0.0"])
71
72
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
72
- s.add_development_dependency(%q<rcov>, [">= 0"])
73
+ s.add_development_dependency(%q<simplecov>, [">= 0.8.2"])
73
74
  else
74
75
  s.add_dependency(%q<erubis>, [">= 2.7.0"])
75
76
  s.add_dependency(%q<json>, [">= 1.7.0"])
@@ -77,11 +78,7 @@ Gem::Specification.new do |s|
77
78
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
78
79
  s.add_dependency(%q<bundler>, ["> 1.0.0"])
79
80
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
80
- if RUBY_VERSION > '1.9' then
81
- s.add_dependency(%q<simplecov>, [">= 0"])
82
- else
83
- s.add_dependency(%q<rcov>, [">= 0"])
84
- end
81
+ s.add_dependency(%q<simplecov>, [">= 0.8.2"])
85
82
  end
86
83
  else
87
84
  s.add_dependency(%q<erubis>, [">= 2.7.0"])
@@ -90,7 +87,7 @@ Gem::Specification.new do |s|
90
87
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
91
88
  s.add_dependency(%q<bundler>, ["> 1.0.0"])
92
89
  s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
93
- s.add_dependency(%q<rcov>, [">= 0"])
90
+ s.add_dependency(%q<simplecov>, [">= 0.8.2"])
94
91
  end
95
92
  end
96
93
 
@@ -0,0 +1,22 @@
1
+ {
2
+ "numberOfEvents": 100,
3
+ "delayBetweenEvents": 0.05,
4
+
5
+ "eventWeights": {
6
+ "tap": 500,
7
+ "drag": 1,
8
+ "flick": 1,
9
+ "orientation": 1,
10
+ "clickVolumeUp": 1,
11
+ "clickVolumeDown": 1,
12
+ "pinchClose": 10,
13
+ "pinchOpen": 10,
14
+ "shake": 1
15
+ },
16
+
17
+ "touchProbability": {
18
+ "multipleTaps": 0.05,
19
+ "multipleTouches": 0.05,
20
+ "longPress": 0.05
21
+ }
22
+ }
@@ -165,7 +165,7 @@ module UIAutoMonkey
165
165
  end
166
166
 
167
167
  def find_apps(app)
168
- `"ls" -dt #{ENV['HOME']}/Library/Developer/Xcode/DerivedData/*/Build/Products/*/#{app}`.strip.split(/\n/)
168
+ `"ls" -dt #{ENV['HOME']}/Library/Developer/Xcode/DerivedData/*/Build/Products/*/'#{app}'`.strip.split(/\n/)
169
169
  end
170
170
 
171
171
  def devices
@@ -220,7 +220,7 @@ module UIAutoMonkey
220
220
  end
221
221
 
222
222
  def crash_report_list
223
- `ls -t #{crash_report_dir}/#{app_name}_*.crash`.strip.split(/\n/)
223
+ `ls -t #{crash_report_dir}/'#{app_name}'_*.crash`.strip.split(/\n/)
224
224
  end
225
225
 
226
226
  def grep_syslog
@@ -10,7 +10,7 @@
10
10
  "orientation": 1,
11
11
  "clickVolumeUp": 1,
12
12
  "clickVolumeDown": 1,
13
- "lock": 3,
13
+ "lock": 0,
14
14
  "pinchClose": 50,
15
15
  "pinchOpen": 50,
16
16
  "shake": 1,
@@ -1,3 +1,4 @@
1
+
1
2
  // Copyright (c) 2013 Jonathan Penn (http://cocoamanifest.net/)
2
3
 
3
4
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -45,7 +46,8 @@ function UIAutoMonkey() {
45
46
  lock: 0,
46
47
  pinchClose: 10,
47
48
  pinchOpen: 10,
48
- shake: 1
49
+ shake: 1,
50
+ deactivate: 0
49
51
  },
50
52
 
51
53
  // Probability that touch events will have these different properties
@@ -153,7 +155,11 @@ UIAutoMonkey.prototype.allEvents = {
153
155
 
154
156
  shake: function() {
155
157
  this.target().shake();
156
- }
158
+ },
159
+
160
+ deactivate: function() {
161
+ this.target().deactivateAppForDuration(Math.random() * 3);
162
+ }
157
163
  };
158
164
 
159
165
  // --- --- --- ---
@@ -176,6 +182,10 @@ UIAutoMonkey.prototype.triggerRandomEvent = function() {
176
182
  var name = this.chooseEventName();
177
183
  // Find the event method based on the name of the event
178
184
  var event = this.allEvents[name];
185
+ if (!event) {
186
+ UIALogger.logMessage("Attempted to " + name)
187
+ throw new Error("Attempted to fire an undefined event '" + name + "'!")
188
+ }
179
189
  event.apply(this);
180
190
  };
181
191
 
metadata CHANGED
@@ -1,113 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crash_monkey
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Morishita
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-28 00:00:00.000000000 Z
11
+ date: 2016-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: erubis
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.7.0
20
20
  type: :runtime
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: 2.7.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.7.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.7.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 2.8.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.8.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rdoc
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '3.12'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.12'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>'
73
+ - - ">"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 1.0.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>'
80
+ - - ">"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 1.0.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: jeweler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: 1.8.4
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.8.4
97
97
  - !ruby/object:Gem::Dependency
98
- name: rcov
98
+ name: simplecov
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 0.8.2
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: 0.8.2
111
111
  description: This is a Monkey Test Tool using UIAutomation.
112
112
  email: mokemokechicken@gmail.com
113
113
  executables:
@@ -117,18 +117,20 @@ extra_rdoc_files:
117
117
  - LICENSE.txt
118
118
  - README.md
119
119
  - README.rdoc
120
+ - README_jp.md
120
121
  files:
121
- - .document
122
- - .rspec
122
+ - ".document"
123
+ - ".rspec"
123
124
  - Gemfile
124
- - Gemfile.lock
125
125
  - LICENSE.txt
126
126
  - README.md
127
127
  - README.rdoc
128
+ - README_jp.md
128
129
  - Rakefile
129
130
  - VERSION
130
131
  - bin/crash_monkey
131
132
  - crash_monkey.gemspec
133
+ - example_config.json
132
134
  - lib/bootstrap/css/bootstrap-responsive.css
133
135
  - lib/bootstrap/css/bootstrap-responsive.min.css
134
136
  - lib/bootstrap/css/bootstrap.css
@@ -159,18 +161,18 @@ require_paths:
159
161
  - lib
160
162
  required_ruby_version: !ruby/object:Gem::Requirement
161
163
  requirements:
162
- - - '>='
164
+ - - ">="
163
165
  - !ruby/object:Gem::Version
164
166
  version: '0'
165
167
  required_rubygems_version: !ruby/object:Gem::Requirement
166
168
  requirements:
167
- - - '>='
169
+ - - ">="
168
170
  - !ruby/object:Gem::Version
169
171
  version: '0'
170
172
  requirements: []
171
173
  rubyforge_project:
172
- rubygems_version: 2.0.14
174
+ rubygems_version: 2.4.5.1
173
175
  signing_key:
174
- specification_version: 3
176
+ specification_version: 4
175
177
  summary: Monkey Test For iOS Application
176
178
  test_files: []
data/Gemfile.lock DELETED
@@ -1,70 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- addressable (2.3.6)
5
- builder (3.2.2)
6
- diff-lcs (1.1.3)
7
- docile (1.1.5)
8
- erubis (2.7.0)
9
- faraday (0.8.9)
10
- multipart-post (~> 1.2.0)
11
- git (1.2.8)
12
- github_api (0.10.1)
13
- addressable
14
- faraday (~> 0.8.1)
15
- hashie (>= 1.2)
16
- multi_json (~> 1.4)
17
- nokogiri (~> 1.5.2)
18
- oauth2
19
- hashie (3.3.1)
20
- highline (1.6.21)
21
- jeweler (1.8.8)
22
- builder
23
- bundler (~> 1.0)
24
- git (>= 1.2.5)
25
- github_api (= 0.10.1)
26
- highline (>= 1.6.15)
27
- nokogiri (= 1.5.10)
28
- rake
29
- rdoc
30
- json (1.8.1)
31
- jwt (1.0.0)
32
- multi_json (1.10.1)
33
- multi_xml (0.5.5)
34
- multipart-post (1.2.0)
35
- nokogiri (1.5.10)
36
- oauth2 (1.0.0)
37
- faraday (>= 0.8, < 0.10)
38
- jwt (~> 1.0)
39
- multi_json (~> 1.3)
40
- multi_xml (~> 0.5)
41
- rack (~> 1.2)
42
- rack (1.5.2)
43
- rake (10.3.2)
44
- rdoc (3.12.2)
45
- json (~> 1.4)
46
- rspec (2.8.0)
47
- rspec-core (~> 2.8.0)
48
- rspec-expectations (~> 2.8.0)
49
- rspec-mocks (~> 2.8.0)
50
- rspec-core (2.8.0)
51
- rspec-expectations (2.8.0)
52
- diff-lcs (~> 1.1.2)
53
- rspec-mocks (2.8.0)
54
- simplecov (0.9.1)
55
- docile (~> 1.1.0)
56
- multi_json (~> 1.0)
57
- simplecov-html (~> 0.8.0)
58
- simplecov-html (0.8.0)
59
-
60
- PLATFORMS
61
- ruby
62
-
63
- DEPENDENCIES
64
- bundler (> 1.0.0)
65
- erubis (>= 2.7.0)
66
- jeweler (~> 1.8.4)
67
- json (>= 1.7.0)
68
- rdoc (~> 3.12)
69
- rspec (~> 2.8.0)
70
- simplecov (>= 0.8.2)