janky 0.9.11 → 0.9.12

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.
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