web-repl 0.9 → 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f8c3919a04f29a4a9db4c11fe64eb5d0046600bc
4
- data.tar.gz: 6314aeb1faa747caffd8520b0a9d452f1632a43c
3
+ metadata.gz: a6a0ad277ec5784183b51b03e62b06cfb0e37dc2
4
+ data.tar.gz: 627b30b062576ee663088ed9d4e63f27e8ccb620
5
5
  SHA512:
6
- metadata.gz: 4fdbd4706c3a6c65d253f890166d2050428eece64d981c45c70f99313db71e85f22ba7c4c275d5b961a9ff06de5fffa2e35febbee4d02043d3f94f4aa785e455
7
- data.tar.gz: 8c22fe879002d5ab099bceea2fbb2a961629e17314f5d18b41f7703153207e0da97c5afba3504f24f18c5dc500fc5c01f936b6bc49ad3c9cba7637d2d41932fe
6
+ metadata.gz: 72f65b498afe760381f2c2d73610f8124b00b3867f9edda0f981701ee055006cad4befaa1798dc1c7a036d5c1025f6badc03fd45c3c1bf87464799222adb8b2b
7
+ data.tar.gz: 8f0b40f894d64462abd7a5789a7a5e65ba19e615eba1bca1fa648574947da04004f75cfba8f331b2cd7a3df235afac0b977c6c31d176d3817e7e5f6b1b97606c
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $:.unshift(File.join("..", "lib"))
3
3
 
4
4
  require "optparse"
5
5
  require "web-repl"
@@ -0,0 +1 @@
1
+ function ReplConnection(e,t,n){n="undefined"==typeof n?{}:n,this.debug=!!n.debug,this.reconnect=!!n.reconnect,this.retryTime=n.retryTime||1e3,this.evalFunction=n.evalFunction,this.host=e,this.port=t,this.active=!1,this.socket,this.supported="WebSocket"in window,console.log(this.supported?"REPL: socket ok":"REPL: socket not supported")}ReplConnection.prototype.eval=function(statement){options="undefined"==typeof options?{}:options;var response={};try{response.value="function"==typeof this.evalFunction?this.evalFunction(statement):eval(statement)}catch(err){response.error=err.message}return response},ReplConnection.prototype.initSocket=function(e){void 0!==this.socket&&null!==this.socket&&this.socket.close();var t="ws://"+this.host+":"+this.port+"/echo";this.socket=new WebSocket(t),e()},ReplConnection.prototype.handleSocketOpen=function(){this.active=!0,console.log("REPL: socket ready")},ReplConnection.prototype.tryConnection=function(){if(console.log("REPL: waiting for connection"),this.reconnect){var e=this;window.setTimeout(function(){e.start()},this.retryTime)}},ReplConnection.prototype.handleSocketClose=function(){this.active?(console.log("REPL: socket closed"),this.active=!1,this.reconnect&&this.tryConnection()):this.tryConnection()},ReplConnection.prototype.convertTimestamp=function(e){var t=e.timestamp;return e.timestamp=new Date(t),e.timestamp},ReplConnection.prototype.handleMessageReceived=function(e){this.debug&&(console.log("REPL: message received"),console.log(e));var t=JSON.parse(e.data);this.convertTimestamp(t);var n=this.eval(t.statement);return this.send(n)},ReplConnection.prototype.send=function(e){var t=this.prepareJSON(e);return this.debug&&(console.log("REPL: sending"),console.log(t)),this.socket.send(t)},ReplConnection.prototype.prepareJSON=function(e){var t;try{e.timestamp=(new Date).getTime(),t=JSON.stringify(e)}catch(n){t=this.handleJsonError(e,n)}return t},ReplConnection.prototype.handleJsonError=function(e,t){return e.value=null,e.error=t.message,this.prepareJSON(e)},ReplConnection.prototype.initEventHandling=function(){var e=this;this.socket.onopen=function(){e.handleSocketOpen()},this.socket.onclose=function(t){e.handleSocketClose(t)},this.socket.onmessage=function(t){e.handleMessageReceived(t)}},ReplConnection.prototype.start=function(e){if(this.supported){var t=this;this.initSocket(function(){t.initEventHandling(),void 0!==e&&e(t)})}};
@@ -2,7 +2,7 @@
2
2
  require "colorize"
3
3
  require "em-websocket"
4
4
  require "json"
5
- require "readline"
5
+ require "readline" unless defined?(Readline)
6
6
  require "socket"
7
7
 
8
8
  # classes
@@ -13,7 +13,7 @@ require "web-repl/repl"
13
13
  # A Javascript REPL that runs in Ruby. Evaluation is done by a web browser instance.
14
14
  module WebRepl
15
15
 
16
- VERSION = "0.9"
16
+ VERSION = "0.10.1"
17
17
 
18
18
  # Shortcut to REPL.start
19
19
  def self.start(*a)
@@ -1,7 +1,6 @@
1
- dir = File.dirname(File.expand_path(__FILE__))
2
- $LOAD_PATH.unshift dir + '/../lib'
1
+ $:.unshift(File.join("..", "lib"))
3
2
 
4
- require 'test/unit'
3
+ require "minitest/autorun"
5
4
  require "mocha/test_unit"
6
5
  require "shoulda-context"
7
6
 
@@ -1,14 +1,12 @@
1
1
  require "helper"
2
2
 
3
- class WebRepl::MessengerTest < Test::Unit::TestCase
4
-
5
- include WebRepl
3
+ class WebRepl::MessengerTest < Minitest::Test
6
4
 
7
5
  context "Messenger" do
8
6
 
9
7
  setup do
10
8
  @socket = Object.new
11
- @messager = Messenger.new(@socket)
9
+ @messager = WebRepl::Messenger.new(@socket)
12
10
  end
13
11
 
14
12
  context "#in" do
@@ -19,27 +17,27 @@ class WebRepl::MessengerTest < Test::Unit::TestCase
19
17
  end
20
18
 
21
19
  should "convert from String to Hash" do
22
- assert_not_nil @result
20
+ refute_nil @result
23
21
  assert_equal Hash, @result.class
24
22
  assert_equal "blah", @result[:value]
25
23
  end
26
24
 
27
25
  should "convert timestamp from js time to ruby" do
28
26
  timestamp = @result[:timestamp]
29
- assert_not_nil timestamp
27
+ refute_nil timestamp
30
28
  assert_equal Time, timestamp.class
31
29
  assert_equal 2014, timestamp.year
32
30
  assert_equal 4, timestamp.month
33
31
  assert_equal 22, timestamp.hour
34
32
  end
35
-
33
+
36
34
  end
37
35
 
38
36
  context "#new_timestamp" do
39
37
 
40
38
  should "be js int time format" do
41
39
  result = @messager.new_timestamp
42
- assert_not_nil result
40
+ refute_nil result
43
41
  assert_equal Fixnum, result.class
44
42
  assert result.to_s.size > Time.new.to_i.to_s.size
45
43
  assert_equal (result / 1000).to_s.size, Time.new.to_i.to_s.size
@@ -64,12 +62,12 @@ class WebRepl::MessengerTest < Test::Unit::TestCase
64
62
  should "generate new timestamp" do
65
63
  @socket.expects(:send).once
66
64
  @messager.out(@message)
67
- assert_not_nil @message[:timestamp]
65
+ refute_nil @message[:timestamp]
68
66
  assert_equal Fixnum, @message[:timestamp].class
69
67
  end
70
68
 
71
69
  should "return nil if fails" do
72
- messager = Messenger.new(nil)
70
+ messager = WebRepl::Messenger.new(nil)
73
71
  result = messager.out(@message)
74
72
  assert_nil result
75
73
  end
@@ -77,7 +75,7 @@ class WebRepl::MessengerTest < Test::Unit::TestCase
77
75
  should "return json string if success" do
78
76
  @socket.expects(:send).once
79
77
  result = @messager.out(@message)
80
- assert_not_nil result
78
+ refute_nil result
81
79
  assert_equal String, result.class
82
80
  end
83
81
 
@@ -1,6 +1,6 @@
1
1
  require "helper"
2
2
 
3
- class WebRepl::ReplTest < Test::Unit::TestCase
3
+ class WebRepl::ReplTest < Minitest::Test
4
4
 
5
5
  include WebRepl
6
6
 
@@ -11,4 +11,3 @@ class WebRepl::ReplTest < Test::Unit::TestCase
11
11
  end
12
12
 
13
13
  end
14
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web-repl
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.9'
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ari Russo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-14 00:00:00.000000000 Z
11
+ date: 2015-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -16,84 +16,140 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '0.7'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.7.7
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: '0'
29
+ version: '0.7'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.7.7
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: em-websocket
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0'
39
+ version: '0.5'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.5.1
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
47
  - - "~>"
39
48
  - !ruby/object:Gem::Version
40
- version: '0'
49
+ version: '0.5'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.5.1
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: rb-readline
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
57
  - - "~>"
46
58
  - !ruby/object:Gem::Version
47
- version: '0'
59
+ version: '0.5'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 0.5.2
48
63
  type: :runtime
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
52
67
  - - "~>"
53
68
  - !ruby/object:Gem::Version
54
- version: '0'
69
+ version: '0.5'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 0.5.2
73
+ - !ruby/object:Gem::Dependency
74
+ name: minitest
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '5.5'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 5.5.0
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '5.5'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 5.5.0
55
93
  - !ruby/object:Gem::Dependency
56
94
  name: mocha
57
95
  requirement: !ruby/object:Gem::Requirement
58
96
  requirements:
59
97
  - - "~>"
60
98
  - !ruby/object:Gem::Version
61
- version: '0'
99
+ version: '1.1'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 1.1.0
62
103
  type: :development
63
104
  prerelease: false
64
105
  version_requirements: !ruby/object:Gem::Requirement
65
106
  requirements:
66
107
  - - "~>"
67
108
  - !ruby/object:Gem::Version
68
- version: '0'
109
+ version: '1.1'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 1.1.0
69
113
  - !ruby/object:Gem::Dependency
70
114
  name: rake
71
115
  requirement: !ruby/object:Gem::Requirement
72
116
  requirements:
73
117
  - - "~>"
74
118
  - !ruby/object:Gem::Version
75
- version: '0'
119
+ version: '10.4'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 10.4.2
76
123
  type: :development
77
124
  prerelease: false
78
125
  version_requirements: !ruby/object:Gem::Requirement
79
126
  requirements:
80
127
  - - "~>"
81
128
  - !ruby/object:Gem::Version
82
- version: '0'
129
+ version: '10.4'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 10.4.2
83
133
  - !ruby/object:Gem::Dependency
84
134
  name: shoulda-context
85
135
  requirement: !ruby/object:Gem::Requirement
86
136
  requirements:
87
137
  - - "~>"
88
138
  - !ruby/object:Gem::Version
89
- version: '0'
139
+ version: '1.2'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 1.2.1
90
143
  type: :development
91
144
  prerelease: false
92
145
  version_requirements: !ruby/object:Gem::Requirement
93
146
  requirements:
94
147
  - - "~>"
95
148
  - !ruby/object:Gem::Version
96
- version: '0'
149
+ version: '1.2'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 1.2.1
97
153
  description: Javascript/Web REPL in Ruby
98
154
  email:
99
155
  - ari.russo@gmail.com
@@ -106,6 +162,7 @@ files:
106
162
  - README.md
107
163
  - bin/web-repl
108
164
  - js/replConnection-0.1.min.js
165
+ - js/replConnection-0.10.1.min.js
109
166
  - js/replConnection-0.3.min.js
110
167
  - js/replConnection-0.4.min.js
111
168
  - js/replConnection-0.5.min.js
@@ -146,3 +203,4 @@ summary: Javascript/Web REPL in Ruby
146
203
  test_files:
147
204
  - test/messenger_test.rb
148
205
  - test/repl_test.rb
206
+ has_rdoc: