websocket-rails 0.6.2 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|