volt 0.9.5.pre4 → 0.9.5.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.
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