volt 0.9.5.pre4 → 0.9.5.pre5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +13 -5
  4. data/app/volt/assets/css/{notices.css.scss → notices.scss} +0 -0
  5. data/app/volt/models/active_volt_instance.rb +1 -1
  6. data/app/volt/tasks/live_query/live_query.rb +11 -3
  7. data/app/volt/tasks/store_tasks.rb +14 -17
  8. data/lib/volt/cli.rb +22 -0
  9. data/lib/volt/cli/asset_compile.rb +63 -63
  10. data/lib/volt/cli/base_index_renderer.rb +26 -0
  11. data/lib/volt/cli/generate.rb +1 -1
  12. data/lib/volt/config.rb +1 -0
  13. data/lib/volt/controllers/model_controller.rb +37 -1
  14. data/lib/volt/extra_core/array.rb +22 -0
  15. data/lib/volt/models/array_model.rb +7 -1
  16. data/lib/volt/models/errors.rb +1 -1
  17. data/lib/volt/models/field_helpers.rb +36 -21
  18. data/lib/volt/models/model.rb +16 -0
  19. data/lib/volt/models/validations/validations.rb +21 -6
  20. data/lib/volt/models/validators/type_validator.rb +35 -3
  21. data/lib/volt/page/bindings/content_binding.rb +1 -1
  22. data/lib/volt/page/bindings/event_binding.rb +40 -16
  23. data/lib/volt/page/document_events.rb +8 -6
  24. data/lib/volt/reactive/reactive_array.rb +18 -1
  25. data/lib/volt/server/forking_server.rb +7 -1
  26. data/lib/volt/server/html_parser/attribute_scope.rb +26 -0
  27. data/lib/volt/server/html_parser/component_view_scope.rb +30 -22
  28. data/lib/volt/server/middleware/default_middleware_stack.rb +6 -1
  29. data/lib/volt/server/rack/asset_files.rb +5 -3
  30. data/lib/volt/server/rack/opal_files.rb +35 -23
  31. data/lib/volt/server/rack/sprockets_helpers_setup.rb +71 -0
  32. data/lib/volt/server/template_handlers/view_processor.rb +1 -2
  33. data/lib/volt/utils/promise_extensions.rb +1 -1
  34. data/lib/volt/version.rb +1 -1
  35. data/lib/volt/volt/app.rb +0 -2
  36. data/lib/volt/volt/client_setup/browser.rb +11 -0
  37. data/spec/apps/kitchen_sink/Gemfile +37 -14
  38. data/spec/apps/kitchen_sink/app/main/config/routes.rb +3 -0
  39. data/spec/apps/kitchen_sink/app/main/controllers/events_controller.rb +26 -0
  40. data/spec/apps/kitchen_sink/app/main/views/events/index.html +30 -0
  41. data/spec/apps/kitchen_sink/app/main/views/main/bindings.html +3 -0
  42. data/spec/apps/kitchen_sink/app/main/views/main/yield.html +1 -6
  43. data/spec/apps/kitchen_sink/app/main/views/{yield-component → yield_component}/index.html +0 -0
  44. data/spec/extra_core/array_spec.rb +26 -0
  45. data/spec/integration/bindings_spec.rb +9 -0
  46. data/spec/integration/event_spec.rb +19 -0
  47. data/spec/models/array_model_spec.rb +13 -0
  48. data/spec/models/field_helpers_spec.rb +2 -2
  49. data/spec/models/validations_spec.rb +31 -0
  50. data/spec/models/validators/type_validator_spec.rb +47 -1
  51. data/spec/reactive/reactive_array_spec.rb +46 -0
  52. data/spec/server/forking_server_spec.rb +27 -0
  53. data/spec/server/html_parser/view_scope_spec.rb +44 -0
  54. data/spec/server/rack/asset_files_spec.rb +2 -2
  55. data/templates/project/Gemfile.tt +8 -0
  56. data/templates/project/config/app.rb.tt +2 -1
  57. data/volt.gemspec +1 -1
  58. metadata +31 -5
@@ -50,3 +50,11 @@ platform :mri, :mingw do
50
50
  gem 'thin', '~> 1.6.0'
51
51
  gem 'bson_ext', '~> 1.9.0'
52
52
  end
53
+
54
+ group :production do
55
+ # Image compression gem for precompiling assets
56
+ gem 'image_optim'
57
+
58
+ # Provides precompiled binaries for image compression
59
+ gem 'image_optim_pack'
60
+ end
@@ -63,10 +63,11 @@ Volt.configure do |config|
63
63
  #####################
64
64
  # Compression Options
65
65
  #####################
66
- # Disable or enable css/js compression. Default is to only run in production.
66
+ # Disable or enable css/js/image compression. Default is to only run in production.
67
67
  # if Volt.env.production?
68
68
  # config.compress_javascript = true
69
69
  # config.compress_css = true
70
+ # config.compress_images = true
70
71
  # end
71
72
 
72
73
  ################
data/volt.gemspec CHANGED
@@ -29,12 +29,12 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency 'opal', '~> 0.8.0'
30
30
  spec.add_dependency 'bundler', '>= 1.5'
31
31
  spec.add_dependency 'faye-websocket', '~> 0.10.0'
32
+ spec.add_dependency 'sprockets-helpers', '~> 1.2.1'
32
33
 
33
34
  # Locking down concurrent-ruby because one currently used feature is going to
34
35
  # be deprecated (which we need to build a work around for)
35
36
  spec.add_dependency 'concurrent-ruby', '= 0.8.0'
36
37
 
37
-
38
38
  # For user passwords
39
39
  spec.add_dependency 'bcrypt', '~> 3.1.9'
40
40
 
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.5.pre4
4
+ version: 0.9.5.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-07-29 00:00:00.000000000 Z
11
+ date: 2015-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 0.10.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: sprockets-helpers
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 1.2.1
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 1.2.1
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: concurrent-ruby
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -368,7 +382,7 @@ files:
368
382
  - LICENSE.txt
369
383
  - README.md
370
384
  - Rakefile
371
- - app/volt/assets/css/notices.css.scss
385
+ - app/volt/assets/css/notices.scss
372
386
  - app/volt/assets/js/jquery-2.0.3.js
373
387
  - app/volt/assets/js/volt_js_polyfills.js
374
388
  - app/volt/assets/js/volt_watch.js
@@ -392,6 +406,7 @@ files:
392
406
  - lib/volt/boot.rb
393
407
  - lib/volt/cli.rb
394
408
  - lib/volt/cli/asset_compile.rb
409
+ - lib/volt/cli/base_index_renderer.rb
395
410
  - lib/volt/cli/bundle.rb
396
411
  - lib/volt/cli/console.rb
397
412
  - lib/volt/cli/generate.rb
@@ -548,6 +563,7 @@ files:
548
563
  - lib/volt/server/rack/opal_files.rb
549
564
  - lib/volt/server/rack/quiet_common_logger.rb
550
565
  - lib/volt/server/rack/source_map_server.rb
566
+ - lib/volt/server/rack/sprockets_helpers_setup.rb
551
567
  - lib/volt/server/socket_connection_handler.rb
552
568
  - lib/volt/server/socket_connection_handler_stub.rb
553
569
  - lib/volt/server/template_handlers/preprocessors.rb
@@ -607,12 +623,14 @@ files:
607
623
  - spec/apps/kitchen_sink/app/main/assets/css/todos.css
608
624
  - spec/apps/kitchen_sink/app/main/config/dependencies.rb
609
625
  - spec/apps/kitchen_sink/app/main/config/routes.rb
626
+ - spec/apps/kitchen_sink/app/main/controllers/events_controller.rb
610
627
  - spec/apps/kitchen_sink/app/main/controllers/main_controller.rb
611
628
  - spec/apps/kitchen_sink/app/main/controllers/server/simple_http_controller.rb
612
629
  - spec/apps/kitchen_sink/app/main/controllers/todos_controller.rb
613
630
  - spec/apps/kitchen_sink/app/main/controllers/upload_controller.rb
614
631
  - spec/apps/kitchen_sink/app/main/controllers/yield_component_controller.rb
615
632
  - spec/apps/kitchen_sink/app/main/models/user.rb
633
+ - spec/apps/kitchen_sink/app/main/views/events/index.html
616
634
  - spec/apps/kitchen_sink/app/main/views/mailers/welcome.email
617
635
  - spec/apps/kitchen_sink/app/main/views/main/bindings.html
618
636
  - spec/apps/kitchen_sink/app/main/views/main/cookie_test.html
@@ -628,7 +646,7 @@ files:
628
646
  - spec/apps/kitchen_sink/app/main/views/main/yield.html
629
647
  - spec/apps/kitchen_sink/app/main/views/todos/index.html
630
648
  - spec/apps/kitchen_sink/app/main/views/upload/index.html
631
- - spec/apps/kitchen_sink/app/main/views/yield-component/index.html
649
+ - spec/apps/kitchen_sink/app/main/views/yield_component/index.html
632
650
  - spec/apps/kitchen_sink/config.ru
633
651
  - spec/apps/kitchen_sink/config/app.rb
634
652
  - spec/apps/kitchen_sink/config/base/index.html
@@ -648,6 +666,7 @@ files:
648
666
  - spec/integration/bindings_spec.rb
649
667
  - spec/integration/client_require_spec.rb
650
668
  - spec/integration/cookies_spec.rb
669
+ - spec/integration/event_spec.rb
651
670
  - spec/integration/first_last_spec.rb
652
671
  - spec/integration/flash_spec.rb
653
672
  - spec/integration/http_endpoints_spec.rb
@@ -700,10 +719,12 @@ files:
700
719
  - spec/reactive/reactive_hash_spec.rb
701
720
  - spec/router/routes_spec.rb
702
721
  - spec/server/component_templates_spec.rb
722
+ - spec/server/forking_server_spec.rb
703
723
  - spec/server/html_parser/sample_page.html
704
724
  - spec/server/html_parser/sandlebars_parser_spec.rb
705
725
  - spec/server/html_parser/view_handler_spec.rb
706
726
  - spec/server/html_parser/view_parser_spec.rb
727
+ - spec/server/html_parser/view_scope_spec.rb
707
728
  - spec/server/message_bus/message_encoder_spec.rb
708
729
  - spec/server/message_bus/peer_to_peer/peer_connection_spec.rb
709
730
  - spec/server/message_bus/peer_to_peer/peer_server_spec.rb
@@ -864,12 +885,14 @@ test_files:
864
885
  - spec/apps/kitchen_sink/app/main/assets/css/todos.css
865
886
  - spec/apps/kitchen_sink/app/main/config/dependencies.rb
866
887
  - spec/apps/kitchen_sink/app/main/config/routes.rb
888
+ - spec/apps/kitchen_sink/app/main/controllers/events_controller.rb
867
889
  - spec/apps/kitchen_sink/app/main/controllers/main_controller.rb
868
890
  - spec/apps/kitchen_sink/app/main/controllers/server/simple_http_controller.rb
869
891
  - spec/apps/kitchen_sink/app/main/controllers/todos_controller.rb
870
892
  - spec/apps/kitchen_sink/app/main/controllers/upload_controller.rb
871
893
  - spec/apps/kitchen_sink/app/main/controllers/yield_component_controller.rb
872
894
  - spec/apps/kitchen_sink/app/main/models/user.rb
895
+ - spec/apps/kitchen_sink/app/main/views/events/index.html
873
896
  - spec/apps/kitchen_sink/app/main/views/mailers/welcome.email
874
897
  - spec/apps/kitchen_sink/app/main/views/main/bindings.html
875
898
  - spec/apps/kitchen_sink/app/main/views/main/cookie_test.html
@@ -885,7 +908,7 @@ test_files:
885
908
  - spec/apps/kitchen_sink/app/main/views/main/yield.html
886
909
  - spec/apps/kitchen_sink/app/main/views/todos/index.html
887
910
  - spec/apps/kitchen_sink/app/main/views/upload/index.html
888
- - spec/apps/kitchen_sink/app/main/views/yield-component/index.html
911
+ - spec/apps/kitchen_sink/app/main/views/yield_component/index.html
889
912
  - spec/apps/kitchen_sink/config.ru
890
913
  - spec/apps/kitchen_sink/config/app.rb
891
914
  - spec/apps/kitchen_sink/config/base/index.html
@@ -905,6 +928,7 @@ test_files:
905
928
  - spec/integration/bindings_spec.rb
906
929
  - spec/integration/client_require_spec.rb
907
930
  - spec/integration/cookies_spec.rb
931
+ - spec/integration/event_spec.rb
908
932
  - spec/integration/first_last_spec.rb
909
933
  - spec/integration/flash_spec.rb
910
934
  - spec/integration/http_endpoints_spec.rb
@@ -957,10 +981,12 @@ test_files:
957
981
  - spec/reactive/reactive_hash_spec.rb
958
982
  - spec/router/routes_spec.rb
959
983
  - spec/server/component_templates_spec.rb
984
+ - spec/server/forking_server_spec.rb
960
985
  - spec/server/html_parser/sample_page.html
961
986
  - spec/server/html_parser/sandlebars_parser_spec.rb
962
987
  - spec/server/html_parser/view_handler_spec.rb
963
988
  - spec/server/html_parser/view_parser_spec.rb
989
+ - spec/server/html_parser/view_scope_spec.rb
964
990
  - spec/server/message_bus/message_encoder_spec.rb
965
991
  - spec/server/message_bus/peer_to_peer/peer_connection_spec.rb
966
992
  - spec/server/message_bus/peer_to_peer/peer_server_spec.rb