ember_cli_deploy_redis 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MTBjNmE1MTRkMTg2NDY5ZGFjNzY3YTliZjQ4NGUxOTM1MWMxMTZiMg==
5
- data.tar.gz: !binary |-
6
- YTgwYjZmYTdmZGUwYjQwMjUzMWI5N2I3ZDBmZTFjMjUwMDBhNjhhNQ==
2
+ SHA1:
3
+ metadata.gz: baae47917d4532d449a73befdaaa83f72bce7016
4
+ data.tar.gz: 1b23a6a7a553e9632ffa0a7e4d1cbc0961ea6055
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MTQ5YmM1MDljMWMxMWYxMzk1M2JlZmVhOTExYTlmMDY5MDg3ZTc1ODBkYWVl
10
- NDEwOWVhNmNkMGJlM2VhZDZkM2E3OGYxOTA0ZDM1MTY0YjQ2OTY3ZDQ3M2Fj
11
- YjgxZTY0NTYyODUwNDQ4OGUxZGU0NmVkNTE5NTcxYWIwMmJmODU=
12
- data.tar.gz: !binary |-
13
- Y2M3OTEyMmMwMDJkMDk3ZjNhZmY4ZmY0OTQwODQ2NWM4OTFjZTQ2NDE2MTZj
14
- OWMzNmQyYzdhZmNhNTEzYjhmZGU4NDZmNmEwZWE1MGNlNDM2Y2ViZGFmMjI1
15
- NDY4YzY5NTYyMGM3OGZiMjAwMmExNWJjOGE4ZGU5YWJkN2NiM2E=
6
+ metadata.gz: a873a67c786d7b5b218fa04160fdba8b139a5d45e3148f8d99a02d8a0c624234cd4a2d5a9d0f96d472bd72dcafed3a0a3dd4209f47bc3896fd7d0a6072d9e475
7
+ data.tar.gz: 8787bcb514208aff9d14087770705193422f2292900cd25268b17cd5a9c08930f1be5a6194e9662f994b1cd227c6ad807db2c3172269bcde57e663dc56fe4329
data/README.md CHANGED
@@ -107,6 +107,10 @@ EmberCliDeployRedis.configure do |config|
107
107
  config.on_revision_activated do |new_revision|
108
108
  # Slack webhook here!
109
109
  end
110
+
111
+ # By default, the web interface will assume that the Rack app it's mounted in will have sessions
112
+ # enabled. If not, issue the following:
113
+ # EmberCliDeployRedis::Web.enable_sessions!
110
114
  end
111
115
  ```
112
116
 
@@ -1,3 +1,3 @@
1
1
  module EmberCliDeployRedis
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -7,7 +7,10 @@ require 'ember_cli_deploy_redis/web_helpers'
7
7
 
8
8
  module EmberCliDeployRedis
9
9
  class Web < Sinatra::Base
10
- enable :sessions
10
+ def self.enable_sessions!
11
+ enable :sessions
12
+ end
13
+
11
14
  use Rack::Protection, :use => :authenticity_token unless ENV['RACK_ENV'] == 'test'
12
15
 
13
16
  set :root, File.expand_path(File.dirname(__FILE__) + "/../../web")
@@ -24,14 +27,16 @@ module EmberCliDeployRedis
24
27
  erb :dashboard
25
28
  end
26
29
 
27
- get "/applications/:app_name" do
30
+ get "/applications/*" do
31
+ params[:app_name] = params[:splat].first
28
32
  halt 404 unless params[:app_name]
29
33
  @application = Application.new(params[:app_name])
30
34
  @revisions = @application.revisions
31
35
  erb :application
32
36
  end
33
37
 
34
- post "/applications/:app_name/activate/:revision_name" do
38
+ post "/applications/*/activate/*" do
39
+ params[:app_name], params[:revision_name] = params[:splat]
35
40
  halt 404 unless params[:app_name]
36
41
  halt 404 unless params[:revision_name]
37
42
  application = Application.new(params[:app_name])
@@ -128,6 +128,14 @@ module EmberCliDeployRedis
128
128
  retry
129
129
  end
130
130
 
131
+ def u(text)
132
+ ::Rack::Utils.escape(text)
133
+ rescue ArgumentError => e
134
+ raise unless e.message.eql?('invalid byte sequence in UTF-8')
135
+ text.encode!('UTF-16', 'UTF-8', invalid: :replace, replace: '').encode!('UTF-8', 'UTF-16')
136
+ retry
137
+ end
138
+
131
139
  # Any paginated list that performs an action needs to redirect
132
140
  # back to the proper page after performing that action.
133
141
  def redirect_with_query(url)
@@ -155,8 +163,20 @@ module EmberCliDeployRedis
155
163
  EmberCliDeployRedis.configuration.revision_specifier_query_param
156
164
  end
157
165
 
166
+ def application_path(application)
167
+ "applications/#{u application.name}"
168
+ end
169
+
158
170
  def revision_test_url(revision)
159
- "/?#{revision_specifier_query_param}[#{revision.application.name}]=#{revision.name}"
171
+ "/?#{u revision_specifier_query_param}[#{u revision.application.name}]=#{u revision.name}"
172
+ end
173
+
174
+ def revision_activate_path(revision)
175
+ "applications/#{u revision.application.name}/activate/#{u revision.name}"
176
+ end
177
+
178
+ def css_class_name(text)
179
+ text.gsub(/\W+/, '-')
160
180
  end
161
181
  end
162
182
  end
@@ -13,11 +13,11 @@ describe EmberCliDeployRedis::Web do
13
13
  end
14
14
 
15
15
  let(:application1) { EmberCliDeployRedis::Application.new('application1') }
16
- let(:app1_revision_a) { EmberCliDeployRedis::Revision.new(application1, 'app1_revision_a') }
17
- let(:app1_revision_b) { EmberCliDeployRedis::Revision.new(application1, 'app1_revision_b') }
16
+ let(:app1_revision_a) { EmberCliDeployRedis::Revision.new(application1, 'app1:revision_a') }
17
+ let(:app1_revision_b) { EmberCliDeployRedis::Revision.new(application1, 'app1:revision_b') }
18
18
  let(:application2) { EmberCliDeployRedis::Application.new('application2') }
19
- let(:app2_revision_a) { EmberCliDeployRedis::Revision.new(application2, 'app2_revision_a') }
20
- let(:app2_revision_b) { EmberCliDeployRedis::Revision.new(application2, 'app2_revision_b') }
19
+ let(:app2_revision_a) { EmberCliDeployRedis::Revision.new(application2, 'app2:revision_a') }
20
+ let(:app2_revision_b) { EmberCliDeployRedis::Revision.new(application2, 'app2:revision_b') }
21
21
 
22
22
  describe 'GET /' do
23
23
  let(:the_request) { get '/' }
@@ -39,12 +39,12 @@ describe EmberCliDeployRedis::Web do
39
39
  it 'includes a row for each application' do
40
40
  the_request
41
41
  expect(last_response.body).to have_tag('tr') do
42
- with_tag 'td.col-application a', href: '/applications/application1', text: 'application1'
43
- with_tag 'td.col-current-revision', text: /app1_revision_a/
42
+ with_tag 'td.col-application a', text: '/applications/application1', text: 'application1'
43
+ with_tag 'td.col-current-revision', text: /app1:revision_a/
44
44
  end
45
45
  expect(last_response.body).to have_tag('tr') do
46
46
  with_tag 'td.col-application a', href: '/applications/application2', text: 'application2'
47
- with_tag 'td.col-current-revision', text: /app2_revision_b/
47
+ with_tag 'td.col-current-revision', text: /app2:revision_b/
48
48
  end
49
49
  end
50
50
  end
@@ -65,40 +65,40 @@ describe EmberCliDeployRedis::Web do
65
65
  it 'includes a row for each revision' do
66
66
  the_request
67
67
  expect(last_response.body).to have_tag('tr') do
68
- with_tag 'td.col-revision', text: /app1_revision_b/
68
+ with_tag 'td.col-revision', text: /app1:revision_b/
69
69
  end
70
70
  expect(last_response.body).to have_tag('tr') do
71
- with_tag 'td.col-revision', text: /app1_revision_a/
71
+ with_tag 'td.col-revision', text: /app1:revision_a/
72
72
  end
73
73
  expect(last_response.body).to have_tag('tr') do
74
- with_tag 'td.col-revision', text: /app1_revision_b/
74
+ with_tag 'td.col-revision', text: /app1:revision_b/
75
75
  end
76
76
  end
77
77
  it 'shows the correct revisions as Active' do
78
78
  the_request
79
- expect(last_response.body).to have_tag('tr.revision-app1_revision_b') do
79
+ expect(last_response.body).to have_tag('tr.revision-app1-revision_b') do
80
80
  with_tag 'td.col-status', text: /\A\s*Active\s*\z/
81
81
  end
82
82
  end
83
83
  it 'does not show the inactive revisions as Active' do
84
84
  the_request
85
- expect(last_response.body).to have_tag('tr.revision-app1_revision_a') do
85
+ expect(last_response.body).to have_tag('tr.revision-app1-revision_a') do
86
86
  without_tag 'td.col-status', text: /\A\s*Active\s*\z/
87
87
  end
88
88
  end
89
89
  it 'has a Make Active button on non-active revisions' do
90
90
  the_request
91
91
  expect(last_response.body).to have_tag(
92
- 'tr.revision-app1_revision_a td.col-status form',
92
+ 'tr.revision-app1-revision_a td.col-status form',
93
93
  method: 'post',
94
- action: '/applications/application1/activate/app1_revision_a',
94
+ action: '/applications/application1/activate/app1%3Arevision_a',
95
95
  ) do
96
96
  with_tag 'input', value: /Make Active/i
97
97
  end
98
98
  end
99
99
  it 'does not have a Make Active button on active revisions' do
100
100
  the_request
101
- expect(last_response.body).to have_tag('tr.revision-app1_revision_b') do
101
+ expect(last_response.body).to have_tag('tr.revision-app1-revision_b') do
102
102
  without_tag 'td.col-status form'
103
103
  end
104
104
  end
@@ -117,14 +117,14 @@ describe EmberCliDeployRedis::Web do
117
117
  it 'has a Test link for each non-active revision' do
118
118
  the_request
119
119
  expect(last_response.body).to have_tag(
120
- 'tr.revision-app1_revision_a td.col-revision a',
120
+ 'tr.revision-app1-revision_a td.col-revision a',
121
121
  text: /test this revision/i,
122
- href: '/?_specified_revision[application1]=app1_revision_a',
122
+ href: '/?_specified_revision[application1]=app1%3Arevision_a',
123
123
  )
124
124
  end
125
125
  it 'does not have a Test link for active revisions' do
126
126
  the_request
127
- expect(last_response.body).to have_tag('tr.revision-app1_revision_b') do
127
+ expect(last_response.body).to have_tag('tr.revision-app1-revision_b') do
128
128
  without_tag 'td.col-status a', text: /test this revision/i
129
129
  end
130
130
  end
@@ -132,7 +132,7 @@ describe EmberCliDeployRedis::Web do
132
132
  end
133
133
 
134
134
  describe 'POST /applications/:app_name/activate/:revision_name' do
135
- let(:the_request) { post "/applications/application1/activate/app1_revision_a" }
135
+ let(:the_request) { post "/applications/application1/activate/app1%3Arevision_a" }
136
136
 
137
137
  before do
138
138
  app1_revision_a.activate!
@@ -3,10 +3,10 @@
3
3
  <div class="container text-center">
4
4
  <ul class="nav">
5
5
  <li>
6
- <p class="navbar-text" style="color:white;"><%= product_version %></p>
6
+ <p class="navbar-text" style="color:white;"><%= h product_version %></p>
7
7
  </li>
8
8
  <li>
9
- <p class="navbar-text"><%= Time.now.utc.strftime('%H:%M:%S UTC') %></p>
9
+ <p class="navbar-text"><%= h Time.now.utc.strftime('%H:%M:%S UTC') %></p>
10
10
  </li>
11
11
  </ul>
12
12
  </div>
@@ -1,33 +1,33 @@
1
1
  <div class= "dashboard clearfix">
2
2
  <h3 >
3
- <%= t('ApplicationRevisions', application_name: @application.name) %>
3
+ <%= h t('ApplicationRevisions', application_name: @application.name) %>
4
4
  </h3>
5
5
  </div>
6
6
 
7
7
  <div class="table_container">
8
8
  <table class="revisions table table-hover table-bordered table-striped table-white">
9
9
  <thead>
10
- <th class='col col-status'><%= t('Status') %></th>
11
- <th class='col col-revision'><%= t('Revision') %></th>
10
+ <th class='col col-status'><%= h t('Status') %></th>
11
+ <th class='col col-revision'><%= h t('Revision') %></th>
12
12
  </thead>
13
13
  <tbody>
14
14
  <% @revisions.each do |revision| %>
15
- <tr class='revision revision-<%= revision.name.gsub(/\W+/, '-')%>'>
15
+ <tr class='revision revision-<%= css_class_name(revision.name) %>'>
16
16
  <td class='col col-status' width="15%">
17
17
  <% if revision.active? %>
18
18
  Active
19
19
  <% else %>
20
- <form action="<%= root_path %>applications/<%= @application.name %>/activate/<%= revision.name %>" method="post">
20
+ <form action="<%= h root_path %><%= h revision_activate_path(revision) %>" method="post">
21
21
  <%= csrf_tag %>
22
- <input class="btn btn-warn btn-xs" type="submit" name="activate" value="<%= t('MakeActive') %>" data-confirm="<%= t('AreYouSureActivateRevision', revision: h(revision.name)) %>" />
22
+ <input class="btn btn-warn btn-xs" type="submit" name="activate" value="<%= h t('MakeActive') %>" data-confirm="<%= h t('AreYouSureActivateRevision', revision: revision.name) %>" />
23
23
  </form>
24
24
  <% end %>
25
25
  </td>
26
26
  <td class='col col-revision'>
27
- <%= revision.name %>
27
+ <%= h revision.name %>
28
28
  <% if revision_specifier_query_param && !revision.active? %>
29
- <a target='_new' href="<%= revision_test_url(revision) %>">
30
- <%= t('TestThisRevision') %>
29
+ <a target='_new' href="<%= h revision_test_url(revision) %>">
30
+ <%= h t('TestThisRevision') %>
31
31
  </a>
32
32
  <% end %>
33
33
  </td>
@@ -1,23 +1,23 @@
1
1
  <div class= "dashboard clearfix">
2
2
  <h3 >
3
- <%= t('DeployedApplications') %>
3
+ <%= h t('DeployedApplications') %>
4
4
  </h3>
5
5
  </div>
6
6
 
7
7
  <div class="table_container">
8
8
  <table class="applications table table-hover table-bordered table-striped table-white">
9
9
  <thead>
10
- <th class='col col-application'><%= t('Application') %></th>
11
- <th class='col col-current-revision'><%= t('CurrentRevision') %></th>
10
+ <th class='col col-application'><%= h t('Application') %></th>
11
+ <th class='col col-current-revision'><%= h t('CurrentRevision') %></th>
12
12
  </thead>
13
13
  <tbody>
14
14
  <% @applications.each do |application| %>
15
15
  <tr class='application'>
16
16
  <td class='col col-application'>
17
- <a href="<%= root_path %>applications/<%= application.name %>"><%= application.name %></a>
17
+ <a href="<%= h root_path %><%= h application_path(application) %>"><%= h application.name %></a>
18
18
  </td>
19
19
  <td class='col col-current-revision'>
20
- <%= application.active_revision ? application.active_revision.name : t('none')%>
20
+ <%= h application.active_revision ? application.active_revision.name : t('none')%>
21
21
  </td>
22
22
  </tr>
23
23
  <% end %>
@@ -3,11 +3,11 @@
3
3
  <head>
4
4
  <title>Ember-CLI Deployments</title>
5
5
  <meta name="viewport" content="width=device-width,initial-scale=1.0" />
6
- <link href="<%= root_path %>stylesheets/bootstrap.css" media="screen" rel="stylesheet" type="text/css" />
7
- <link href="<%= root_path %>stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
8
- <link rel="shortcut icon" type="image/ico" href="<%= root_path %>images/favicon.ico" />
9
- <script type="text/javascript" src="<%= root_path %>javascripts/application.js"></script>
10
- <script type="text/javascript" src="<%= root_path %>javascripts/locales/jquery.timeago.<%= locale %>.js"></script>
6
+ <link href="<%= h root_path %>stylesheets/bootstrap.css" media="screen" rel="stylesheet" type="text/css" />
7
+ <link href="<%= h root_path %>stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
8
+ <link rel="shortcut icon" type="image/ico" href="<%= h root_path %>images/favicon.ico" />
9
+ <script type="text/javascript" src="<%= h root_path %>javascripts/application.js"></script>
10
+ <script type="text/javascript" src="<%= h root_path %>javascripts/locales/jquery.timeago.<%= h locale %>.js"></script>
11
11
  <meta name="google" content="notranslate" />
12
12
  <%= display_custom_head %>
13
13
  </head>
@@ -21,6 +21,6 @@
21
21
  </div>
22
22
  </div>
23
23
  </div>
24
- <%= erb :_footer %>
24
+ <%= erb :_footer %>
25
25
  </body>
26
26
  </html>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ember_cli_deploy_redis
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ahalogy
@@ -9,148 +9,144 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-12-22 00:00:00.000000000 Z
12
+ date: 2016-01-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ! '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ! '>='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: fakeredis
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ! '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ! '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: shoulda-matchers
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ! '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - ! '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: dotenv
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ! '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ! '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rspec
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ! '>='
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ! '>='
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: sinatra
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ~>
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
90
  version: '1.4'
91
- - - ! '>='
91
+ - - ">="
92
92
  - !ruby/object:Gem::Version
93
93
  version: 1.4.6
94
94
  type: :development
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
- - - ~>
98
+ - - "~>"
99
99
  - !ruby/object:Gem::Version
100
100
  version: '1.4'
101
- - - ! '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: 1.4.6
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: rack-test
106
106
  requirement: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ! '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  type: :development
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ! '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  - !ruby/object:Gem::Dependency
119
119
  name: rspec-html-matchers
120
120
  requirement: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ! '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  type: :development
126
126
  prerelease: false
127
127
  version_requirements: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ! '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
- description: ! 'Handles the serving of page contents of deployed ember-cli projects
133
- deployed using our fork of
134
-
132
+ description: |
133
+ Handles the serving of page contents of deployed ember-cli projects deployed using our fork of
135
134
  (ember-cli-deploy-redis)[https://github.com/Ahalogy/ember-cli-deploy-redis],
136
-
137
135
  which stores deployment information including the index page contents in Redis.
138
-
139
- '
140
136
  email:
141
137
  - robin@robindaugherty.net
142
138
  executables: []
143
139
  extensions: []
144
140
  extra_rdoc_files: []
145
141
  files:
146
- - .gitignore
147
- - .hound.yml
148
- - .jrubyrc
149
- - .rspec
150
- - .rubocop.yml
151
- - .ruby-version
152
- - .tm_properties
153
- - .travis.yml
142
+ - ".gitignore"
143
+ - ".hound.yml"
144
+ - ".jrubyrc"
145
+ - ".rspec"
146
+ - ".rubocop.yml"
147
+ - ".ruby-version"
148
+ - ".tm_properties"
149
+ - ".travis.yml"
154
150
  - Gemfile
155
151
  - README.md
156
152
  - Rakefile
@@ -237,23 +233,32 @@ require_paths:
237
233
  - lib
238
234
  required_ruby_version: !ruby/object:Gem::Requirement
239
235
  requirements:
240
- - - ~>
236
+ - - "~>"
241
237
  - !ruby/object:Gem::Version
242
238
  version: '2.0'
243
239
  required_rubygems_version: !ruby/object:Gem::Requirement
244
240
  requirements:
245
- - - ! '>='
241
+ - - ">="
246
242
  - !ruby/object:Gem::Version
247
243
  version: '0'
248
244
  requirements:
249
245
  - An Ember-ClI project
250
- - (ember-cli-deploy)[https://github.com/ember-cli/ember-cli-deploy], 0.4.x
251
- - (ember-cli-deploy-redis)[https://github.com/Ahalogy/ember-cli-deploy-redis]
246
+ - "(ember-cli-deploy)[https://github.com/ember-cli/ember-cli-deploy], 0.4.x"
247
+ - "(ember-cli-deploy-redis)[https://github.com/Ahalogy/ember-cli-deploy-redis]"
252
248
  - A Ruby (Rails/Sinatra/etc) app to serve up the Ember-CLI project and provide it
253
249
  an API.
254
250
  rubyforge_project:
255
- rubygems_version: 2.4.5
251
+ rubygems_version: 2.4.5.1
256
252
  signing_key:
257
253
  specification_version: 4
258
254
  summary: Serves up ember-cli content deployed with our fork of ember-cli-deploy-redis
259
- test_files: []
255
+ test_files:
256
+ - spec/lib/ember_cli_deploy_redis/application_spec.rb
257
+ - spec/lib/ember_cli_deploy_redis/configuration_spec.rb
258
+ - spec/lib/ember_cli_deploy_redis/revision_list_spec.rb
259
+ - spec/lib/ember_cli_deploy_redis/revision_spec.rb
260
+ - spec/lib/ember_cli_deploy_redis/web_helpers_spec.rb
261
+ - spec/lib/ember_cli_deploy_redis/web_spec.rb
262
+ - spec/lib/ember_cli_deploy_redis_spec.rb
263
+ - spec/spec_helper.rb
264
+ has_rdoc: