quartz 0.2.3 → 0.2.4

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: 39afea8c7e6257e1015e85a28419bfe839879c2b
4
- data.tar.gz: dd1345ed700b6e1b343d382436ed14f3032352ef
3
+ metadata.gz: 91e68a31484058746ae143cb282f937a99b10b63
4
+ data.tar.gz: c7b3119b2f4628dbcdc7888d478d8e6f533778e1
5
5
  SHA512:
6
- metadata.gz: bad1814c347eb1e6727b208bb30b09b288af48f18a5a3e2014cd5e20d1e9108fda38e1c86388c2177913db07b0e14ca7b82d0d4b0d1657645cac2b1570cb29a8
7
- data.tar.gz: c8913655aea693c38519c7fe4165d31f9f85708f73ac648d4b2fa3a2f26365f1b1c2e068c0ec3ec9e34bb01a72d37c594bea3e091fbec3c695b9038de7931e3d
6
+ metadata.gz: 090d499ed69646a90a667f09b4d8bfc27cb9fbfab492943dcc8bb76da79ed28b799022457b57a0165defe8a3b587988e304f92050d15e855668c69f38408a691
7
+ data.tar.gz: 53b8de60e6f2acc60c5af92e130b70ac3405a49f72633c426c44d97bd02bd654c59577c6320ba28212da39ecd122b37b350383d2d7584e6439692e6a8711ac7b
data/README.md CHANGED
@@ -17,9 +17,9 @@ the `examples/` directory.
17
17
 
18
18
  Quartz shares Go code by exporting methods on a struct to Ruby.
19
19
 
20
- Quartz requires that all arguments to exported struct methods be JSON-serializable
20
+ Quartz requires that all arguments to exported struct methods be JSON serializable
21
21
  types. Additionally, the arguments to an exported method should be of the form
22
- `(A, *B)`, where `A` and `B` are JSON-serializable types. The method should also
22
+ `(A, *B)`, where `A` and `B` are JSON serializable types. The method should also
23
23
  return an error. Here's an example of an exportable struct and method:
24
24
 
25
25
  ```go
@@ -40,6 +40,10 @@ func (t *Adder) Add(args Args, response *Response) error {
40
40
  }
41
41
  ```
42
42
 
43
+ For more information regarding Go's RPC rules, which must still be followed
44
+ when using quartz, please examine the official documentation for
45
+ the `net/rpc` package [here](http://golang.org/pkg/net/rpc/).
46
+
43
47
  ## Preparing a Quartz RPC server in Go
44
48
 
45
49
  Instead of integrating Quartz into an existing Go application,
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.3
1
+ 0.2.4
@@ -16,6 +16,8 @@ type FindIPsResponse struct {
16
16
  HostnameToIPs map[string][]net.IP
17
17
  }
18
18
 
19
+ // Concurrently resolves all hostnames in the input struct
20
+ // to IPs.
19
21
  func (r *Resolver) FindIPs(args FindIPsArgs, response *FindIPsResponse) error {
20
22
  *response = FindIPsResponse{}
21
23
  response.HostnameToIPs = make(map[string][]net.IP)
@@ -15,7 +15,7 @@ type Quartz struct {
15
15
  Registry map[string]*StructMetadata
16
16
  }
17
17
 
18
- // Return's the struct registry. This method is exported via RPC
18
+ // Returns the struct registry. This method is exported via RPC
19
19
  // so that the Ruby client can have knowledge about which structs and
20
20
  // which methods are exported.
21
21
  func (q *Quartz) GetMetadata(_ interface{}, value *map[string]*StructMetadata) error {
@@ -8,10 +8,7 @@ end
8
8
  require 'quartz/go_process'
9
9
  require 'quartz/go_struct'
10
10
  require 'quartz/client'
11
+ require 'quartz/validations'
11
12
 
12
- # Check if go is installed
13
- go_exists = ENV['PATH'].split(File::PATH_SEPARATOR).any? do |directory|
14
- File.exist?(File.join(directory, 'go'))
15
- end
16
-
17
- raise 'Go not installed' unless go_exists
13
+ Quartz::Validations.check_for_go
14
+ Quartz::Validations.check_go_quartz_version
@@ -0,0 +1,25 @@
1
+ module Quartz::Validations
2
+
3
+ def self.check_for_go
4
+ go_exists = ENV['PATH'].split(File::PATH_SEPARATOR).any? do |directory|
5
+ File.exist?(File.join(directory, 'go'))
6
+ end
7
+
8
+ raise 'Go not installed' unless go_exists
9
+ end
10
+
11
+ def self.check_go_quartz_version
12
+ current_pulse = File.read(File.join(File.dirname(__FILE__), '../../go/quartz/quartz.go'))
13
+ installed_pulse = File.read(File.join(ENV['GOPATH'],
14
+ 'src/github.com/DavidHuie/quartz/go/quartz/quartz.go'))
15
+
16
+ if current_pulse != installed_pulse
17
+ STDERR.write <<-EOS
18
+ Warning: the version of Quartz in $GOPATH does not match
19
+ the version packaged with the gem. Please update the Go
20
+ Quartz package.
21
+ EOS
22
+ end
23
+ end
24
+
25
+ end
@@ -2,14 +2,13 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: quartz 0.2.3 ruby lib
5
+ # stub: quartz 0.2.4 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "quartz"
9
- s.version = "0.2.3"
9
+ s.version = "0.2.4"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
12
  s.authors = ["David Huie"]
14
13
  s.date = "2014-06-23"
15
14
  s.description = "A gem for calling Go code from Ruby"
@@ -34,6 +33,7 @@ Gem::Specification.new do |s|
34
33
  "lib/quartz/client.rb",
35
34
  "lib/quartz/go_process.rb",
36
35
  "lib/quartz/go_struct.rb",
36
+ "lib/quartz/validations.rb",
37
37
  "quartz.gemspec",
38
38
  "spec/client_spec.rb",
39
39
  "spec/go_process_spec.rb",
@@ -43,7 +43,8 @@ Gem::Specification.new do |s|
43
43
  ]
44
44
  s.homepage = "http://github.com/DavidHuie/quartz"
45
45
  s.licenses = ["MIT"]
46
- s.rubygems_version = "2.2.2"
46
+ s.require_paths = ["lib"]
47
+ s.rubygems_version = "2.1.11"
47
48
  s.summary = "A gem for calling Go code from Ruby"
48
49
 
49
50
  if s.respond_to? :specification_version then
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quartz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Huie
@@ -14,42 +14,42 @@ dependencies:
14
14
  name: rspec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.8.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.8.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jeweler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: 2.0.1
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.0.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: simplecov
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.8.2
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.8.2
55
55
  description: A gem for calling Go code from Ruby
@@ -60,8 +60,8 @@ extra_rdoc_files:
60
60
  - LICENSE.txt
61
61
  - README.md
62
62
  files:
63
- - ".rspec"
64
- - ".travis.yml"
63
+ - .rspec
64
+ - .travis.yml
65
65
  - Gemfile
66
66
  - Gemfile.lock
67
67
  - LICENSE.txt
@@ -75,6 +75,7 @@ files:
75
75
  - lib/quartz/client.rb
76
76
  - lib/quartz/go_process.rb
77
77
  - lib/quartz/go_struct.rb
78
+ - lib/quartz/validations.rb
78
79
  - quartz.gemspec
79
80
  - spec/client_spec.rb
80
81
  - spec/go_process_spec.rb
@@ -91,17 +92,17 @@ require_paths:
91
92
  - lib
92
93
  required_ruby_version: !ruby/object:Gem::Requirement
93
94
  requirements:
94
- - - ">="
95
+ - - '>='
95
96
  - !ruby/object:Gem::Version
96
97
  version: '0'
97
98
  required_rubygems_version: !ruby/object:Gem::Requirement
98
99
  requirements:
99
- - - ">="
100
+ - - '>='
100
101
  - !ruby/object:Gem::Version
101
102
  version: '0'
102
103
  requirements: []
103
104
  rubyforge_project:
104
- rubygems_version: 2.2.2
105
+ rubygems_version: 2.1.11
105
106
  signing_key:
106
107
  specification_version: 4
107
108
  summary: A gem for calling Go code from Ruby