janky 0.9.11 → 0.9.12

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,24 @@
1
+ = 0.9.12 / 2012-06-23
2
+
3
+ * Upgrade OAuth authentication gem to use GitHub API v3. [Corey Donohoe]
4
+
5
+ * Upgrade to ActiveRecord 3.2.X. [Simon Rozet]
6
+
7
+ * Allow configuring the path to the database socket with JANKY_DATABASE_SOCKET
8
+ setting. [Simon Rozet]
9
+
10
+ * Add a few indexes on the builds table to improve performance. [Simon Rozet].
11
+
12
+ * Eager load the builds.output column to improve performance. [Simon Rozet,
13
+ Jesse Dearing, Rafael Mendonça França]
14
+
15
+ * Fix deprecation logic for Campfire settings. [Piet Jaspers]
16
+
17
+ * Destroy all associated records after destroying a repository record. [Eric
18
+ Holmes]
19
+
20
+ * Handle commit messages longer than 255 characters. [Shay Frendt]
21
+
1
22
  = 0.9.11 / 2011-03-01
2
23
 
3
24
  * Fix HipChat setup instructions. [Andre Sachs]
data/README.md CHANGED
@@ -115,7 +115,7 @@ command:
115
115
  Required settings:
116
116
 
117
117
  * `JANKY_BASE_URL`: The application URL **with** a trailing slash. Example:
118
- `http://mf-doom-42.heroku.com/`.
118
+ `http://mf-doom-42.herokuapp.com/`.
119
119
  * `JANKY_BUILDER_DEFAULT`: The Jenkins server URL **with** a trailing slash.
120
120
  Example: `http://jenkins.example.com/`. For basic auth, include the
121
121
  credentials in the URL: `http://user:pass@jenkins.example.com/`.
@@ -124,12 +124,19 @@ Required settings:
124
124
  * `JANKY_HUBOT_USER`: Login used to protect the Hubot API.
125
125
  * `JANKY_HUBOT_PASSWORD`: Password for the Hubot API.
126
126
  * `JANKY_GITHUB_USER`: The login of the GitHub user used to access the
127
- API. Requires Push and Pull privileges.
127
+ API. Requires Administrative privileges to set up service hooks.
128
128
  * `JANKY_GITHUB_PASSWORD`: The password for the GitHub user.
129
129
  * `JANKY_GITHUB_HOOK_SECRET`: Secret used to sign hook requests from
130
130
  GitHub.
131
131
  * `JANKY_CHAT_DEFAULT_ROOM`: Chat room where notifications are sent by default.
132
132
 
133
+ Optional database settings:
134
+
135
+ * `DATABASE_URL`: Database connection URL. Example:
136
+ `postgres://user:password@host:port/db_name`.
137
+ * `JANKY_DATABASE_SOCKET`: Path to the database socket. Example:
138
+ `/var/run/mysql5/mysqld.sock`.
139
+
133
140
  #### GitHub Enterprise
134
141
 
135
142
  Using Janky with [GitHub Enterprise][ghe] requires one extra setting:
@@ -155,7 +162,8 @@ Janky notifies [Campfire][] chat rooms by default. Required settings:
155
162
  Required settings:
156
163
 
157
164
  * `JANKY_CHAT=hipchat`
158
- * `JANKY_CHAT_HIPCHAT_TOKEN`: authentication token
165
+ * `JANKY_CHAT_HIPCHAT_TOKEN`: authentication token (This token needs to be an
166
+ admin token, not a notification token.)
159
167
  * `JANKY_CHAT_HIPCHAT_FROM`: name that messages will appear be sent from.
160
168
  Defaults to `CI`.
161
169
 
@@ -170,12 +178,12 @@ Installation:
170
178
  ### Authentication
171
179
 
172
180
  To restrict access to members of a GitHub organization, [register a new
173
- OAuth application on GitHub](https://github.com/account/applications)
181
+ OAuth application on GitHub](https://github.com/settings/applications)
174
182
  with the callback set to `$JANKY_BASE_URL/auth/github/callback` then set
175
183
  a few extra settings:
176
184
 
177
185
  * `JANKY_SESSION_SECRET`: Random session cookie secret. Typically
178
- generated by a tool like `pgwen`.
186
+ generated by a tool like `pwgen`.
179
187
  * `JANKY_AUTH_CLIENT_ID`: The client ID of the OAuth application.
180
188
  * `JANKY_AUTH_CLIENT_SECRET`: The client secret of the OAuth application.
181
189
  * `JANKY_AUTH_ORGANIZATION`: The organization name. Example: "github".
data/janky.gemspec CHANGED
@@ -11,10 +11,10 @@ Gem::Specification.new "janky", Janky::VERSION do |s|
11
11
  # runtime
12
12
  s.add_dependency "rake", "~>0.9.2"
13
13
  s.add_dependency "sinatra", "~>1.3"
14
- s.add_dependency "sinatra_auth_github", "~>0.3.1"
14
+ s.add_dependency "sinatra_auth_github", "~>0.7.0"
15
15
  s.add_dependency "mustache", "~>0.11"
16
16
  s.add_dependency "yajl-ruby", "~>1.1.0"
17
- s.add_dependency "activerecord", "~>3.1.0"
17
+ s.add_dependency "activerecord", "~>3.2.0"
18
18
  s.add_dependency "broach", "~>0.2"
19
19
  s.add_dependency "replicate", "~>1.4"
20
20
 
data/lib/janky.rb CHANGED
@@ -93,14 +93,18 @@ module Janky
93
93
  end
94
94
  base_url = URI(settings["JANKY_BASE_URL"]).to_s
95
95
 
96
- ActiveRecord::Base.establish_connection(
96
+ connection = {
97
97
  :adapter => adapter,
98
98
  :host => database.host,
99
99
  :database => database.path[1..-1],
100
100
  :username => database.user,
101
101
  :password => database.password,
102
- :reconnect => true
103
- )
102
+ :reconnect => true,
103
+ }
104
+ if socket = settings["JANKY_DATABASE_SOCKET"]
105
+ connection[:socket] = socket
106
+ end
107
+ ActiveRecord::Base.establish_connection(connection)
104
108
 
105
109
  self.jobs_config_dir = config_dir = Pathname(settings["JANKY_CONFIG_DIR"])
106
110
  if !config_dir.directory?
@@ -170,7 +174,7 @@ module Janky
170
174
  warn "JANKY_CAMPFIRE_TOKEN is deprecated. Please use " \
171
175
  "JANKY_CHAT_CAMPFIRE_TOKEN instead."
172
176
  settings["JANKY_CHAT_CAMPFIRE_TOKEN"] ||=
173
- settings["JANKY_CAMPFIRE_ACCOUNT"]
177
+ settings["JANKY_CAMPFIRE_TOKEN"]
174
178
  end
175
179
 
176
180
  chat_name = settings["JANKY_CHAT"] || "campfire"
data/lib/janky/app.rb CHANGED
@@ -45,7 +45,7 @@ module Janky
45
45
  end
46
46
 
47
47
  get "/:build_id/output" do |build_id|
48
- @build = Build.find(build_id)
48
+ @build = Build.select(:output).find(build_id)
49
49
  authorize_repo(@build.repo)
50
50
  mustache :console, :layout => false
51
51
  end
data/lib/janky/branch.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Janky
2
2
  class Branch < ActiveRecord::Base
3
3
  belongs_to :repository
4
- has_many :builds
4
+ has_many :builds, :dependent => :destroy
5
5
 
6
6
  # Is this branch green?
7
7
  #
data/lib/janky/build.rb CHANGED
@@ -3,6 +3,14 @@ module Janky
3
3
  belongs_to :branch
4
4
  belongs_to :commit
5
5
 
6
+ default_scope do
7
+ columns = (column_names - ["output"]).map do |column_name|
8
+ arel_table[column_name]
9
+ end
10
+
11
+ select(columns)
12
+ end
13
+
6
14
  # Transition the Build to the started state.
7
15
  #
8
16
  # id - the Fixnum ID used to find the build.
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
  # This file is auto-generated from the current state of the database. Instead
2
3
  # of editing this file, please use the migrations feature of Active Record to
3
4
  # incrementally modify your database, and then regenerate this schema definition.
@@ -10,7 +11,7 @@
10
11
  #
11
12
  # It's strongly recommended to check this file into your version control system.
12
13
 
13
- ActiveRecord::Schema.define(:version => 1317384649) do
14
+ ActiveRecord::Schema.define(:version => 1317384652) do
14
15
 
15
16
  create_table "branches", :force => true do |t|
16
17
  t.string "name", :null => false
@@ -22,24 +23,29 @@ ActiveRecord::Schema.define(:version => 1317384649) do
22
23
  add_index "branches", ["name", "repository_id"], :name => "index_branches_on_name_and_repository_id", :unique => true
23
24
 
24
25
  create_table "builds", :force => true do |t|
25
- t.boolean "green", :default => false
26
+ t.boolean "green", :default => false
26
27
  t.string "url"
27
- t.string "compare", :null => false
28
+ t.string "compare", :null => false
28
29
  t.datetime "started_at"
29
30
  t.datetime "completed_at"
30
- t.integer "commit_id", :null => false
31
- t.integer "branch_id", :null => false
31
+ t.integer "commit_id", :null => false
32
+ t.integer "branch_id", :null => false
32
33
  t.datetime "created_at"
33
34
  t.datetime "updated_at"
34
- t.text "output", :limit => 2147483647
35
+ t.text "output"
35
36
  t.integer "room_id"
36
37
  end
37
38
 
39
+ add_index "builds", ["branch_id"], :name => "index_builds_on_branch_id"
40
+ add_index "builds", ["commit_id"], :name => "index_builds_on_commit_id"
41
+ add_index "builds", ["completed_at"], :name => "index_builds_on_completed_at"
42
+ add_index "builds", ["green"], :name => "index_builds_on_green"
43
+ add_index "builds", ["started_at"], :name => "index_builds_on_started_at"
38
44
  add_index "builds", ["url"], :name => "index_builds_on_url", :unique => true
39
45
 
40
46
  create_table "commits", :force => true do |t|
41
47
  t.string "sha1", :null => false
42
- t.string "message", :null => false
48
+ t.text "message", :null => false
43
49
  t.string "author", :null => false
44
50
  t.datetime "committed_at"
45
51
  t.integer "repository_id", :null => false
@@ -1,7 +1,7 @@
1
1
  module Janky
2
2
  class Repository < ActiveRecord::Base
3
- has_many :branches
4
- has_many :commits
3
+ has_many :branches, :dependent => :destroy
4
+ has_many :commits, :dependent => :destroy
5
5
  has_many :builds, :through => :branches
6
6
 
7
7
  replicate_associations :builds, :commits, :branches
@@ -148,7 +148,7 @@ module Janky
148
148
  elsif default.readable?
149
149
  default
150
150
  else
151
- raise Error, "no config.xml template for repo #{id.inspect}"
151
+ raise Error, "no config.xml.erb template for repo #{id.inspect}"
152
152
  end
153
153
  end
154
154
 
@@ -10,7 +10,7 @@
10
10
  </head>
11
11
  <body class="{{page_class}}">
12
12
  <div id="wrapper">
13
- <h2 id="logo"><a href="{{root}}/">Janky Hubot</a></h2>
13
+ <h2 id="logo"><a href="{{root}}/">{{title}}</a></h2>
14
14
 
15
15
  <div class="content">
16
16
  <div class="inside">
@@ -19,4 +19,4 @@
19
19
  </div>
20
20
  </div>
21
21
  </body>
22
- </html>
22
+ </html>
data/lib/janky/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Janky
2
- VERSION = "0.9.11"
2
+ VERSION = "0.9.12"
3
3
  end
@@ -2,9 +2,8 @@
2
2
  module Janky
3
3
  module Views
4
4
  class Layout < Mustache
5
-
6
5
  def title
7
- "Janky Hubot"
6
+ ENV["JANKY_PAGE_TITLE"] || "Janky Hubot"
8
7
  end
9
8
 
10
9
  def page_class
@@ -14,7 +13,6 @@ module Janky
14
13
  def root
15
14
  @request.env['SCRIPT_NAME']
16
15
  end
17
-
18
16
  end
19
17
  end
20
18
  end
data/test/test_helper.rb CHANGED
@@ -9,7 +9,7 @@ class Test::Unit::TestCase
9
9
  define_method("test_#{name.gsub(/\s+/,'_')}".to_sym, block)
10
10
  end
11
11
 
12
- def environment
12
+ def default_environment
13
13
  { "RACK_ENV" => "test",
14
14
  "JANKY_CONFIG_DIR" => File.dirname(__FILE__),
15
15
  "JANKY_GITHUB_USER" => "hubot",
@@ -24,6 +24,16 @@ class Test::Unit::TestCase
24
24
  }
25
25
  end
26
26
 
27
+ def environment
28
+ env = default_environment
29
+ ENV.each do |key, value|
30
+ if key =~ /^JANKY_/
31
+ env[key] = value
32
+ end
33
+ end
34
+ env
35
+ end
36
+
27
37
  def gh_commit(sha1 = "HEAD")
28
38
  Janky::GitHub::Commit.new(
29
39
  sha1,
metadata CHANGED
@@ -1,217 +1,214 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: janky
3
- version: !ruby/object:Gem::Version
4
- hash: 45
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.12
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 9
9
- - 11
10
- version: 0.9.11
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - GitHub, Inc.
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-03-01 00:00:00 +01:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-06-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: rake
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
18
+ requirements:
27
19
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 63
30
- segments:
31
- - 0
32
- - 9
33
- - 2
20
+ - !ruby/object:Gem::Version
34
21
  version: 0.9.2
35
22
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: sinatra
39
23
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
41
25
  none: false
42
- requirements:
26
+ requirements:
43
27
  - - ~>
44
- - !ruby/object:Gem::Version
45
- hash: 9
46
- segments:
47
- - 1
48
- - 3
49
- version: "1.3"
28
+ - !ruby/object:Gem::Version
29
+ version: 0.9.2
30
+ - !ruby/object:Gem::Dependency
31
+ name: sinatra
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '1.3'
50
38
  type: :runtime
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: sinatra_auth_github
54
39
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
56
41
  none: false
57
- requirements:
42
+ requirements:
58
43
  - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 17
61
- segments:
62
- - 0
63
- - 3
64
- - 1
65
- version: 0.3.1
44
+ - !ruby/object:Gem::Version
45
+ version: '1.3'
46
+ - !ruby/object:Gem::Dependency
47
+ name: sinatra_auth_github
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.7.0
66
54
  type: :runtime
67
- version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
69
- name: mustache
70
55
  prerelease: false
71
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.7.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: mustache
64
+ requirement: !ruby/object:Gem::Requirement
72
65
  none: false
73
- requirements:
66
+ requirements:
74
67
  - - ~>
75
- - !ruby/object:Gem::Version
76
- hash: 29
77
- segments:
78
- - 0
79
- - 11
80
- version: "0.11"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.11'
81
70
  type: :runtime
82
- version_requirements: *id004
83
- - !ruby/object:Gem::Dependency
84
- name: yajl-ruby
85
71
  prerelease: false
86
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
87
73
  none: false
88
- requirements:
74
+ requirements:
89
75
  - - ~>
90
- - !ruby/object:Gem::Version
91
- hash: 19
92
- segments:
93
- - 1
94
- - 1
95
- - 0
76
+ - !ruby/object:Gem::Version
77
+ version: '0.11'
78
+ - !ruby/object:Gem::Dependency
79
+ name: yajl-ruby
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
96
85
  version: 1.1.0
97
86
  type: :runtime
98
- version_requirements: *id005
99
- - !ruby/object:Gem::Dependency
100
- name: activerecord
101
87
  prerelease: false
102
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
103
89
  none: false
104
- requirements:
90
+ requirements:
105
91
  - - ~>
106
- - !ruby/object:Gem::Version
107
- hash: 3
108
- segments:
109
- - 3
110
- - 1
111
- - 0
112
- version: 3.1.0
92
+ - !ruby/object:Gem::Version
93
+ version: 1.1.0
94
+ - !ruby/object:Gem::Dependency
95
+ name: activerecord
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 3.2.0
113
102
  type: :runtime
114
- version_requirements: *id006
115
- - !ruby/object:Gem::Dependency
116
- name: broach
117
103
  prerelease: false
118
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
119
105
  none: false
120
- requirements:
106
+ requirements:
121
107
  - - ~>
122
- - !ruby/object:Gem::Version
123
- hash: 15
124
- segments:
125
- - 0
126
- - 2
127
- version: "0.2"
108
+ - !ruby/object:Gem::Version
109
+ version: 3.2.0
110
+ - !ruby/object:Gem::Dependency
111
+ name: broach
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: '0.2'
128
118
  type: :runtime
129
- version_requirements: *id007
130
- - !ruby/object:Gem::Dependency
131
- name: replicate
132
119
  prerelease: false
133
- requirement: &id008 !ruby/object:Gem::Requirement
120
+ version_requirements: !ruby/object:Gem::Requirement
134
121
  none: false
135
- requirements:
122
+ requirements:
136
123
  - - ~>
137
- - !ruby/object:Gem::Version
138
- hash: 7
139
- segments:
140
- - 1
141
- - 4
142
- version: "1.4"
124
+ - !ruby/object:Gem::Version
125
+ version: '0.2'
126
+ - !ruby/object:Gem::Dependency
127
+ name: replicate
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: '1.4'
143
134
  type: :runtime
144
- version_requirements: *id008
145
- - !ruby/object:Gem::Dependency
146
- name: shotgun
147
135
  prerelease: false
148
- requirement: &id009 !ruby/object:Gem::Requirement
136
+ version_requirements: !ruby/object:Gem::Requirement
149
137
  none: false
150
- requirements:
138
+ requirements:
151
139
  - - ~>
152
- - !ruby/object:Gem::Version
153
- hash: 25
154
- segments:
155
- - 0
156
- - 9
157
- version: "0.9"
140
+ - !ruby/object:Gem::Version
141
+ version: '1.4'
142
+ - !ruby/object:Gem::Dependency
143
+ name: shotgun
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: '0.9'
158
150
  type: :development
159
- version_requirements: *id009
160
- - !ruby/object:Gem::Dependency
161
- name: thin
162
151
  prerelease: false
163
- requirement: &id010 !ruby/object:Gem::Requirement
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: '0.9'
158
+ - !ruby/object:Gem::Dependency
159
+ name: thin
160
+ requirement: !ruby/object:Gem::Requirement
164
161
  none: false
165
- requirements:
162
+ requirements:
166
163
  - - ~>
167
- - !ruby/object:Gem::Version
168
- hash: 11
169
- segments:
170
- - 1
171
- - 2
172
- version: "1.2"
164
+ - !ruby/object:Gem::Version
165
+ version: '1.2'
173
166
  type: :development
174
- version_requirements: *id010
175
- - !ruby/object:Gem::Dependency
176
- name: mysql2
177
167
  prerelease: false
178
- requirement: &id011 !ruby/object:Gem::Requirement
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: '1.2'
174
+ - !ruby/object:Gem::Dependency
175
+ name: mysql2
176
+ requirement: !ruby/object:Gem::Requirement
179
177
  none: false
180
- requirements:
178
+ requirements:
181
179
  - - ~>
182
- - !ruby/object:Gem::Version
183
- hash: 19
184
- segments:
185
- - 0
186
- - 3
187
- - 0
180
+ - !ruby/object:Gem::Version
188
181
  version: 0.3.0
189
182
  type: :development
190
- version_requirements: *id011
191
- - !ruby/object:Gem::Dependency
192
- name: database_cleaner
193
183
  prerelease: false
194
- requirement: &id012 !ruby/object:Gem::Requirement
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: 0.3.0
190
+ - !ruby/object:Gem::Dependency
191
+ name: database_cleaner
192
+ requirement: !ruby/object:Gem::Requirement
195
193
  none: false
196
- requirements:
194
+ requirements:
197
195
  - - ~>
198
- - !ruby/object:Gem::Version
199
- hash: 7
200
- segments:
201
- - 0
202
- - 6
203
- version: "0.6"
196
+ - !ruby/object:Gem::Version
197
+ version: '0.6'
204
198
  type: :development
205
- version_requirements: *id012
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ~>
204
+ - !ruby/object:Gem::Version
205
+ version: '0.6'
206
206
  description: Janky is a Continuous Integration server
207
207
  email:
208
208
  executables: []
209
-
210
209
  extensions: []
211
-
212
210
  extra_rdoc_files: []
213
-
214
- files:
211
+ files:
215
212
  - CHANGES
216
213
  - COPYING
217
214
  - Gemfile
@@ -282,41 +279,32 @@ files:
282
279
  - test/default.xml.erb
283
280
  - test/janky_test.rb
284
281
  - test/test_helper.rb
285
- has_rdoc: true
286
282
  homepage: https://github.com/github/janky
287
283
  licenses: []
288
-
289
284
  post_install_message:
290
285
  rdoc_options: []
291
-
292
- require_paths:
286
+ require_paths:
293
287
  - lib
294
- required_ruby_version: !ruby/object:Gem::Requirement
288
+ required_ruby_version: !ruby/object:Gem::Requirement
295
289
  none: false
296
- requirements:
297
- - - ">="
298
- - !ruby/object:Gem::Version
299
- hash: 3
300
- segments:
301
- - 0
302
- version: "0"
303
- required_rubygems_version: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - ! '>='
292
+ - !ruby/object:Gem::Version
293
+ version: '0'
294
+ required_rubygems_version: !ruby/object:Gem::Requirement
304
295
  none: false
305
- requirements:
306
- - - ">="
307
- - !ruby/object:Gem::Version
308
- hash: 3
309
- segments:
310
- - 0
311
- version: "0"
296
+ requirements:
297
+ - - ! '>='
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
312
300
  requirements: []
313
-
314
301
  rubyforge_project:
315
- rubygems_version: 1.6.2
302
+ rubygems_version: 1.8.23
316
303
  signing_key:
317
304
  specification_version: 3
318
- summary: Continuous Integration server built on top of Jenkins and designed for GitHub and Hubot
319
- test_files:
305
+ summary: Continuous Integration server built on top of Jenkins and designed for GitHub
306
+ and Hubot
307
+ test_files:
320
308
  - test/default.xml.erb
321
309
  - test/janky_test.rb
322
310
  - test/test_helper.rb