websocket-rails 0.6.2 → 0.7.0
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 +7 -0
- data/CHANGELOG.md +32 -0
- data/Gemfile +2 -1
- data/README.md +29 -34
- data/lib/assets/javascripts/websocket_rails/abstract_connection.js.coffee +45 -0
- data/lib/assets/javascripts/websocket_rails/channel.js.coffee +34 -17
- data/lib/assets/javascripts/websocket_rails/event.js.coffee +13 -11
- data/lib/assets/javascripts/websocket_rails/http_connection.js.coffee +44 -45
- data/lib/assets/javascripts/websocket_rails/main.js +1 -0
- data/lib/assets/javascripts/websocket_rails/websocket_connection.js.coffee +20 -34
- data/lib/assets/javascripts/websocket_rails/websocket_rails.js.coffee +60 -15
- data/lib/generators/websocket_rails/install/templates/websocket_rails.rb +15 -0
- data/lib/rails/config/routes.rb +1 -1
- data/lib/rails/tasks/websocket_rails.tasks +6 -2
- data/lib/websocket_rails/channel.rb +28 -2
- data/lib/websocket_rails/channel_manager.rb +16 -0
- data/lib/websocket_rails/configuration.rb +26 -1
- data/lib/websocket_rails/connection_adapters/http.rb +7 -0
- data/lib/websocket_rails/connection_adapters/web_socket.rb +3 -1
- data/lib/websocket_rails/connection_manager.rb +1 -1
- data/lib/websocket_rails/controller_factory.rb +1 -1
- data/lib/websocket_rails/event.rb +9 -2
- data/lib/websocket_rails/logging.rb +0 -1
- data/lib/websocket_rails/synchronization.rb +11 -7
- data/lib/websocket_rails/version.rb +1 -1
- data/spec/javascripts/generated/assets/abstract_connection.js +71 -0
- data/spec/javascripts/generated/assets/channel.js +58 -34
- data/spec/javascripts/generated/assets/event.js +12 -16
- data/spec/javascripts/generated/assets/http_connection.js +67 -65
- data/spec/javascripts/generated/assets/websocket_connection.js +36 -51
- data/spec/javascripts/generated/assets/websocket_rails.js +68 -21
- data/spec/javascripts/generated/specs/channel_spec.js +102 -19
- data/spec/javascripts/generated/specs/helpers.js +17 -0
- data/spec/javascripts/generated/specs/websocket_connection_spec.js +72 -19
- data/spec/javascripts/generated/specs/websocket_rails_spec.js +146 -47
- data/spec/javascripts/support/jasmine.yml +10 -2
- data/spec/javascripts/support/jasmine_helper.rb +38 -0
- data/spec/javascripts/websocket_rails/channel_spec.coffee +66 -12
- data/spec/javascripts/websocket_rails/event_spec.coffee +7 -7
- data/spec/javascripts/websocket_rails/helpers.coffee +6 -0
- data/spec/javascripts/websocket_rails/websocket_connection_spec.coffee +53 -15
- data/spec/javascripts/websocket_rails/websocket_rails_spec.coffee +108 -25
- data/spec/unit/base_controller_spec.rb +41 -0
- data/spec/unit/channel_manager_spec.rb +21 -0
- data/spec/unit/channel_spec.rb +43 -3
- data/spec/unit/connection_adapters/http_spec.rb +24 -3
- data/spec/unit/connection_adapters_spec.rb +2 -2
- data/spec/unit/connection_manager_spec.rb +1 -1
- data/spec/unit/event_spec.rb +25 -1
- data/spec/unit/logging_spec.rb +1 -1
- metadata +57 -67
- data/spec/javascripts/support/jasmine_config.rb +0 -63
@@ -1,63 +0,0 @@
|
|
1
|
-
# spec/javascripts/support/jasmine_config.rb
|
2
|
-
# when jasmine starts the server out-of-process, it needs this in order to be able to invoke the asset tasks
|
3
|
-
unless Object.const_defined?(:Rake)
|
4
|
-
require 'rake'
|
5
|
-
load File.expand_path('../../../../Rakefile', __FILE__)
|
6
|
-
end
|
7
|
-
|
8
|
-
require 'coffee_script'
|
9
|
-
|
10
|
-
module Jasmine
|
11
|
-
class Config
|
12
|
-
include Rake::DSL
|
13
|
-
|
14
|
-
def js_files(spec_filter = nil)
|
15
|
-
# remove all generated files
|
16
|
-
generated_files_directory = File.expand_path("../../../../spec/javascripts/generated/assets", __FILE__)
|
17
|
-
rm_rf generated_files_directory, :secure => true
|
18
|
-
|
19
|
-
precompile_app_assets
|
20
|
-
compile_jasmine_javascripts
|
21
|
-
|
22
|
-
# this is code from the original jasmine config js_files method - you could also just alias_method_chain it
|
23
|
-
spec_files_to_include = spec_filter.nil? ? spec_files : match_files(spec_dir, [spec_filter])
|
24
|
-
src_files.collect {|f| "/" + f } + helpers.collect {|f| File.join(spec_path, f) } + spec_files_to_include.collect {|f| File.join(spec_path, f) }
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
# this method compiles all the same javascript files your app will
|
30
|
-
def precompile_app_assets
|
31
|
-
puts "Precompiling assets..."
|
32
|
-
|
33
|
-
root = File.expand_path("../../../../lib/assets/javascripts/websocket_rails", __FILE__)
|
34
|
-
destination_dir = File.expand_path("../../../../spec/javascripts/generated/assets", __FILE__)
|
35
|
-
|
36
|
-
glob = File.expand_path("**/*.js.coffee", root)
|
37
|
-
|
38
|
-
Dir.glob(glob).each do |srcfile|
|
39
|
-
srcfile = Pathname.new(srcfile)
|
40
|
-
destfile = srcfile.sub(root, destination_dir).sub(".coffee", "")
|
41
|
-
FileUtils.mkdir_p(destfile.dirname)
|
42
|
-
File.open(destfile, "w") {|f| f.write(CoffeeScript.compile(File.new(srcfile)))}
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
# this method compiles all of the spec files into js files that jasmine can run
|
47
|
-
def compile_jasmine_javascripts
|
48
|
-
puts "Compiling jasmine coffee scripts into javascript..."
|
49
|
-
root = File.expand_path("../../../../spec/javascripts/websocket_rails", __FILE__)
|
50
|
-
destination_dir = File.expand_path("../../generated/specs", __FILE__)
|
51
|
-
|
52
|
-
glob = File.expand_path("**/*.coffee", root)
|
53
|
-
|
54
|
-
Dir.glob(glob).each do |srcfile|
|
55
|
-
srcfile = Pathname.new(srcfile)
|
56
|
-
destfile = srcfile.sub(root, destination_dir).sub(".coffee", ".js")
|
57
|
-
FileUtils.mkdir_p(destfile.dirname)
|
58
|
-
File.open(destfile, "w") {|f| f.write(CoffeeScript.compile(File.new(srcfile)))}
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
end
|
63
|
-
end
|