newline_hw 1.1.0 → 1.1.1

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 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