ood_core 0.0.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.
@@ -0,0 +1,22 @@
1
+ module OodCore
2
+ # Namespace for Ruby refinements
3
+ module Refinements
4
+ # This module provides refinements for manipulating the Ruby {Array} class.
5
+ module ArrayExtensions
6
+ # Wrap its argument in an array unless it is already an array (or
7
+ # array-like)
8
+ # @see http://apidock.com/rails/Array/wrap/class
9
+ refine Array.singleton_class do
10
+ def wrap(object)
11
+ if object.nil?
12
+ []
13
+ elsif object.respond_to?(:to_ary)
14
+ object.to_ary || [object]
15
+ else
16
+ [object]
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,25 @@
1
+ module OodCore
2
+ # Namespace for Ruby refinements
3
+ module Refinements
4
+ # This module provides refinements for manipulating the Ruby {Hash} class.
5
+ module HashExtensions
6
+ refine Hash do
7
+ # Symbolize the keys in a {Hash}
8
+ def symbolize_keys
9
+ self.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
10
+ end
11
+
12
+ # Slices a hash to include only the given keys. Returns a hash
13
+ # containing the given keys.
14
+ # @example
15
+ # { a: 1, b: 2, c: 3, d: 4 }.slice(:a, :b)
16
+ # # => {:a=>1, :b=>2}
17
+ # @see http://apidock.com/rails/Hash/slice
18
+ def slice(*keys)
19
+ keys.map! { |key| convert_key(key) } if respond_to?(:convert_key, true)
20
+ keys.each_with_object(self.class.new) { |k, hash| hash[k] = self[k] if has_key?(k) }
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,4 @@
1
+ module OodCore
2
+ # The current version of {OodCore}
3
+ VERSION = "0.0.1"
4
+ end
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'ood_core/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "ood_core"
8
+ spec.version = OodCore::VERSION
9
+ spec.authors = ["Jeremy Nicklas"]
10
+ spec.email = ["jnicklas@osc.edu"]
11
+
12
+ spec.summary = %q{Open OnDemand core library}
13
+ spec.description = %q{Open OnDemand core library that provides support for an HPC Center to globally define HPC services that web applications can then take advantage of.}
14
+ spec.homepage = "https://github.com/OSC/ood_core"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
+ f.match(%r{^(test|spec|features)/})
19
+ end
20
+ spec.bindir = "exe"
21
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
+ spec.require_paths = ["lib"]
23
+ spec.required_ruby_version = ">= 2.2.0"
24
+
25
+ spec.add_runtime_dependency "ood_support", "~> 0.0.2"
26
+ spec.add_development_dependency "pbs", "~> 2.0", ">= 2.0.3"
27
+ spec.add_development_dependency "bundler", "~> 1.7"
28
+ spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.add_development_dependency "rspec", "~> 3.0"
30
+ spec.add_development_dependency "pry", "~> 0.10"
31
+ spec.add_development_dependency "timecop", "~> 0.8"
32
+ end
metadata ADDED
@@ -0,0 +1,182 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ood_core
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jeremy Nicklas
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-04-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ood_support
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: pbs
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 2.0.3
37
+ type: :development
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '2.0'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 2.0.3
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.7'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.7'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rake
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '10.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '10.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: pry
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.10'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0.10'
103
+ - !ruby/object:Gem::Dependency
104
+ name: timecop
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0.8'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0.8'
117
+ description: Open OnDemand core library that provides support for an HPC Center to
118
+ globally define HPC services that web applications can then take advantage of.
119
+ email:
120
+ - jnicklas@osc.edu
121
+ executables: []
122
+ extensions: []
123
+ extra_rdoc_files: []
124
+ files:
125
+ - ".gitignore"
126
+ - ".rspec"
127
+ - ".travis.yml"
128
+ - CHANGELOG.md
129
+ - Gemfile
130
+ - LICENSE.txt
131
+ - README.md
132
+ - Rakefile
133
+ - bin/console
134
+ - bin/setup
135
+ - lib/ood_core.rb
136
+ - lib/ood_core/acl/adapter.rb
137
+ - lib/ood_core/acl/adapters/group.rb
138
+ - lib/ood_core/acl/factory.rb
139
+ - lib/ood_core/cluster.rb
140
+ - lib/ood_core/clusters.rb
141
+ - lib/ood_core/errors.rb
142
+ - lib/ood_core/job/adapter.rb
143
+ - lib/ood_core/job/adapters/lsf.rb
144
+ - lib/ood_core/job/adapters/lsf/batch.rb
145
+ - lib/ood_core/job/adapters/lsf/helper.rb
146
+ - lib/ood_core/job/adapters/slurm.rb
147
+ - lib/ood_core/job/adapters/torque.rb
148
+ - lib/ood_core/job/factory.rb
149
+ - lib/ood_core/job/info.rb
150
+ - lib/ood_core/job/node_info.rb
151
+ - lib/ood_core/job/node_request.rb
152
+ - lib/ood_core/job/script.rb
153
+ - lib/ood_core/job/status.rb
154
+ - lib/ood_core/refinements/array_extensions.rb
155
+ - lib/ood_core/refinements/hash_extensions.rb
156
+ - lib/ood_core/version.rb
157
+ - ood_core.gemspec
158
+ homepage: https://github.com/OSC/ood_core
159
+ licenses:
160
+ - MIT
161
+ metadata: {}
162
+ post_install_message:
163
+ rdoc_options: []
164
+ require_paths:
165
+ - lib
166
+ required_ruby_version: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: 2.2.0
171
+ required_rubygems_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ requirements: []
177
+ rubyforge_project:
178
+ rubygems_version: 2.4.5
179
+ signing_key:
180
+ specification_version: 4
181
+ summary: Open OnDemand core library
182
+ test_files: []