volt 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +56 -0
- data/CHANGELOG.md +4 -0
- data/Rakefile +0 -1
- data/app/volt/models/user.rb +1 -3
- data/app/volt/tasks/live_query/live_query.rb +1 -1
- data/app/volt/tasks/store_tasks.rb +4 -5
- data/app/volt/tasks/user_tasks.rb +1 -1
- data/lib/volt.rb +2 -6
- data/lib/volt/boot.rb +0 -2
- data/lib/volt/cli.rb +0 -1
- data/lib/volt/cli/asset_compile.rb +0 -2
- data/lib/volt/cli/console.rb +3 -4
- data/lib/volt/cli/generate.rb +3 -4
- data/lib/volt/cli/new_gem.rb +1 -3
- data/lib/volt/controllers/actions.rb +6 -6
- data/lib/volt/controllers/model_controller.rb +4 -8
- data/lib/volt/data_stores/base.rb +1 -2
- data/lib/volt/data_stores/data_store.rb +2 -2
- data/lib/volt/data_stores/mongo_driver.rb +3 -3
- data/lib/volt/extra_core/hash.rb +1 -1
- data/lib/volt/extra_core/inflector/inflections.rb +10 -2
- data/lib/volt/extra_core/logger.rb +1 -4
- data/lib/volt/extra_core/object.rb +1 -1
- data/lib/volt/models.rb +2 -4
- data/lib/volt/models/array_model.rb +3 -7
- data/lib/volt/models/associations.rb +5 -4
- data/lib/volt/models/buffer.rb +1 -2
- data/lib/volt/models/dirty.rb +2 -2
- data/lib/volt/models/errors.rb +1 -1
- data/lib/volt/models/listener_tracker.rb +1 -3
- data/lib/volt/models/model.rb +16 -20
- data/lib/volt/models/permissions.rb +15 -18
- data/lib/volt/models/persistors/array_store.rb +5 -10
- data/lib/volt/models/persistors/cookies.rb +2 -2
- data/lib/volt/models/persistors/model_store.rb +3 -9
- data/lib/volt/models/persistors/params.rb +1 -3
- data/lib/volt/models/persistors/query/normalizer.rb +3 -3
- data/lib/volt/models/persistors/query/query_listener.rb +1 -1
- data/lib/volt/models/persistors/store.rb +2 -2
- data/lib/volt/models/state_helpers.rb +1 -1
- data/lib/volt/models/state_manager.rb +4 -4
- data/lib/volt/models/url.rb +2 -6
- data/lib/volt/models/validations.rb +8 -13
- data/lib/volt/models/validators/numericality_validator.rb +2 -6
- data/lib/volt/models/validators/unique_validator.rb +1 -1
- data/lib/volt/models/validators/user_validation.rb +0 -1
- data/lib/volt/page/bindings/attribute_binding.rb +9 -19
- data/lib/volt/page/bindings/content_binding.rb +1 -1
- data/lib/volt/page/bindings/each_binding.rb +3 -4
- data/lib/volt/page/bindings/if_binding.rb +1 -1
- data/lib/volt/page/bindings/view_binding.rb +15 -22
- data/lib/volt/page/bindings/view_binding/controller_handler.rb +5 -7
- data/lib/volt/page/bindings/view_binding/view_lookup_for_path.rb +1 -2
- data/lib/volt/page/bindings/yield_binding.rb +1 -2
- data/lib/volt/page/channel.rb +3 -3
- data/lib/volt/page/document_events.rb +1 -1
- data/lib/volt/page/page.rb +3 -6
- data/lib/volt/page/path_string_renderer.rb +7 -8
- data/lib/volt/page/sub_context.rb +1 -3
- data/lib/volt/page/targets/binding_document/component_node.rb +1 -3
- data/lib/volt/page/tasks.rb +3 -5
- data/lib/volt/reactive/class_eventable.rb +2 -2
- data/lib/volt/reactive/computation.rb +7 -7
- data/lib/volt/reactive/dependency.rb +1 -1
- data/lib/volt/reactive/eventable.rb +3 -4
- data/lib/volt/reactive/reactive_accessors.rb +0 -1
- data/lib/volt/reactive/reactive_array.rb +4 -12
- data/lib/volt/router/routes.rb +1 -3
- data/lib/volt/server.rb +6 -6
- data/lib/volt/server/component_handler.rb +1 -1
- data/lib/volt/server/component_templates.rb +2 -2
- data/lib/volt/server/forking_server.rb +6 -9
- data/lib/volt/server/html_parser/component_view_scope.rb +2 -2
- data/lib/volt/server/html_parser/each_scope.rb +1 -1
- data/lib/volt/server/html_parser/sandlebars_parser.rb +2 -6
- data/lib/volt/server/html_parser/view_handler.rb +1 -1
- data/lib/volt/server/html_parser/view_parser.rb +1 -1
- data/lib/volt/server/html_parser/view_scope.rb +2 -4
- data/lib/volt/server/rack/asset_files.rb +1 -3
- data/lib/volt/server/rack/component_paths.rb +1 -3
- data/lib/volt/server/rack/http_request.rb +1 -3
- data/lib/volt/server/rack/http_resource.rb +1 -3
- data/lib/volt/server/rack/http_response_renderer.rb +2 -2
- data/lib/volt/server/rack/index_files.rb +1 -1
- data/lib/volt/server/rack/opal_files.rb +1 -3
- data/lib/volt/server/socket_connection_handler.rb +1 -3
- data/lib/volt/server/websocket/rack_server_adaptor.rb +1 -1
- data/lib/volt/server/websocket/websocket_handler.rb +1 -2
- data/lib/volt/spec/capybara.rb +1 -1
- data/lib/volt/spec/setup.rb +18 -12
- data/lib/volt/tasks/dispatcher.rb +1 -2
- data/lib/volt/tasks/task_handler.rb +1 -3
- data/lib/volt/utils/boolean_patch.rb +1 -1
- data/lib/volt/utils/event_counter.rb +2 -2
- data/lib/volt/utils/generic_pool.rb +5 -9
- data/lib/volt/utils/logging/task_argument_filterer.rb +4 -4
- data/lib/volt/utils/logging/task_logger.rb +2 -2
- data/lib/volt/utils/modes.rb +2 -2
- data/lib/volt/utils/promise_patch.rb +1 -2
- data/lib/volt/utils/read_write_lock.rb +21 -23
- data/lib/volt/utils/tilt_patch.rb +1 -1
- data/lib/volt/utils/timers.rb +3 -7
- data/lib/volt/utils/volt_user_error.rb +1 -1
- data/lib/volt/version.rb +2 -2
- data/lib/volt/volt/app.rb +4 -6
- data/lib/volt/volt/users.rb +4 -3
- data/spec/apps/kitchen_sink/app/main/controllers/main_controller.rb +1 -1
- data/spec/apps/kitchen_sink/app/main/controllers/server/simple_http_controller.rb +1 -1
- data/spec/apps/kitchen_sink/app/main/controllers/todos_controller.rb +5 -5
- data/spec/apps/kitchen_sink/app/main/controllers/upload_controller.rb +1 -1
- data/spec/apps/kitchen_sink/app/main/controllers/yield_component_controller.rb +1 -1
- data/spec/controllers/actions_spec.rb +9 -10
- data/spec/controllers/model_controller_spec.rb +1 -1
- data/spec/extra_core/blank_spec.rb +2 -2
- data/spec/extra_core/logger_spec.rb +6 -8
- data/spec/extra_core/string_transformations_spec.rb +3 -3
- data/spec/integration/bindings_spec.rb +3 -9
- data/spec/integration/first_last_spec.rb +1 -1
- data/spec/integration/missing_spec.rb +1 -2
- data/spec/integration/raw_html_binding.rb +2 -2
- data/spec/integration/todos_spec.rb +22 -0
- data/spec/integration/yield_spec.rb +2 -2
- data/spec/models/associations_spec.rb +4 -4
- data/spec/models/buffer_spec.rb +2 -2
- data/spec/models/dirty_spec.rb +10 -11
- data/spec/models/model_spec.rb +19 -13
- data/spec/models/model_state_spec.rb +1 -1
- data/spec/models/permissions_spec.rb +8 -12
- data/spec/models/url_spec.rb +1 -1
- data/spec/models/user_spec.rb +17 -10
- data/spec/models/user_validation_spec.rb +2 -3
- data/spec/models/validations_spec.rb +7 -10
- data/spec/models/validators/email_validator_spec.rb +5 -7
- data/spec/models/validators/format_validator_spec.rb +21 -3
- data/spec/models/validators/length_validator_spec.rb +12 -22
- data/spec/models/validators/shared_examples_for_validators.rb +1 -1
- data/spec/models/validators/unique_validator_spec.rb +1 -2
- data/spec/page/bindings/content_binding_spec.rb +1 -1
- data/spec/page/bindings/template_binding/view_lookup_for_path_spec.rb +0 -1
- data/spec/page/path_string_renderer_spec.rb +2 -3
- data/spec/reactive/class_eventable_spec.rb +1 -1
- data/spec/reactive/computation_spec.rb +30 -31
- data/spec/reactive/reactive_hash_spec.rb +1 -1
- data/spec/router/routes_spec.rb +14 -16
- data/spec/server/html_parser/view_handler_spec.rb +1 -1
- data/spec/server/html_parser/view_parser_spec.rb +0 -1
- data/spec/server/rack/quite_common_logger_spec.rb +3 -3
- data/spec/tasks/dispatcher_spec.rb +1 -1
- data/spec/tasks/query_tracker_spec.rb +1 -3
- data/spec/utils/task_argument_filtererer_spec.rb +5 -5
- data/templates/project/app/main/controllers/main_controller.rb +1 -1
- data/templates/project/spec/app/main/models/sample_model_spec.rb +2 -2
- data/templates/project/spec/app/main/tasks/sample_task_spec.rb +2 -2
- data/volt.gemspec +3 -5
- metadata +19 -4
@@ -5,7 +5,6 @@ unless RUBY_PLATFORM == 'opal'
|
|
5
5
|
validate :name, unique: true
|
6
6
|
end
|
7
7
|
|
8
|
-
|
9
8
|
describe 'unique spec' do
|
10
9
|
it 'should reject save if there are records with existing attributes already' do
|
11
10
|
store._fridges << { name: 'swift' }
|
@@ -23,4 +22,4 @@ unless RUBY_PLATFORM == 'opal'
|
|
23
22
|
expect(store._fridges.count).to eq(1)
|
24
23
|
end
|
25
24
|
end
|
26
|
-
end
|
25
|
+
end
|
@@ -15,7 +15,7 @@ describe Volt::ContentBinding do
|
|
15
15
|
|
16
16
|
it 'should render with a template' do
|
17
17
|
context = { name: 'jimmy' }
|
18
|
-
binding =
|
18
|
+
binding = ->(page, target, context, id) { Volt::ContentBinding.new(page, target, context, id, proc { self[:name] }) }
|
19
19
|
|
20
20
|
templates = {
|
21
21
|
'main/main' => {
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'volt/page/path_string_renderer'
|
3
3
|
|
4
|
-
|
5
4
|
unless RUBY_PLATFORM == 'opal'
|
6
5
|
describe Volt::PathStringRenderer do
|
7
6
|
before do
|
@@ -16,8 +15,8 @@ unless RUBY_PLATFORM == 'opal'
|
|
16
15
|
end
|
17
16
|
|
18
17
|
it 'should render a section with a variable' do
|
19
|
-
html = Volt::PathStringRenderer.new('main/mailers/welcome/html', {:
|
18
|
+
html = Volt::PathStringRenderer.new('main/mailers/welcome/html', { name: 'Jimmy' }, @page).html
|
20
19
|
expect(html).to eq("\n <h1>Welcome Jimmy</h1>\n\n <p>Glad you signed up!</p>\n\n")
|
21
20
|
end
|
22
21
|
end
|
23
|
-
end
|
22
|
+
end
|
@@ -44,7 +44,7 @@ describe Volt::Computation do
|
|
44
44
|
a[:b] = 5
|
45
45
|
|
46
46
|
count = 0
|
47
|
-
|
47
|
+
lambda do
|
48
48
|
a[:b]
|
49
49
|
end.watch_until!(10) do
|
50
50
|
count += 1
|
@@ -74,7 +74,7 @@ describe Volt::Computation do
|
|
74
74
|
a = Volt::Dependency.new
|
75
75
|
|
76
76
|
count = 0
|
77
|
-
-> { count += 1
|
77
|
+
-> { count += 1; a.depend }.watch!
|
78
78
|
|
79
79
|
expect(count).to eq(1)
|
80
80
|
|
@@ -93,10 +93,10 @@ describe Volt::Computation do
|
|
93
93
|
a = Volt::ReactiveHash.new
|
94
94
|
|
95
95
|
values = []
|
96
|
-
|
96
|
+
lambda do
|
97
97
|
values << a[0]
|
98
98
|
|
99
|
-
|
99
|
+
lambda do
|
100
100
|
values << a[1]
|
101
101
|
end.watch!
|
102
102
|
end.watch!
|
@@ -112,7 +112,7 @@ describe Volt::Computation do
|
|
112
112
|
expect(values).to eq([nil, nil, 'inner', 'outer', 'inner'])
|
113
113
|
end
|
114
114
|
|
115
|
-
describe
|
115
|
+
describe 'watch_and_resolve!' do
|
116
116
|
it 'should resolve any returnted promises' do
|
117
117
|
promise = Promise.new.resolve('resolved')
|
118
118
|
count = 0
|
@@ -130,45 +130,44 @@ describe Volt::Computation do
|
|
130
130
|
# https://github.com/opal/opal/issues/677
|
131
131
|
unless RUBY_PLATFORM == 'opal'
|
132
132
|
describe '#invalidate!' do
|
133
|
+
let(:computation) { Volt::Computation.new -> {} }
|
133
134
|
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
Volt::Computation.class_variable_set :@@flush_queue, []
|
138
|
-
end
|
135
|
+
before(:each) do
|
136
|
+
Volt::Computation.class_variable_set :@@flush_queue, []
|
137
|
+
end
|
139
138
|
|
140
|
-
|
141
|
-
|
139
|
+
describe 'when stopped' do
|
140
|
+
before(:each) { computation.instance_variable_set :@stopped, true }
|
142
141
|
|
143
|
-
|
144
|
-
|
142
|
+
it "doesn't add self to flush queue" do
|
143
|
+
computation.invalidate!
|
145
144
|
|
146
|
-
|
145
|
+
expect(Volt::Computation.class_variable_get :@@flush_queue).to be_empty
|
146
|
+
end
|
147
147
|
end
|
148
|
-
end
|
149
148
|
|
150
|
-
|
151
|
-
|
149
|
+
describe 'when computing' do
|
150
|
+
before(:each) { computation.instance_variable_set :@computing, true }
|
152
151
|
|
153
|
-
|
154
|
-
|
152
|
+
it 'should still add itself to flush queue' do
|
153
|
+
computation.invalidate!
|
155
154
|
|
156
|
-
|
155
|
+
expect(Volt::Computation.class_variable_get :@@flush_queue).not_to be_empty
|
156
|
+
end
|
157
157
|
end
|
158
|
-
end
|
159
158
|
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
159
|
+
describe 'when not stopped and not computing' do
|
160
|
+
before(:each) do
|
161
|
+
computation.instance_variable_set :@stopped, false
|
162
|
+
computation.instance_variable_set :@computing, false
|
163
|
+
end
|
165
164
|
|
166
|
-
|
167
|
-
|
165
|
+
it 'adds self to flush queue' do
|
166
|
+
computation.invalidate!
|
168
167
|
|
169
|
-
|
168
|
+
expect(Volt::Computation.class_variable_get :@@flush_queue).to match_array([computation])
|
169
|
+
end
|
170
170
|
end
|
171
171
|
end
|
172
172
|
end
|
173
|
-
end
|
174
173
|
end
|
data/spec/router/routes_spec.rb
CHANGED
@@ -33,22 +33,22 @@ describe Volt::Routes do
|
|
33
33
|
'*' => {
|
34
34
|
'edit' => {
|
35
35
|
nil => { view: 'blog/edit', id: 1 }
|
36
|
-
|
37
|
-
|
38
|
-
}
|
36
|
+
},
|
37
|
+
nil => { view: 'blog/show', id: 1 }
|
39
38
|
}
|
40
|
-
|
39
|
+
}
|
40
|
+
)
|
41
41
|
|
42
42
|
expect(indirect_routes[:get]).to eq(
|
43
43
|
'comments' => {
|
44
44
|
'*' => {
|
45
45
|
'edit' => {
|
46
46
|
nil => { controller: 'comments', action: 'edit', id: 1 }
|
47
|
-
|
48
|
-
|
49
|
-
}
|
47
|
+
},
|
48
|
+
nil => { controller: 'comments', action: 'show', id: 1 }
|
50
49
|
}
|
51
|
-
|
50
|
+
}
|
51
|
+
)
|
52
52
|
end
|
53
53
|
|
54
54
|
it 'should setup param matchers' do
|
@@ -69,15 +69,14 @@ describe Volt::Routes do
|
|
69
69
|
{ view: 'blog/edit', id: nil },
|
70
70
|
{ view: 'blog/tag', tag: nil },
|
71
71
|
{ view: 'login', action: 'user', name: nil, id: nil }
|
72
|
-
|
72
|
+
])
|
73
73
|
|
74
74
|
expect(param_matches[:get].map { |v| v[0] }).to eq([
|
75
75
|
{ controller: 'articles', action: 'index' },
|
76
|
-
{ controller: 'articles', action: 'show', id: nil }
|
77
|
-
|
76
|
+
{ controller: 'articles', action: 'show', id: nil }
|
77
|
+
])
|
78
78
|
end
|
79
79
|
|
80
|
-
|
81
80
|
it 'should match routes' do
|
82
81
|
routes do
|
83
82
|
client '/blog', view: 'blog'
|
@@ -93,7 +92,6 @@ describe Volt::Routes do
|
|
93
92
|
put '/people', controller: 'people', action: 'update'
|
94
93
|
patch '/people/1', controller: 'people', action: 'update'
|
95
94
|
delete '/people/2', controller: 'people', action: 'destroy'
|
96
|
-
|
97
95
|
end
|
98
96
|
|
99
97
|
params = @routes.url_to_params('/blog')
|
@@ -174,7 +172,7 @@ describe Volt::Routes do
|
|
174
172
|
|
175
173
|
url, params = @routes.params_to_url(controller: 'articles', action: 'update', method: :put, id: 99, other: 'xyz')
|
176
174
|
expect(url).to eq('/articles/99')
|
177
|
-
expect(params).to eq(
|
175
|
+
expect(params).to eq(other: 'xyz')
|
178
176
|
|
179
177
|
url, params = @routes.params_to_url({})
|
180
178
|
expect(url).to eq(nil)
|
@@ -213,13 +211,13 @@ describe Volt::Routes do
|
|
213
211
|
|
214
212
|
it 'should not match params that have no matches at all' do
|
215
213
|
routes = Volt::Routes.new
|
216
|
-
match, params = routes.send(:check_params_match, { view: '', id: false }, bleep: {volt: 'rocks'}
|
214
|
+
match, params = routes.send(:check_params_match, { view: '', id: false }, bleep: { volt: 'rocks' })
|
217
215
|
expect(match).to eq(false)
|
218
216
|
end
|
219
217
|
|
220
218
|
it 'should not match params that have a nil value' do
|
221
219
|
routes = Volt::Routes.new
|
222
|
-
match, params = routes.send(:check_params_match, { view: 'blog', id: false }, bleep: nil
|
220
|
+
match, params = routes.send(:check_params_match, { view: 'blog', id: false }, bleep: nil)
|
223
221
|
expect(match).to eq(false)
|
224
222
|
end
|
225
223
|
|
@@ -24,7 +24,7 @@ unless RUBY_PLATFORM == 'opal'
|
|
24
24
|
end
|
25
25
|
|
26
26
|
describe 'when request path has no file extension and request run over web socket' do
|
27
|
-
let(:env) { {'PATH_INFO' => '/file'} }
|
27
|
+
let(:env) { { 'PATH_INFO' => '/file' } }
|
28
28
|
|
29
29
|
it "calls 'log' method" do
|
30
30
|
expect(subject).to receive(:log)
|
@@ -33,7 +33,7 @@ unless RUBY_PLATFORM == 'opal'
|
|
33
33
|
end
|
34
34
|
|
35
35
|
describe 'when request path has file extension' do
|
36
|
-
let(:env) { {'PATH_INFO' => '/file.ext'} }
|
36
|
+
let(:env) { { 'PATH_INFO' => '/file.ext' } }
|
37
37
|
|
38
38
|
it "doesn't call 'log' method" do
|
39
39
|
expect(subject).not_to receive(:log)
|
@@ -42,7 +42,7 @@ unless RUBY_PLATFORM == 'opal'
|
|
42
42
|
end
|
43
43
|
|
44
44
|
describe 'when request run over web socket' do
|
45
|
-
let(:env) { {'PATH_INFO' => '/channel'} }
|
45
|
+
let(:env) { { 'PATH_INFO' => '/channel' } }
|
46
46
|
|
47
47
|
it "doesn't call 'log' method" do
|
48
48
|
expect(subject).not_to receive(:log)
|
@@ -33,12 +33,11 @@ if RUBY_PLATFORM != 'opal'
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def notify_changed(id, data, skip_channel)
|
36
|
-
item = @items.find{ |item| item['_id'] == id }
|
36
|
+
item = @items.find { |item| item['_id'] == id }
|
37
37
|
idx = @items.index(item)
|
38
38
|
@items.delete(item)
|
39
39
|
@items.insert(idx, data)
|
40
40
|
end
|
41
|
-
|
42
41
|
end
|
43
42
|
|
44
43
|
before do
|
@@ -141,7 +140,6 @@ if RUBY_PLATFORM != 'opal'
|
|
141
140
|
expect(@live_query.items).to_not eq(@items)
|
142
141
|
@query_tracker.run
|
143
142
|
expect(@live_query.items).to eq(@items)
|
144
|
-
|
145
143
|
end
|
146
144
|
end
|
147
145
|
end
|
@@ -3,15 +3,15 @@ require 'spec_helper'
|
|
3
3
|
if RUBY_PLATFORM != 'opal'
|
4
4
|
describe TaskArgumentFilterer do
|
5
5
|
it 'should filter arguments' do
|
6
|
-
filtered_args = TaskArgumentFilterer.new(
|
6
|
+
filtered_args = TaskArgumentFilterer.new(login: 'jim@jim.com', password: 'some password no one should see').run
|
7
7
|
|
8
|
-
expect(filtered_args).to eq(
|
8
|
+
expect(filtered_args).to eq(login: 'jim@jim.com', password: '[FILTERED]')
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'should filter in nested args' do
|
12
|
-
filtered_args = TaskArgumentFilterer.new([:login, {login: 'jim@jim.com', password: 'some password'}]).run
|
12
|
+
filtered_args = TaskArgumentFilterer.new([:login, { login: 'jim@jim.com', password: 'some password' }]).run
|
13
13
|
|
14
|
-
expect(filtered_args).to eq([:login, {:
|
14
|
+
expect(filtered_args).to eq([:login, { login: 'jim@jim.com', password: '[FILTERED]' }])
|
15
15
|
end
|
16
16
|
end
|
17
|
-
end
|
17
|
+
end
|
data/volt.gemspec
CHANGED
@@ -10,10 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.authors = ['Ryan Stout']
|
11
11
|
spec.email = ['ryan@agileproductions.com']
|
12
12
|
spec.summary = 'A reactive Ruby web framework.'
|
13
|
-
spec.description =
|
14
|
-
A reactive Ruby web framework where your Ruby code runs on both the server
|
15
|
-
and the client (via Opal).
|
16
|
-
EOF
|
13
|
+
spec.description = 'A reactive Ruby web framework where your Ruby code runs on both the server and the client (via Opal).'
|
17
14
|
spec.homepage = 'http://voltframework.com'
|
18
15
|
spec.license = 'MIT'
|
19
16
|
|
@@ -47,7 +44,6 @@ Gem::Specification.new do |spec|
|
|
47
44
|
spec.add_development_dependency 'selenium-webdriver', '~> 2.43.0'
|
48
45
|
spec.add_development_dependency 'chromedriver2-helper', '~> 0.0.8'
|
49
46
|
spec.add_development_dependency 'poltergeist', '~> 1.5.0'
|
50
|
-
# spec.add_development_dependency 'puma', '~> 2.11.2'
|
51
47
|
spec.add_development_dependency 'thin', '~> 1.6.3'
|
52
48
|
spec.add_development_dependency 'coveralls', '~> 0.8.1'
|
53
49
|
|
@@ -63,4 +59,6 @@ Gem::Specification.new do |spec|
|
|
63
59
|
spec.add_development_dependency 'sauce', '~> 3.5.3'
|
64
60
|
spec.add_development_dependency 'sauce-connect', '~> 3.5.0'
|
65
61
|
spec.add_development_dependency 'pry-byebug', '~> 2.0.0'
|
62
|
+
|
63
|
+
spec.add_development_dependency 'rubocop', '~> 0.31.0'
|
66
64
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: volt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Stout
|
@@ -458,9 +458,22 @@ dependencies:
|
|
458
458
|
- - "~>"
|
459
459
|
- !ruby/object:Gem::Version
|
460
460
|
version: 2.0.0
|
461
|
-
|
462
|
-
|
463
|
-
|
461
|
+
- !ruby/object:Gem::Dependency
|
462
|
+
name: rubocop
|
463
|
+
requirement: !ruby/object:Gem::Requirement
|
464
|
+
requirements:
|
465
|
+
- - "~>"
|
466
|
+
- !ruby/object:Gem::Version
|
467
|
+
version: 0.31.0
|
468
|
+
type: :development
|
469
|
+
prerelease: false
|
470
|
+
version_requirements: !ruby/object:Gem::Requirement
|
471
|
+
requirements:
|
472
|
+
- - "~>"
|
473
|
+
- !ruby/object:Gem::Version
|
474
|
+
version: 0.31.0
|
475
|
+
description: A reactive Ruby web framework where your Ruby code runs on both the server
|
476
|
+
and the client (via Opal).
|
464
477
|
email:
|
465
478
|
- ryan@agileproductions.com
|
466
479
|
executables:
|
@@ -725,6 +738,7 @@ files:
|
|
725
738
|
- spec/integration/missing_spec.rb
|
726
739
|
- spec/integration/raw_html_binding.rb
|
727
740
|
- spec/integration/templates_spec.rb
|
741
|
+
- spec/integration/todos_spec.rb
|
728
742
|
- spec/integration/url_spec.rb
|
729
743
|
- spec/integration/user_spec.rb
|
730
744
|
- spec/integration/yield_spec.rb
|
@@ -943,6 +957,7 @@ test_files:
|
|
943
957
|
- spec/integration/missing_spec.rb
|
944
958
|
- spec/integration/raw_html_binding.rb
|
945
959
|
- spec/integration/templates_spec.rb
|
960
|
+
- spec/integration/todos_spec.rb
|
946
961
|
- spec/integration/url_spec.rb
|
947
962
|
- spec/integration/user_spec.rb
|
948
963
|
- spec/integration/yield_spec.rb
|