parallax 0.3.1 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8550cb7115815b07ee890e22a8d9df2c956b8f7ed4c8d6b3e72cfbcb7045926c
4
- data.tar.gz: ab4ce11646317867bc4aca9e6a14b8877255afddc3bb7486831e3522feae7576
3
+ metadata.gz: aa828168056738a40c6c1b46c736ff17c1149add1bcee80a91f4b7a6524cdcda
4
+ data.tar.gz: 03076a28ea96c17b8a7eaab231e437479d5a3372670173ea647f573e3463b33a
5
5
  SHA512:
6
- metadata.gz: 62c77b06eb45b8ddfa0142c962d808ece8a44f41d39d7ec942ab320c59213b32fa83b814dc69b7095e8654b28d7f724046b53830dabd1fb58d9ce6823d00e6ac
7
- data.tar.gz: b9def74a52b5ec5132ec7bd26c28aeacecb33cfee4147c6281b5d59f31795cbb476c2f87fc35b89d16bde9be05ea9565848efef2cff1e568100fd76b2cfb074c
6
+ metadata.gz: 74e0149d570425c14c55ee7f5949f5f68444eebdf48d0b7ef30860067635cbfad3d264c4bb0a712f94ca16ac79dc869fc6b4f143ed6c6f4e52e1c1f9ecf2154e
7
+ data.tar.gz: 7a4cf5bc2c044a9c42266b901657d91ec4e6031f5a59b20d9c2b43fce66803f7ca5eb614ad531867459a4ef7b10153ea48d25cf6cad5edbc236a7360748aa471
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- parallax (0.3.1)
4
+ parallax (0.4.0)
5
5
  activesupport
6
+ msgpack
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
@@ -70,6 +71,7 @@ GEM
70
71
  mini_mime (1.0.1)
71
72
  mini_portile2 (2.4.0)
72
73
  minitest (5.11.3)
74
+ msgpack (1.2.4)
73
75
  nio4r (2.3.1)
74
76
  nokogiri (1.9.1)
75
77
  mini_portile2 (~> 2.4.0)
data/README.md CHANGED
@@ -42,7 +42,7 @@ end
42
42
 
43
43
  If you need inter-process communication, this can be done by calling `worker.send` and passing a list of arguments. The args are serialized and passed via IO pipe to a `collector` object, which is by default an instance of `Parallax::Collector` class. The collector then parses the args and treats them like a method call where the first arg is the name of the method.
44
44
 
45
- There are a number of predefined methods, build on top of `worker.send` that you can call to do a number of tasks:
45
+ There are a number of predefined methods, built on top of `worker.send` that you can call to do a number of tasks:
46
46
  * `log`: Used in the example above, the collectors calls the `log` method which prints the message to the stdout.
47
47
  * `store`: Saves the argument object into a variable called `workers_data` in the collector.
48
48
 
data/Rakefile CHANGED
@@ -4,3 +4,7 @@ require "rspec/core/rake_task"
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
6
  task :default => :spec
7
+
8
+ task :console do
9
+ exec "irb -r parallax -I ./lib"
10
+ end
@@ -33,7 +33,7 @@ module Parallax
33
33
  #
34
34
  # @return [String] the received data.
35
35
  def receive
36
- self.collect @receiving_stream.gets.chomp
36
+ self.collect @receiving_stream.gets.chomp.gsub("\t", "\n")
37
37
  end
38
38
 
39
39
  ##
@@ -44,7 +44,7 @@ module Parallax
44
44
  #
45
45
  # @return [Object] the execution of the interpreted method.
46
46
  def collect(message)
47
- worker_index, method, *arguments = eval(message)
47
+ worker_index, method, *arguments = YAML.load(message)
48
48
  self.send method, worker_index, *arguments
49
49
  end
50
50
 
@@ -1,3 +1,3 @@
1
1
  module Parallax
2
- VERSION = '0.3.1'
2
+ VERSION = '0.4.0'
3
3
  end
@@ -26,7 +26,7 @@ module Parallax
26
26
  #
27
27
  # @return [String] a string representation of the packed message.
28
28
  def pack(*args)
29
- [ self.index, *args ].inspect
29
+ [ self.index, *args ].to_yaml.gsub("\n", "\t")
30
30
  end
31
31
 
32
32
  ##
data/lib/parallax.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'yaml'
1
2
  require 'active_support/core_ext/array'
2
3
 
3
4
  require 'parallax/version'
data/parallax.gemspec CHANGED
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ['lib']
24
24
 
25
25
  spec.add_dependency 'activesupport'
26
+ spec.add_dependency 'msgpack'
26
27
 
27
28
  spec.add_development_dependency 'bundler', '>= 1.17'
28
29
  spec.add_development_dependency 'rake', '>= 10.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parallax
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francesco Ballardin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-20 00:00:00.000000000 Z
11
+ date: 2018-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: msgpack
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement