girdle 0.0.5 → 0.0.6

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.
data/Gemfile CHANGED
@@ -1,7 +1,4 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in girdle.gemspec
4
- gemspec
5
-
6
- gem 'nokogiri'
7
- gem 'nokogiri-plist'
4
+ gemspec
@@ -3,6 +3,63 @@ Girdle
3
3
 
4
4
  A client for submitting and managing Xgrid jobs.
5
5
 
6
+ Installation
7
+ ------------
8
+
9
+ gem install girdle
10
+
11
+ Usage
12
+ -----
13
+
14
+ Create a job specification:
15
+
16
+ spec = Girdle::Specification.new(name: 'example_spec', notification_email: 'admin@example.com')
17
+
18
+ Add a task:
19
+
20
+ spec.tasks << Girdle::Task.new(name: 'hello', command: '/usr/bin/say',
21
+ arguments: ['hello'])
22
+
23
+ Add another, this one dependent on the first:
24
+
25
+ spec.tasks << Girdle::Task.new(name: 'world', command: '/usr/bin/say',
26
+ arguments: ['world'], depends_on: ['hello'])
27
+
28
+ Submit the specification and return an id:
29
+
30
+ job_id = Girdle::Job.batch(spec.to_plist)
31
+
32
+ Create a new job using the returned id:
33
+
34
+ job = Girdle::Job.new(job_id)
35
+
36
+ Check its status:
37
+
38
+ job.status
39
+
40
+ Control its state:
41
+
42
+ job.suspend
43
+ job.resume
44
+ job.restart
45
+ job.stop
46
+
47
+ Review its task log:
48
+
49
+ job.log
50
+
51
+ View its results:
52
+
53
+ job.results
54
+
55
+ Delete it:
56
+
57
+ job.delete
58
+
59
+ List all jobs:
60
+
61
+ Girdle::Job.list
62
+
6
63
  License
7
64
  -------
8
65
 
@@ -1,15 +1,14 @@
1
- require 'bundler'
1
+ require 'bundler/setup'
2
+
2
3
  require 'nokogiri'
3
4
  require 'nokogiri-plist'
4
5
 
5
- require_relative 'girdle/version'
6
-
7
- require_relative 'girdle/task'
8
- require_relative 'girdle/specification'
9
- require_relative 'girdle/job'
10
-
11
- require_relative 'girdle/grid'
12
- require_relative 'girdle/controller'
6
+ require 'girdle/version'
7
+ require 'girdle/task'
8
+ require 'girdle/specification'
9
+ require 'girdle/job'
10
+ require 'girdle/grid'
11
+ require 'girdle/controller'
13
12
 
14
13
  module Girdle
15
14
  extend self
@@ -25,7 +25,7 @@ module Girdle
25
25
  end
26
26
 
27
27
  def attributes
28
- @attributes ||= Girdle.run(job: 'attributes', id: id)['jobAttributes']
28
+ Girdle.run(job: 'attributes', id: id)['jobAttributes']
29
29
  end
30
30
 
31
31
  def active_cpu_power
@@ -8,7 +8,7 @@ module Girdle
8
8
  @name = options[:name]
9
9
  @command = options[:command]
10
10
  @arguments = options[:arguments]
11
- @depends_on = options[:depends_on]
11
+ @depends_on = options[:depends_on] || []
12
12
  end
13
13
 
14
14
  end
@@ -1,3 +1,3 @@
1
1
  module Girdle
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -1,4 +1,4 @@
1
- require_relative '../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Girdle::Controller do
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative '../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Girdle::Grid do
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative '../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Girdle::Job do
4
4
 
@@ -1,37 +1,4 @@
1
- require_relative '../spec_helper'
2
-
3
- def plist
4
- <<-EOS
5
- <?xml version="1.0"?>
6
- <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
7
- <plist version="1.0">
8
- <array>
9
- <dict>
10
- <key>name</key>
11
- <string>specification name</string>
12
- <key>notificationEmail</key>
13
- <string>email@example.com</string>
14
- <key>taskSpecifications</key>
15
- <dict>
16
- <key>task name</key>
17
- <dict>
18
- <key>arguments</key>
19
- <array>
20
- <string>hello</string>
21
- </array>
22
- <key>command</key>
23
- <string>/bin/echo</string>
24
- <key>dependsOnTasks</key>
25
- <array>
26
- <string>another task</string>
27
- </array>
28
- </dict>
29
- </dict>
30
- </dict>
31
- </array>
32
- </plist>
33
- EOS
34
- end
1
+ require 'spec_helper'
35
2
 
36
3
  describe Girdle::Specification do
37
4
 
@@ -63,6 +30,36 @@ describe Girdle::Specification do
63
30
  end
64
31
 
65
32
  it 'must render itself as a plist' do
33
+ plist = <<-EOS
34
+ <?xml version="1.0"?>
35
+ <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
36
+ <plist version="1.0">
37
+ <array>
38
+ <dict>
39
+ <key>name</key>
40
+ <string>specification name</string>
41
+ <key>notificationEmail</key>
42
+ <string>email@example.com</string>
43
+ <key>taskSpecifications</key>
44
+ <dict>
45
+ <key>task name</key>
46
+ <dict>
47
+ <key>arguments</key>
48
+ <array>
49
+ <string>hello</string>
50
+ </array>
51
+ <key>command</key>
52
+ <string>/bin/echo</string>
53
+ <key>dependsOnTasks</key>
54
+ <array>
55
+ <string>another task</string>
56
+ </array>
57
+ </dict>
58
+ </dict>
59
+ </dict>
60
+ </array>
61
+ </plist>
62
+ EOS
66
63
  @spec.to_plist.must_equal plist
67
64
  end
68
65
 
@@ -1,4 +1,4 @@
1
- require_relative '../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe Girdle::Task do
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  def plist
4
4
  <<-EOS
@@ -3,5 +3,4 @@ require 'minitest/autorun'
3
3
  require 'bundler'
4
4
  Bundler.require(:development)
5
5
 
6
-
7
- require_relative '../lib/girdle'
6
+ require 'girdle'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: girdle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-18 00:00:00.000000000Z
12
+ date: 2011-08-19 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &70333927434400 !ruby/object:Gem::Requirement
16
+ requirement: &70127451669460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70333927434400
24
+ version_requirements: *70127451669460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: guard
27
- requirement: &70333928166280 !ruby/object:Gem::Requirement
27
+ requirement: &70127451669040 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70333928166280
35
+ version_requirements: *70127451669040
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: guard-minitest
38
- requirement: &70333928175280 !ruby/object:Gem::Requirement
38
+ requirement: &70127451692420 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70333928175280
46
+ version_requirements: *70127451692420
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rb-fsevent
49
- requirement: &70333928243640 !ruby/object:Gem::Requirement
49
+ requirement: &70127451692000 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70333928243640
57
+ version_requirements: *70127451692000
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: growl_notify
60
- requirement: &70333928324500 !ruby/object:Gem::Requirement
60
+ requirement: &70127451691580 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70333928324500
68
+ version_requirements: *70127451691580
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mocha
71
- requirement: &70333928431280 !ruby/object:Gem::Requirement
71
+ requirement: &70127451691160 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70333928431280
79
+ version_requirements: *70127451691160
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: nokogiri
82
- requirement: &70333928542520 !ruby/object:Gem::Requirement
82
+ requirement: &70127451690740 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70333928542520
90
+ version_requirements: *70127451690740
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: nokogiri-plist
93
- requirement: &70333928588860 !ruby/object:Gem::Requirement
93
+ requirement: &70127451690320 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: '0'
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70333928588860
101
+ version_requirements: *70127451690320
102
102
  description: An Xgrid client
103
103
  email:
104
104
  - jamiehodge@me.com