newline_hw 1.1.0 → 1.1.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: 47e9a294c46a166978832a4c69eb2799929c3269
4
- data.tar.gz: 0d8a73542cba16a4c3d87b82d3affa95d272eec0
3
+ metadata.gz: 006d1fcbcffa671ac54794cdedb9df83e7b59aa6
4
+ data.tar.gz: 45198d4a1e3f9d9b7537a5c8e3a9f94b9fcf699f
5
5
  SHA512:
6
- metadata.gz: 622cdabdaaea06f40f03461dbcca2842d4bb4f234b0e512ac4eed1a53943f4aceeea8bc9a7c69cadaff4c0956528dcee05ea41b49b0cb23d3119e9fbb6b8c9c8
7
- data.tar.gz: cd7a505d02f64a3e17f5d111fc4ec53fa8d8d79286f2575644e3716d21dcd3c0a4b90569aeacc55c4db5eb0dca3b2570dffafdab48f32c1369e0b998a696c913
6
+ metadata.gz: 5d6293df57b622eb50fa4d32a01b729361278faad0ad4b4180fbe20f9f153e92d8ca054de3f3e48bc34adeeff5ebaae5176c5dae6493fcbb58e09f34690e07dc
7
+ data.tar.gz: 17777115ba1343f504f73bfebf19ff44bd85d691a4e89f26b21b81aab445c203e9615044749af2747b91505f270e6162e69f421e74f8ea6fde9476afe1e59877
@@ -6,7 +6,7 @@ module NewlineHw
6
6
  module_function
7
7
 
8
8
  def binary_path
9
- File.expand_path File.join(__FILE__, "..", "..", "..", "exe", "newline_hw_stream_shim")
9
+ File.expand_path File.join(NewlineHw.root_path, "exe", "newline_hw_stream_shim")
10
10
  end
11
11
 
12
12
  def native_messaging_manifest_path
@@ -16,7 +16,7 @@ module NewlineHw
16
16
  def generate
17
17
  {
18
18
  name: NAME,
19
- description: spec.description,
19
+ description: "Quickly Clone and setup basic ruby and JS projects.",
20
20
  path: binary_path,
21
21
  type: "stdio",
22
22
  allowed_origins: [
@@ -28,7 +28,7 @@ module NewlineHw
28
28
 
29
29
  def write
30
30
  create_native_messaging_manifest_directory
31
-
31
+
32
32
  File.open(native_messaging_manifest_path, "w+") do |f|
33
33
  f.write(JSON.pretty_generate(generate))
34
34
  end
@@ -38,9 +38,5 @@ module NewlineHw
38
38
  return if Dir.exist?(File.dirname(native_messaging_manifest_path))
39
39
  Dir.mkdir(File.dirname(native_messaging_manifest_path))
40
40
  end
41
-
42
- private def spec
43
- @_gemspec ||= Gem::Specification.load("newline_hw.gemspec")
44
- end
45
41
  end
46
42
  end
@@ -14,8 +14,6 @@ module NewlineHw
14
14
  desc "install newlinehw config file and chrome adapter",
15
15
  "will setup a logging file and a chrome manifest to allow this app to be communicated to by the newline-assistant chrome extension."
16
16
  def install
17
- NewlineHw.make_log_directory
18
- ChromeManifest.write
19
17
  NewlineHw::Config.install_default
20
18
  say "Installed a config file to `#{NewlineHw::Config::CONFIG_PATH}`"
21
19
  install_chrome
@@ -14,29 +14,36 @@ module NewlineHw
14
14
 
15
15
  def on_message(&block)
16
16
  loop do
17
- msg = read_native_message
17
+ msg = self.class.read_native_json_message(@stdin)
18
18
  sleep(SHUTDOWN_PAUSE) && exit(0) unless msg
19
19
  @logger.debug "Receiving Message #{msg} of size:#{msg.length}"
20
20
  instance_exec(msg, &block)
21
21
  end
22
22
  end
23
23
 
24
- def read_native_message
24
+ def send_message(message)
25
+ @logger.debug "Sending Message: #{message}"
26
+ self.class.write_message(@stdout, message)
27
+ end
28
+
29
+ def self.write_message(io, msg)
30
+ msg = msg.to_json
31
+ io.write [msg.length].pack("I")
32
+ io.write(msg)
33
+ io.flush
34
+ end
35
+
36
+ def self.read_native_json_message(io)
25
37
  # Read signed integer with a max length of 4 bytes.
26
- text_length_bytes = @stdin.read(4)
38
+ text_length_bytes = io.read(4)
27
39
  return unless text_length_bytes
28
40
 
29
41
  # Unpack bytes in a ruby int.
30
42
  text_length = text_length_bytes.unpack("i")[0]
31
- JSON.parse(@stdin.read(text_length))
32
- end
33
-
34
- def send_message(message)
35
- m = message.to_json
36
- @logger.debug "Sending Message: #{m.length} #{m}"
37
- @stdout.write [m.length].pack("I")
38
- @stdout.write(m)
39
- @stdout.flush
43
+ text = io.read(text_length)
44
+ JSON.parse(text)
45
+ rescue JSON::ParserError
46
+ puts text
40
47
  end
41
48
  end
42
49
  end
@@ -1,3 +1,3 @@
1
1
  module NewlineHw
2
- VERSION = "1.1.0".freeze
2
+ VERSION = "1.1.1".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newline_hw
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Russell Osborne
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-08 00:00:00.000000000 Z
11
+ date: 2017-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport