volt 0.9.1.pre4 → 0.9.1.pre5
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/CONTRIBUTING.md +1 -1
- data/README.md +1 -0
- data/app/volt/tasks/query_tasks.rb +4 -3
- data/app/volt/tasks/store_tasks.rb +1 -1
- data/lib/volt/boot.rb +8 -7
- data/lib/volt/cli/asset_compile.rb +1 -1
- data/lib/volt/cli/console.rb +14 -3
- data/lib/volt/cli/new_gem.rb +3 -3
- data/lib/volt/cli.rb +3 -3
- data/lib/volt/config.rb +7 -1
- data/lib/volt/data_stores/base.rb +7 -0
- data/lib/volt/data_stores/data_store.rb +10 -3
- data/lib/volt/data_stores/mongo_driver.rb +58 -7
- data/lib/volt/models/associations.rb +2 -2
- data/lib/volt/models/persistors/array_store.rb +24 -6
- data/lib/volt/models/persistors/base.rb +4 -0
- data/lib/volt/models/persistors/model_store.rb +4 -15
- data/lib/volt/page/bindings/attribute_binding.rb +17 -15
- data/lib/volt/page/bindings/each_binding.rb +14 -17
- data/lib/volt/page/bindings/view_binding/controller_handler.rb +24 -0
- data/lib/volt/page/bindings/view_binding.rb +10 -30
- data/lib/volt/page/document_events.rb +7 -4
- data/lib/volt/page/page.rb +19 -13
- data/lib/volt/page/path_string_renderer.rb +41 -0
- data/lib/volt/page/targets/dom_section.rb +5 -2
- data/lib/volt/reactive/computation.rb +3 -1
- data/lib/volt/reactive/reactive_accessors.rb +8 -7
- data/lib/volt/reactive/reactive_array.rb +2 -0
- data/lib/volt/server/component_handler.rb +3 -3
- data/lib/volt/server/component_templates.rb +32 -6
- data/lib/volt/server/forking_server.rb +4 -2
- data/lib/volt/server/rack/asset_files.rb +5 -1
- data/lib/volt/server/rack/component_paths.rb +6 -4
- data/lib/volt/server/rack/opal_files.rb +16 -11
- data/lib/volt/server/rack/quiet_common_logger.rb +1 -1
- data/lib/volt/server.rb +1 -1
- data/lib/volt/spec/setup.rb +1 -1
- data/lib/volt/version.rb +5 -0
- data/lib/volt/volt/app.rb +12 -2
- data/spec/apps/kitchen_sink/app/main/views/mailers/welcome.email +12 -0
- data/spec/integration/http_endpoints_spec.rb +1 -3
- data/spec/integration/user_spec.rb +0 -10
- data/spec/models/associations_spec.rb +0 -3
- data/spec/models/model_spec.rb +13 -0
- data/spec/models/persistors/flash_spec.rb +45 -0
- data/spec/models/validators/phone_number_validator_spec.rb +2 -2
- data/spec/page/bindings/template_binding/view_lookup_for_path_spec.rb +0 -5
- data/spec/page/path_string_renderer_spec.rb +23 -0
- data/spec/page/sub_context_spec.rb +1 -0
- data/spec/router/routes_spec.rb +24 -5
- data/spec/server/html_parser/view_handler_spec.rb +20 -0
- data/spec/server/rack/quite_common_logger_spec.rb +3 -3
- data/spec/spec_helper.rb +0 -4
- data/spec/tasks/query_tracker_spec.rb +30 -0
- data/templates/newgem/lib/newgem/version.rb.tt +7 -0
- data/templates/newgem/newgem.gemspec.tt +2 -4
- data/templates/project/Gemfile.tt +5 -2
- data/templates/project/config/app.rb.tt +49 -1
- data/volt.gemspec +12 -10
- metadata +24 -28
- data/VERSION +0 -1
- data/app/volt/tasks/live_query/data_store.rb +0 -33
- data/templates/newgem/VERSION +0 -1
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Volt
|
4
|
+
module Persistors
|
5
|
+
describe Flash do
|
6
|
+
let(:fake_parent) { double('Parent', delete: true) }
|
7
|
+
let(:fake_passed_model) { double }
|
8
|
+
|
9
|
+
let(:fake_model) do
|
10
|
+
double(
|
11
|
+
'Model',
|
12
|
+
size: 1,
|
13
|
+
parent: fake_parent,
|
14
|
+
path: '12',
|
15
|
+
delete: true
|
16
|
+
)
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '#added' do
|
20
|
+
it 'returns nil' do
|
21
|
+
flash = described_class.new double
|
22
|
+
|
23
|
+
expect(flash.added(double, 0)).to be_nil
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe '#clear_model' do
|
28
|
+
it 'sends #delete to @model' do
|
29
|
+
described_class.new(fake_model).clear_model fake_passed_model
|
30
|
+
|
31
|
+
expect(fake_model).to have_received(:delete).with(fake_passed_model)
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'with a size of zero, parent receives #delete' do
|
35
|
+
collection_name = fake_model.path[-1]
|
36
|
+
allow(fake_model).to receive(:size).and_return 0
|
37
|
+
|
38
|
+
described_class.new(fake_model).clear_model fake_passed_model
|
39
|
+
|
40
|
+
expect(fake_parent).to have_received(:delete).with(collection_name)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -10,7 +10,7 @@ describe Volt::PhoneNumberValidator do
|
|
10
10
|
let(:options) { true }
|
11
11
|
|
12
12
|
let(:phone_number) { field_content }
|
13
|
-
let(:
|
13
|
+
let(:field_content) { valid_us_number }
|
14
14
|
let(:valid_us_number) { '(123)-123-1234' }
|
15
15
|
let(:valid_intl_number) { '+12 123 123 1234' }
|
16
16
|
let(:invalid_number) { '1234-123-123456' }
|
@@ -100,4 +100,4 @@ describe Volt::PhoneNumberValidator do
|
|
100
100
|
|
101
101
|
specify { expect(subject.valid?).to eq true }
|
102
102
|
end
|
103
|
-
end
|
103
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'volt/page/path_string_renderer'
|
3
|
+
|
4
|
+
|
5
|
+
unless RUBY_PLATFORM == 'opal'
|
6
|
+
describe Volt::PathStringRenderer do
|
7
|
+
before do
|
8
|
+
kitchen_sink_path = File.expand_path(File.join(File.dirname(__FILE__), '../apps/kitchen_sink'))
|
9
|
+
app = Volt::App.new(kitchen_sink_path)
|
10
|
+
@page = app.page
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should render a section' do
|
14
|
+
html = Volt::PathStringRenderer.new('main/mailers/welcome/subject', nil, @page).html
|
15
|
+
expect(html).to eq("\n Welcome to the site!\n\n")
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should render a section with a variable' do
|
19
|
+
html = Volt::PathStringRenderer.new('main/mailers/welcome/html', {:name => 'Jimmy'}, @page).html
|
20
|
+
expect(html).to eq("\n <h1>Welcome Jimmy</h1>\n\n <p>Glad you signed up!</p>\n\n")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/spec/router/routes_spec.rb
CHANGED
@@ -48,7 +48,7 @@ describe Volt::Routes do
|
|
48
48
|
nil => { controller: 'comments', action: 'show', id: 1 }
|
49
49
|
}
|
50
50
|
}
|
51
|
-
)
|
51
|
+
)
|
52
52
|
end
|
53
53
|
|
54
54
|
it 'should setup param matchers' do
|
@@ -74,7 +74,7 @@ describe Volt::Routes do
|
|
74
74
|
expect(param_matches[:get].map { |v| v[0] }).to eq([
|
75
75
|
{ controller: 'articles', action: 'index' },
|
76
76
|
{ controller: 'articles', action: 'show', id: nil },
|
77
|
-
])
|
77
|
+
])
|
78
78
|
end
|
79
79
|
|
80
80
|
|
@@ -136,13 +136,13 @@ describe Volt::Routes do
|
|
136
136
|
expect(params).to eq(controller: 'people', action: 'update')
|
137
137
|
|
138
138
|
params = @routes.url_to_params(:delete, '/people/2')
|
139
|
-
expect(params).to eq(controller: 'people', action: 'destroy')
|
139
|
+
expect(params).to eq(controller: 'people', action: 'destroy')
|
140
140
|
|
141
141
|
params = @routes.url_to_params(:get, '/articles/2')
|
142
142
|
expect(params).to eq(controller: 'articles', action: 'show', id: '2')
|
143
143
|
|
144
144
|
params = @routes.url_to_params(:put, '/articles/2/comments/9')
|
145
|
-
expect(params).to eq(controller: 'comments', action: 'update', articles_id: '2', id: '9')
|
145
|
+
expect(params).to eq(controller: 'comments', action: 'update', articles_id: '2', id: '9')
|
146
146
|
end
|
147
147
|
|
148
148
|
it 'should go from params to url' do
|
@@ -174,7 +174,11 @@ describe Volt::Routes do
|
|
174
174
|
|
175
175
|
url, params = @routes.params_to_url(controller: 'articles', action: 'update', method: :put, id: 99, other: 'xyz')
|
176
176
|
expect(url).to eq('/articles/99')
|
177
|
-
expect(params).to eq({other: 'xyz'})
|
177
|
+
expect(params).to eq({other: 'xyz'})
|
178
|
+
|
179
|
+
url, params = @routes.params_to_url({})
|
180
|
+
expect(url).to eq(nil)
|
181
|
+
expect(params).to eq(nil)
|
178
182
|
end
|
179
183
|
|
180
184
|
it 'should test that params match a param matcher' do
|
@@ -202,6 +206,21 @@ describe Volt::Routes do
|
|
202
206
|
match, params = routes.send(:check_params_match, { view: 'blog', id: '55', _extra: 'some value' }, view: 'blog', id: '55')
|
203
207
|
expect(match).to eq(true)
|
204
208
|
expect(params).to eq(_extra: 'some value')
|
209
|
+
|
210
|
+
match, params = routes.send(:check_params_match, { view: 'blog', id: '55' }, view: 'blog', id: '20')
|
211
|
+
expect(match).to eq(false)
|
212
|
+
end
|
213
|
+
|
214
|
+
it 'should not match params that have no matches at all' do
|
215
|
+
routes = Volt::Routes.new
|
216
|
+
match, params = routes.send(:check_params_match, { view: '', id: false }, bleep: {volt: 'rocks'} )
|
217
|
+
expect(match).to eq(false)
|
218
|
+
end
|
219
|
+
|
220
|
+
it 'should not match params that have a nil value' do
|
221
|
+
routes = Volt::Routes.new
|
222
|
+
match, params = routes.send(:check_params_match, { view: 'blog', id: false }, bleep: nil )
|
223
|
+
expect(match).to eq(false)
|
205
224
|
end
|
206
225
|
|
207
226
|
it 'should match routes' do
|
@@ -0,0 +1,20 @@
|
|
1
|
+
if RUBY_PLATFORM == 'opal'
|
2
|
+
else
|
3
|
+
require 'benchmark'
|
4
|
+
require 'volt/server/html_parser/view_handler'
|
5
|
+
|
6
|
+
describe Volt::ViewHandler do
|
7
|
+
let(:handler) { Volt::ViewHandler.new('main/main/main') }
|
8
|
+
|
9
|
+
it 'handles tags' do
|
10
|
+
handler.comment('Yowza!')
|
11
|
+
handler.start_tag('a', {href: 'yahoo.com'}, false)
|
12
|
+
handler.text('Cool in 1996')
|
13
|
+
handler.end_tag('a')
|
14
|
+
|
15
|
+
expectation = '<!--Yowza!--><a href="yahoo.com">Cool in 1996</a>'
|
16
|
+
expect(handler.html).to eq(expectation)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -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) { {'
|
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) { {'
|
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) { {'
|
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)
|
data/spec/spec_helper.rb
CHANGED
@@ -23,10 +23,6 @@ Volt.spec_setup(kitchen_sink_path)
|
|
23
23
|
|
24
24
|
unless RUBY_PLATFORM == 'opal'
|
25
25
|
RSpec.configure do |config|
|
26
|
-
# config.before(:each) do
|
27
|
-
# DataStore.new.drop_database
|
28
|
-
# end
|
29
|
-
|
30
26
|
config.run_all_when_everything_filtered = true
|
31
27
|
config.filter_run :focus
|
32
28
|
|
@@ -31,6 +31,14 @@ if RUBY_PLATFORM != 'opal'
|
|
31
31
|
|
32
32
|
@items.insert(index, item)
|
33
33
|
end
|
34
|
+
|
35
|
+
def notify_changed(id, data, skip_channel)
|
36
|
+
item = @items.find{ |item| item['_id'] == id }
|
37
|
+
idx = @items.index(item)
|
38
|
+
@items.delete(item)
|
39
|
+
@items.insert(idx, data)
|
40
|
+
end
|
41
|
+
|
34
42
|
end
|
35
43
|
|
36
44
|
before do
|
@@ -113,5 +121,27 @@ if RUBY_PLATFORM != 'opal'
|
|
113
121
|
@query_tracker.run
|
114
122
|
expect(@live_query.items).to eq(@items)
|
115
123
|
end
|
124
|
+
|
125
|
+
it 'should notify data hash has changed' do
|
126
|
+
@items = [
|
127
|
+
{ '_id' => 1, '_name' => 'one' },
|
128
|
+
{ '_id' => 2, '_name' => 'two' },
|
129
|
+
{ '_id' => 3, '_name' => 'three' },
|
130
|
+
{ '_id' => 4, '_name' => 'four' },
|
131
|
+
{ '_id' => 5, '_name' => 'five' }
|
132
|
+
]
|
133
|
+
@query_tracker.run
|
134
|
+
@items = [
|
135
|
+
{ '_id' => 1, '_name' => 'some' },
|
136
|
+
{ '_id' => 2, '_name' => 'values' },
|
137
|
+
{ '_id' => 3, '_name' => 'have' },
|
138
|
+
{ '_id' => 4, '_name' => 'changed' },
|
139
|
+
{ '_id' => 5, '_name' => 'other' }
|
140
|
+
]
|
141
|
+
expect(@live_query.items).to_not eq(@items)
|
142
|
+
@query_tracker.run
|
143
|
+
expect(@live_query.items).to eq(@items)
|
144
|
+
|
145
|
+
end
|
116
146
|
end
|
117
147
|
end
|
@@ -1,13 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
|
5
|
-
version = File.read(File.expand_path('../VERSION', __FILE__)).strip
|
6
|
-
|
4
|
+
require '<%=config[:namespaced_path]%>/version'
|
7
5
|
|
8
6
|
Gem::Specification.new do |spec|
|
9
7
|
spec.name = <%=config[:name].inspect%>
|
10
|
-
spec.version =
|
8
|
+
spec.version = <%=config[:constant_name]%>::VERSION
|
11
9
|
spec.authors = [<%=config[:author].inspect%>]
|
12
10
|
spec.email = [<%=config[:email].inspect%>]
|
13
11
|
spec.summary = %q{TODO: Write a short summary. Required.}
|
@@ -10,9 +10,12 @@ gem 'volt-bootstrap', '~> 0.0.10'
|
|
10
10
|
gem 'volt-bootstrap_jumbotron_theme', '~> 0.1.0'
|
11
11
|
|
12
12
|
# User templates for login, signup, and logout menu.
|
13
|
-
gem 'volt-user_templates', '~> 0.
|
13
|
+
gem 'volt-user_templates', '~> 0.2.0'
|
14
14
|
|
15
|
-
|
15
|
+
# Add ability to send e-mail from apps.
|
16
|
+
gem 'volt-mailer', '~> 0.0.2'
|
17
|
+
|
18
|
+
group :test do
|
16
19
|
# Testing dependencies
|
17
20
|
gem 'rspec', '~> 3.2.0'
|
18
21
|
gem 'opal-rspec', '~> 0.4.2'
|
@@ -1,6 +1,16 @@
|
|
1
1
|
Volt.configure do |config|
|
2
2
|
# Setup your global app config here.
|
3
3
|
|
4
|
+
#######################################
|
5
|
+
# Basic App Info (stuff you should set)
|
6
|
+
#######################################
|
7
|
+
config.domain = '<%= config[:domain] %>.com'
|
8
|
+
config.app_name = '<%= config[:app_name] %>'
|
9
|
+
config.mailer.from = '<%= config[:app_name] %> <no-reply@<%= config[:domain] %>.com>'
|
10
|
+
|
11
|
+
############
|
12
|
+
# App Secret
|
13
|
+
############
|
4
14
|
# Your app secret is used for signing things like the user cookie so it can't
|
5
15
|
# be tampered with. A random value is generated on new projects that will work
|
6
16
|
# without the need to customize. Make sure this value doesn't leave your server.
|
@@ -12,11 +22,17 @@ Volt.configure do |config|
|
|
12
22
|
#
|
13
23
|
config.app_secret = '<%= SecureRandom.urlsafe_base64(50) %>'
|
14
24
|
|
25
|
+
###############
|
26
|
+
# Log Filtering
|
27
|
+
###############
|
15
28
|
# Data updates from the client come in via Tasks. The task dispatcher logs all calls to tasks.
|
16
29
|
# By default hashes in the arguments can be filtered based on keys. So any hash with a key of
|
17
30
|
# password will be filtered. You can add more fields to filter below:
|
18
31
|
config.filter_keys = [:password]
|
19
32
|
|
33
|
+
##########
|
34
|
+
# Database
|
35
|
+
##########
|
20
36
|
# Database config all start with db_ and can be set either in the config
|
21
37
|
# file or with an environment variable (DB_NAME for example).
|
22
38
|
|
@@ -25,17 +41,49 @@ Volt.configure do |config|
|
|
25
41
|
# config.db_host = 'localhost'
|
26
42
|
# config.db_port = 27017
|
27
43
|
|
44
|
+
#####################
|
28
45
|
# Compression options
|
29
|
-
|
46
|
+
#####################
|
30
47
|
# If you are not running behind something like nginx in production, you can
|
31
48
|
# have rack deflate all files.
|
32
49
|
# config.deflate = true
|
33
50
|
|
51
|
+
#######################
|
34
52
|
# Public configurations
|
53
|
+
#######################
|
35
54
|
# Anything under config.public will be sent to the client as well as the server,
|
36
55
|
# so be sure no private data ends up under public
|
37
56
|
|
38
57
|
# Use username instead of email as the login
|
39
58
|
# config.public.auth.use_username = true
|
40
59
|
|
60
|
+
#####################
|
61
|
+
# Compression Options
|
62
|
+
#####################
|
63
|
+
# Disable or enable css/js compression. Default is to only run in production.
|
64
|
+
# if Volt.env.production?
|
65
|
+
# config.compress_javascript = true
|
66
|
+
# config.compress_css = true
|
67
|
+
# end
|
68
|
+
|
69
|
+
################
|
70
|
+
# Mailer options
|
71
|
+
################
|
72
|
+
# The volt-mailer gem uses pony (https://github.com/benprew/pony) to deliver e-mail. Any
|
73
|
+
# options you would pass to pony can be setup below.
|
74
|
+
# NOTE: The from address is setup at the top
|
75
|
+
|
76
|
+
# Normally pony uses /usr/sbin/sendmail if one is installed. You can specify smtp below:
|
77
|
+
# config.mailer.via = :smtp
|
78
|
+
# config.mailer.via_options = {
|
79
|
+
# :address => 'smtp.yourserver.com',
|
80
|
+
# :port => '25',
|
81
|
+
# :user_name => 'user',
|
82
|
+
# :password => 'password',
|
83
|
+
# :authentication => :plain, # :plain, :login, :cram_md5, no auth by default
|
84
|
+
# :domain => "localhost.localdomain" # the HELO domain provided by the client to the server
|
85
|
+
# }
|
86
|
+
|
87
|
+
|
88
|
+
|
41
89
|
end
|
data/volt.gemspec
CHANGED
@@ -1,16 +1,19 @@
|
|
1
|
-
# coding: utf-8
|
2
1
|
lib = File.expand_path('../lib', __FILE__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
|
5
|
-
version = File.read(File.expand_path('../VERSION', __FILE__)).strip
|
3
|
+
require 'volt/version'
|
6
4
|
|
7
5
|
Gem::Specification.new do |spec|
|
8
6
|
spec.name = 'volt'
|
9
|
-
spec.version =
|
7
|
+
spec.version = Volt::Version::STRING
|
8
|
+
spec.platform = Gem::Platform::RUBY
|
9
|
+
spec.required_ruby_version = '>= 2.1'
|
10
10
|
spec.authors = ['Ryan Stout']
|
11
11
|
spec.email = ['ryan@agileproductions.com']
|
12
|
-
spec.summary = 'A
|
13
|
-
|
12
|
+
spec.summary = 'A reactive Ruby web framework.'
|
13
|
+
spec.description = <<-EOF
|
14
|
+
A reactive Ruby web framework where your Ruby code runs on both the server
|
15
|
+
and the client (via Opal).
|
16
|
+
EOF
|
14
17
|
spec.homepage = 'http://voltframework.com'
|
15
18
|
spec.license = 'MIT'
|
16
19
|
|
@@ -20,17 +23,16 @@ Gem::Specification.new do |spec|
|
|
20
23
|
spec.require_paths = ['lib']
|
21
24
|
|
22
25
|
spec.add_dependency 'thor', '~> 0.19.0'
|
23
|
-
spec.add_dependency 'pry', '~> 0.10.
|
26
|
+
spec.add_dependency 'pry', '~> 0.10.1'
|
24
27
|
spec.add_dependency 'rack', '~> 1.5.0'
|
25
28
|
spec.add_dependency 'sprockets-sass', '~> 1.0.0'
|
26
29
|
spec.add_dependency 'sass', '~> 3.2.5'
|
27
30
|
spec.add_dependency 'mongo', '~> 1.9.0'
|
28
31
|
spec.add_dependency 'listen', '~> 2.8.0'
|
29
32
|
spec.add_dependency 'uglifier', '>= 2.4.0'
|
30
|
-
spec.add_dependency
|
31
|
-
spec.add_dependency '
|
33
|
+
spec.add_dependency 'configurations', '~> 2.0.0.pre'
|
34
|
+
spec.add_dependency 'ruby-clean-css', '~> 1.0.0'
|
32
35
|
spec.add_dependency 'opal', '~> 0.7.2'
|
33
|
-
spec.add_dependency 'opal-jquery', '~> 0.3.0'
|
34
36
|
spec.add_dependency 'bundler', '>= 1.5'
|
35
37
|
spec.add_dependency 'faye-websocket', '~> 0.9.2'
|
36
38
|
spec.add_dependency 'concurrent-ruby', '~> 0.8.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: volt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.1.
|
4
|
+
version: 0.9.1.pre5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Stout
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.10.
|
33
|
+
version: 0.10.1
|
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
|
-
version: 0.10.
|
40
|
+
version: 0.10.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rack
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,19 +137,19 @@ dependencies:
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: 2.0.0.pre
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: ruby-clean-css
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 0.
|
145
|
+
version: 1.0.0
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 0.
|
152
|
+
version: 1.0.0
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: opal
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,20 +164,6 @@ dependencies:
|
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: 0.7.2
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: opal-jquery
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - "~>"
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.3.0
|
174
|
-
type: :runtime
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - "~>"
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 0.3.0
|
181
167
|
- !ruby/object:Gem::Dependency
|
182
168
|
name: bundler
|
183
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -472,7 +458,9 @@ dependencies:
|
|
472
458
|
- - "~>"
|
473
459
|
- !ruby/object:Gem::Version
|
474
460
|
version: 2.0.0
|
475
|
-
description:
|
461
|
+
description: |2
|
462
|
+
A reactive Ruby web framework where your Ruby code runs on both the server
|
463
|
+
and the client (via Opal).
|
476
464
|
email:
|
477
465
|
- ryan@agileproductions.com
|
478
466
|
executables:
|
@@ -492,14 +480,12 @@ files:
|
|
492
480
|
- LICENSE.txt
|
493
481
|
- README.md
|
494
482
|
- Rakefile
|
495
|
-
- VERSION
|
496
483
|
- app/volt/assets/css/notices.css.scss
|
497
484
|
- app/volt/assets/js/jquery-2.0.3.js
|
498
485
|
- app/volt/assets/js/volt_js_polyfills.js
|
499
486
|
- app/volt/config/dependencies.rb
|
500
487
|
- app/volt/controllers/notices_controller.rb
|
501
488
|
- app/volt/models/user.rb
|
502
|
-
- app/volt/tasks/live_query/data_store.rb
|
503
489
|
- app/volt/tasks/live_query/live_query.rb
|
504
490
|
- app/volt/tasks/live_query/live_query_pool.rb
|
505
491
|
- app/volt/tasks/live_query/query_tracker.rb
|
@@ -524,6 +510,7 @@ files:
|
|
524
510
|
- lib/volt/controllers/actions.rb
|
525
511
|
- lib/volt/controllers/http_controller.rb
|
526
512
|
- lib/volt/controllers/model_controller.rb
|
513
|
+
- lib/volt/data_stores/base.rb
|
527
514
|
- lib/volt/data_stores/data_store.rb
|
528
515
|
- lib/volt/data_stores/mongo_driver.rb
|
529
516
|
- lib/volt/extra_core/array.rb
|
@@ -599,6 +586,7 @@ files:
|
|
599
586
|
- lib/volt/page/document.rb
|
600
587
|
- lib/volt/page/document_events.rb
|
601
588
|
- lib/volt/page/page.rb
|
589
|
+
- lib/volt/page/path_string_renderer.rb
|
602
590
|
- lib/volt/page/string_template_renderer.rb
|
603
591
|
- lib/volt/page/sub_context.rb
|
604
592
|
- lib/volt/page/targets/attribute_section.rb
|
@@ -673,6 +661,7 @@ files:
|
|
673
661
|
- lib/volt/utils/tilt_patch.rb
|
674
662
|
- lib/volt/utils/timers.rb
|
675
663
|
- lib/volt/utils/volt_user_error.rb
|
664
|
+
- lib/volt/version.rb
|
676
665
|
- lib/volt/volt/app.rb
|
677
666
|
- lib/volt/volt/core.rb
|
678
667
|
- lib/volt/volt/environment.rb
|
@@ -695,6 +684,7 @@ files:
|
|
695
684
|
- spec/apps/kitchen_sink/app/main/controllers/upload_controller.rb
|
696
685
|
- spec/apps/kitchen_sink/app/main/controllers/yield_component_controller.rb
|
697
686
|
- spec/apps/kitchen_sink/app/main/models/user.rb
|
687
|
+
- spec/apps/kitchen_sink/app/main/views/mailers/welcome.email
|
698
688
|
- spec/apps/kitchen_sink/app/main/views/main/bindings.html
|
699
689
|
- spec/apps/kitchen_sink/app/main/views/main/cookie_test.html
|
700
690
|
- spec/apps/kitchen_sink/app/main/views/main/first_last.html
|
@@ -745,6 +735,7 @@ files:
|
|
745
735
|
- spec/models/model_spec.rb
|
746
736
|
- spec/models/model_state_spec.rb
|
747
737
|
- spec/models/permissions_spec.rb
|
738
|
+
- spec/models/persistors/flash_spec.rb
|
748
739
|
- spec/models/persistors/params_spec.rb
|
749
740
|
- spec/models/persistors/store_spec.rb
|
750
741
|
- spec/models/url_spec.rb
|
@@ -760,6 +751,7 @@ files:
|
|
760
751
|
- spec/page/bindings/content_binding_spec.rb
|
761
752
|
- spec/page/bindings/template_binding/view_lookup_for_path_spec.rb
|
762
753
|
- spec/page/bindings/template_binding_spec.rb
|
754
|
+
- spec/page/path_string_renderer_spec.rb
|
763
755
|
- spec/page/sub_context_spec.rb
|
764
756
|
- spec/reactive/class_eventable_spec.rb
|
765
757
|
- spec/reactive/computation_spec.rb
|
@@ -770,6 +762,7 @@ files:
|
|
770
762
|
- spec/router/routes_spec.rb
|
771
763
|
- spec/server/html_parser/sample_page.html
|
772
764
|
- spec/server/html_parser/sandlebars_parser_spec.rb
|
765
|
+
- spec/server/html_parser/view_handler_spec.rb
|
773
766
|
- spec/server/html_parser/view_parser_spec.rb
|
774
767
|
- spec/server/rack/asset_files_spec.rb
|
775
768
|
- spec/server/rack/component_paths_spec.rb
|
@@ -816,7 +809,6 @@ files:
|
|
816
809
|
- templates/newgem/LICENSE.txt.tt
|
817
810
|
- templates/newgem/README.md.tt
|
818
811
|
- templates/newgem/Rakefile.tt
|
819
|
-
- templates/newgem/VERSION
|
820
812
|
- templates/newgem/app/newgem/assets/css/.empty_directory
|
821
813
|
- templates/newgem/app/newgem/assets/js/.empty_directory
|
822
814
|
- templates/newgem/app/newgem/config/dependencies.rb
|
@@ -829,6 +821,7 @@ files:
|
|
829
821
|
- templates/newgem/gitignore.tt
|
830
822
|
- templates/newgem/lib/newgem.rb.tt
|
831
823
|
- templates/newgem/lib/newgem/.empty_directory
|
824
|
+
- templates/newgem/lib/newgem/version.rb.tt
|
832
825
|
- templates/newgem/newgem.gemspec.tt
|
833
826
|
- templates/newgem/rspec.tt
|
834
827
|
- templates/newgem/spec/newgem_spec.rb.tt
|
@@ -878,7 +871,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
878
871
|
requirements:
|
879
872
|
- - ">="
|
880
873
|
- !ruby/object:Gem::Version
|
881
|
-
version: '
|
874
|
+
version: '2.1'
|
882
875
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
883
876
|
requirements:
|
884
877
|
- - ">"
|
@@ -889,8 +882,7 @@ rubyforge_project:
|
|
889
882
|
rubygems_version: 2.4.5
|
890
883
|
signing_key:
|
891
884
|
specification_version: 4
|
892
|
-
summary: A
|
893
|
-
Opal)
|
885
|
+
summary: A reactive Ruby web framework.
|
894
886
|
test_files:
|
895
887
|
- spec/apps/file_loading/app/bootstrap/assets/js/bootstrap.js
|
896
888
|
- spec/apps/file_loading/app/main/assets/js/test1.js
|
@@ -910,6 +902,7 @@ test_files:
|
|
910
902
|
- spec/apps/kitchen_sink/app/main/controllers/upload_controller.rb
|
911
903
|
- spec/apps/kitchen_sink/app/main/controllers/yield_component_controller.rb
|
912
904
|
- spec/apps/kitchen_sink/app/main/models/user.rb
|
905
|
+
- spec/apps/kitchen_sink/app/main/views/mailers/welcome.email
|
913
906
|
- spec/apps/kitchen_sink/app/main/views/main/bindings.html
|
914
907
|
- spec/apps/kitchen_sink/app/main/views/main/cookie_test.html
|
915
908
|
- spec/apps/kitchen_sink/app/main/views/main/first_last.html
|
@@ -960,6 +953,7 @@ test_files:
|
|
960
953
|
- spec/models/model_spec.rb
|
961
954
|
- spec/models/model_state_spec.rb
|
962
955
|
- spec/models/permissions_spec.rb
|
956
|
+
- spec/models/persistors/flash_spec.rb
|
963
957
|
- spec/models/persistors/params_spec.rb
|
964
958
|
- spec/models/persistors/store_spec.rb
|
965
959
|
- spec/models/url_spec.rb
|
@@ -975,6 +969,7 @@ test_files:
|
|
975
969
|
- spec/page/bindings/content_binding_spec.rb
|
976
970
|
- spec/page/bindings/template_binding/view_lookup_for_path_spec.rb
|
977
971
|
- spec/page/bindings/template_binding_spec.rb
|
972
|
+
- spec/page/path_string_renderer_spec.rb
|
978
973
|
- spec/page/sub_context_spec.rb
|
979
974
|
- spec/reactive/class_eventable_spec.rb
|
980
975
|
- spec/reactive/computation_spec.rb
|
@@ -985,6 +980,7 @@ test_files:
|
|
985
980
|
- spec/router/routes_spec.rb
|
986
981
|
- spec/server/html_parser/sample_page.html
|
987
982
|
- spec/server/html_parser/sandlebars_parser_spec.rb
|
983
|
+
- spec/server/html_parser/view_handler_spec.rb
|
988
984
|
- spec/server/html_parser/view_parser_spec.rb
|
989
985
|
- spec/server/rack/asset_files_spec.rb
|
990
986
|
- spec/server/rack/component_paths_spec.rb
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.9.1.pre4
|