penelope-server 0.0.1-java

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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: cf944ce05e7ed1ee8c659795511ef43b9b1b90c7
4
+ data.tar.gz: 092059ea0225b9d1fcdf7b039cef81546d902efd
5
+ SHA512:
6
+ metadata.gz: d4b4cf1bed6f76859a543353f94ed52bc8ba77ce26270fadeb46a3529137af1b7aeb90ffe7ba4b031c6f62e18bd8c76f96ea2713c89d9d473b918d8bccf3dd76
7
+ data.tar.gz: d2d62f4c0bab963fd62af65465b60a2f06df80c07f23faf562b6687bc2e7d2e50858b0b31170b4895ef682d6f756bd1480721808552cae75618d6df0342122d3
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.war
11
+ *.gem
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,13 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.3.1
5
+ before_install: gem install bundler -v 1.12.5
6
+ deploy:
7
+ provider: rubygems
8
+ api_key:
9
+ secure: Zd9NtpMKtbEvK3yYn0HXNz/xhf0x6eBdagXdQctje3RKABwNNMFHsUjhokOkuDh9umS0dhAV9OyKniegfnHknpfTHO6sdKEEJnW/3b2mJQxQ0PMeiej5E/zAWA1pp564M7fP8rJ7bugNoecneiH5yq6DnsYYT+7Xn0pNlX1N0qm2+mlTJMGA8Oq2+4U/Ek/GAHB1dOmk2VbG+0JCztzk4Yc5VHsPSrbm737UfRR26p1sJbE4ICKyyEhkWV58+y8nJr96T80IcxVS6PFjcBpn0+aLzXUVS0Cw3e29IUgAB2iMMQYbXdfaIx3uls8CiQVbAHJxNZ/fUr0ByN682314AGO6Pa4y+WEFcSfePSgG/dLSFW5wRRjm+dojMsEMFarwSxQjzlBEmvZ0GWpLU1O41RPnAWk9LeL3sLuio3OROl4Xw7BbPjEYdaOe3HHDq1kbQncbcvmBYOHsxeD5+SbBIte4Clh6emm8l4YP0E7ByBozBuHI4Q5Ij9wDV74RXSPM52KYKBDgTa/NWvbh1RsVQP3q/q6PfItqM34Uv+vIeURyK4i7Itdop64Z5x+snTuBJtd/6BZwm6q5H1wVO1QmC3XckL9gU5PfJLzgZaBqrid4i3LGZsMAn+Iqjs9WHMKWuw8wNMCN4N5AZVm6udvgqj30UlbF5x5SGgRKg6uNRVc=
10
+ gem: penelope-server
11
+ on:
12
+ tags: true
13
+ repo: jgnagy/penelope-server
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in penelope-server.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2017 Jonathan Gnagy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,41 @@
1
+ # Penelope::Server
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/penelope/server`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'penelope-server'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install penelope-server
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/penelope-server.
36
+
37
+
38
+ ## License
39
+
40
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
41
+
@@ -0,0 +1,13 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+ require 'rubocop/rake_task'
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
6
+ RuboCop::RakeTask.new(:rubocop)
7
+
8
+ task default: [:spec, :rubocop]
9
+
10
+ desc "Start the demo using `rackup`"
11
+ task :start do
12
+ exec "rackup config.ru"
13
+ end
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "penelope/server"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,8 @@
1
+ require 'penelope/server'
2
+ require 'resque/server'
3
+
4
+ use Rack::ShowExceptions
5
+
6
+ run Rack::URLMap.new \
7
+ '/' => Penelope::Server::Service.new,
8
+ '/qmon' => Resque::Server.new
@@ -0,0 +1,187 @@
1
+ # Disable Rake-environment-task framework detection by uncommenting/setting to false
2
+ # Warbler.framework_detection = false
3
+
4
+ # Warbler web application assembly configuration file
5
+ Warbler::Config.new do |config|
6
+ # Features: additional options controlling how the jar is built.
7
+ # Currently the following features are supported:
8
+ # - *gemjar*: package the gem repository in a jar file in WEB-INF/lib
9
+ # - *executable*: embed a web server and make the war executable
10
+ # - *runnable*: allows to run bin scripts e.g. `java -jar my.war -S rake -T`
11
+ # - *compiled*: compile .rb files to .class files
12
+ # config.features = %w(gemjar)
13
+ config.features = %w(executable)
14
+
15
+ # Application directories to be included in the webapp.
16
+ # config.dirs = %w(app config db lib log script vendor tmp)
17
+ config.dirs = %w(config lib)
18
+
19
+ # Additional files/directories to include, above those in config.dirs
20
+ # config.includes = FileList["db"]
21
+ config.includes = FileList['config.ru']
22
+
23
+ # Additional files/directories to exclude
24
+ # config.excludes = FileList["lib/tasks/*"]
25
+
26
+ # Additional Java .jar files to include. Note that if .jar files are placed
27
+ # in lib (and not otherwise excluded) then they need not be mentioned here.
28
+ # JRuby and JRuby-Rack are pre-loaded in this list. Be sure to include your
29
+ # own versions if you directly set the value
30
+ # config.java_libs += FileList["lib/java/*.jar"]
31
+
32
+ # Loose Java classes and miscellaneous files to be included.
33
+ # config.java_classes = FileList["target/classes/**.*"]
34
+
35
+ # One or more pathmaps defining how the java classes should be copied into
36
+ # the archive. The example pathmap below accompanies the java_classes
37
+ # configuration above. See http://rake.rubyforge.org/classes/String.html#M000017
38
+ # for details of how to specify a pathmap.
39
+ # config.pathmaps.java_classes << "%{target/classes/,}p"
40
+
41
+ # Bundler support is built-in. If Warbler finds a Gemfile in the
42
+ # project directory, it will be used to collect the gems to bundle
43
+ # in your application. If you wish to explicitly disable this
44
+ # functionality, uncomment here.
45
+ # config.bundler = false
46
+
47
+ # An array of Bundler groups to avoid including in the war file.
48
+ # Defaults to ["development", "test", "assets"].
49
+ # config.bundle_without = []
50
+
51
+ # Other gems to be included. If you don't use Bundler or a gemspec
52
+ # file, you need to tell Warbler which gems your application needs
53
+ # so that they can be packaged in the archive.
54
+ # For Rails applications, the Rails gems are included by default
55
+ # unless the vendor/rails directory is present.
56
+ # config.gems += ["activerecord-jdbcmysql-adapter", "jruby-openssl"]
57
+ # config.gems << "tzinfo"
58
+
59
+ # Uncomment this if you don't want to package rails gem.
60
+ config.gems -= ['rails']
61
+
62
+ # The most recent versions of gems are used.
63
+ # You can specify versions of gems by using a hash assignment:
64
+ # config.gems["rails"] = "4.2.5"
65
+
66
+ # You can also use regexps or Gem::Dependency objects for flexibility or
67
+ # finer-grained control.
68
+ # config.gems << /^sinatra-/
69
+ # config.gems << Gem::Dependency.new("sinatra", "= 1.4.7")
70
+
71
+ # Include gem dependencies not mentioned specifically. Default is
72
+ # true, uncomment to turn off.
73
+ # config.gem_dependencies = false
74
+
75
+ # Array of regular expressions matching relative paths in gems to be
76
+ # excluded from the war. Defaults to empty, but you can set it like
77
+ # below, which excludes test files.
78
+ # config.gem_excludes = [/^(test|spec)\//]
79
+
80
+ # Pathmaps for controlling how application files are copied into the archive
81
+ # config.pathmaps.application = ["WEB-INF/%p"]
82
+
83
+ # Name of the archive (without the extension). Defaults to the basename
84
+ # of the project directory.
85
+ # config.jar_name = "mywar"
86
+ config.jar_name = 'penelope-server'
87
+
88
+ # File extension for the archive. Defaults to either 'jar' or 'war'.
89
+ # config.jar_extension = "jar"
90
+
91
+ # Destionation for the created archive. Defaults to project's root directory.
92
+ # config.autodeploy_dir = "dist/"
93
+
94
+ # Name of the MANIFEST.MF template for the war file. Defaults to a simple
95
+ # MANIFEST.MF that contains the version of Warbler used to create the war file.
96
+ # config.manifest_file = "config/MANIFEST.MF"
97
+
98
+ # When using the 'compiled' feature and specified, only these Ruby
99
+ # files will be compiled. Default is to compile all \.rb files in
100
+ # the application.
101
+ # config.compiled_ruby_files = FileList['app/**/*.rb']
102
+
103
+ # Determines if ruby files in supporting gems will be compiled.
104
+ # Ignored unless compile feature is used.
105
+ # config.compile_gems = false
106
+ config.compile_gems = true
107
+
108
+ # When set it specify the bytecode version for compiled class files
109
+ # config.bytecode_version = "1.6"
110
+
111
+ # When set to true, Warbler will override the value of ENV['GEM_HOME'] even it
112
+ # has already been set. When set to false it will use any existing value of
113
+ # GEM_HOME if it is set.
114
+ # config.override_gem_home = true
115
+
116
+ # Allows for specifing custom executables
117
+ # config.executable = ["rake", "bin/rake"]
118
+
119
+ # Sets default (prefixed) parameters for the executables
120
+ # config.executable_params = "do:something"
121
+
122
+ # If set to true, moves jar files into WEB-INF/lib. Prior to version 1.4.2 of Warbler this was done
123
+ # by default. But since 1.4.2 this config defaults to false. It may need to be set to true for
124
+ # web servers that do not explode the WAR file.
125
+ # Alternatively, this option can be set to a regular expression, which will
126
+ # act as a jar selector -- only jar files that match the pattern will be
127
+ # included in the archive.
128
+ # config.move_jars_to_webinf_lib = false
129
+
130
+ # === War files only below here ===
131
+
132
+ # Embedded webserver to use with the 'executable' feature. Currently supported
133
+ # webservers are:
134
+ # - *jetty* - Embedded Jetty from Eclipse
135
+ # config.webserver = 'jetty'
136
+
137
+ # Path to the pre-bundled gem directory inside the war file. Default
138
+ # is 'WEB-INF/gems'. Specify path if gems are already bundled
139
+ # before running Warbler. This also sets 'gem.path' inside web.xml.
140
+ # config.gem_path = "WEB-INF/vendor/bundler_gems"
141
+
142
+ # Files for WEB-INF directory (next to web.xml). This contains
143
+ # web.xml by default. If there is an .erb-File it will be processed
144
+ # with webxml-config. You may want to exclude this file via
145
+ # config.excludes.
146
+ # config.webinf_files += FileList["jboss-web.xml"]
147
+
148
+ # Files to be included in the root of the webapp. Note that files in public
149
+ # will have the leading 'public/' part of the path stripped during staging.
150
+ # config.public_html = FileList["public/**/*", "doc/**/*"]
151
+
152
+ # Pathmaps for controlling how public HTML files are copied into the .war
153
+ # config.pathmaps.public_html = ["%{public/,}p"]
154
+
155
+ # Value of RAILS_ENV for the webapp -- default as shown below
156
+ # config.webxml.rails.env = ENV['RAILS_ENV'] || 'production'
157
+
158
+ # Public ROOT mapping, by default assets are copied into .war ROOT directory.
159
+ # config.public.root = ''
160
+
161
+ # Application booter to use, either :rack or :rails (autodetected by default)
162
+ # config.webxml.booter = :rails
163
+
164
+ # When using the :rack booter, "Rackup" script to use.
165
+ # - For 'rackup.path', the value points to the location of the rackup
166
+ # script in the web archive file. You need to make sure this file
167
+ # gets included in the war, possibly by adding it to config.includes
168
+ # or config.webinf_files above.
169
+ # - For 'rackup', the rackup script you provide as an inline string
170
+ # is simply embedded in web.xml.
171
+ # The script is evaluated in a Rack::Builder to load the application.
172
+ # Examples:
173
+ # config.webxml.rackup.path = 'WEB-INF/hello.ru'
174
+ # config.webxml.rackup = %{require './lib/demo'; run Rack::Adapter::Camping.new(Demo)}
175
+ # config.webxml.rackup = require 'cgi' && CGI::escapeHTML(File.read("config.ru"))
176
+
177
+ # Control the pool of Rails runtimes. Leaving unspecified means
178
+ # the pool will grow as needed to service requests. It is recommended
179
+ # that you fix these values when running a production server!
180
+ # If you're using threadsafe! mode, you probably don't want to set these values,
181
+ # since 1 runtime(default for threadsafe mode) will be enough.
182
+ # config.webxml.jruby.min.runtimes = 2
183
+ # config.webxml.jruby.max.runtimes = 4
184
+
185
+ # JNDI data source name
186
+ # config.webxml.jndi = 'jdbc/rails'
187
+ end
@@ -0,0 +1,26 @@
1
+ # Standard Library Requirements
2
+
3
+ # External Requirements
4
+ require 'penelope/core'
5
+ require 'sinatra/base'
6
+ require 'tilt/erb'
7
+
8
+ # Internal Requirements
9
+ module Penelope
10
+ module Server
11
+ CONFIG = Core::CONFIG.merge(
12
+ {
13
+ redis: {
14
+ host: ENV['PENELOPE_REDIS_HOST'] ? ENV['PENELOPE_REDIS_HOST'] : 'localhost',
15
+ port: ENV['PENELOPE_REDIS_PORT'] ? ENV['PENELOPE_REDIS_PORT'] : '6379'
16
+ }
17
+ }
18
+ )
19
+ end
20
+ end
21
+
22
+ redis_config = Penelope::Server::CONFIG[:redis]
23
+ Resque.redis = "#{redis_config[:host]}:#{redis_config[:port]}"
24
+
25
+ require 'penelope/server/version'
26
+ require 'penelope/server/service'
@@ -0,0 +1,35 @@
1
+ module Penelope
2
+ module Server
3
+ class Service < Sinatra::Base
4
+ get '/' do
5
+ info = Resque.info
6
+ out = "<html><head><title>Penelope Server Demo</title></head><body>"
7
+ out << "<p>"
8
+ out << "There are #{info[:pending]} pending and "
9
+ out << "#{info[:processed]} processed jobs across #{info[:queues]} queues."
10
+ out << "</p>"
11
+ out << '<form method="POST">'
12
+ out << 'Git URL: <input type="text" name="uri"/><br/>'
13
+ out << 'Entry Point: <input type="text" name="executable"/><br/>'
14
+ out << 'GitHub User: <input type="text" name="user"/><br/>'
15
+ out << '<input type="submit" value="Create New Job"/>'
16
+ out << '&nbsp;&nbsp;<a href="/qmon/">View Queue Monitor</a>'
17
+ out << '</form>'
18
+
19
+ out << "</body></html>"
20
+ out
21
+ end
22
+
23
+ post '/' do
24
+ job = Penelope::Core::GitJob.new(
25
+ uri: params['uri'],
26
+ entry_point: params['executable'],
27
+ submitted_by: "github:#{params['user']}"
28
+ )
29
+ job.save
30
+ Resque.enqueue(Penelope::Core::Run, job.id)
31
+ redirect "/"
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,9 @@
1
+ module Penelope
2
+ module Server
3
+ VERSION = [
4
+ 0, # Major
5
+ 0, # Minor
6
+ 1 # Patch
7
+ ].join('.')
8
+ end
9
+ end
@@ -0,0 +1,37 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'penelope/server/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "penelope-server"
8
+ spec.version = Penelope::Server::VERSION
9
+ spec.authors = ["Jonathan Gnagy"]
10
+ spec.email = ["jonathan.gnagy@gmail.com"]
11
+
12
+ spec.summary = %q{Penelope Server library}
13
+ spec.homepage = 'https://github.com/jgnagy/penelope-server'
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|spec|features)/})
18
+ end
19
+ spec.bindir = "exe"
20
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
+ spec.require_paths = ["lib"]
22
+
23
+ spec.platform = %q{java}
24
+ spec.required_ruby_version = '~> 2.0'
25
+
26
+ spec.add_runtime_dependency 'penelope-core'
27
+ spec.add_runtime_dependency 'sinatra', '~> 1.4'
28
+
29
+ spec.add_development_dependency 'bundler', '~> 1.12'
30
+ spec.add_development_dependency "rake", "~> 10.0"
31
+ spec.add_development_dependency "rspec", "~> 3.1"
32
+ spec.add_development_dependency 'rubocop', '~> 0.35'
33
+ spec.add_development_dependency 'yard', '~> 0.8'
34
+ spec.add_development_dependency 'travis', '~> 1.8'
35
+ spec.add_development_dependency 'simplecov'
36
+ spec.add_development_dependency 'warbler', '~> 2.0'
37
+ end
metadata ADDED
@@ -0,0 +1,199 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: penelope-server
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: java
6
+ authors:
7
+ - Jonathan Gnagy
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-01-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: penelope-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sinatra
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.4'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.4'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.12'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.12'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.1'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.35'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.35'
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.8'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.8'
111
+ - !ruby/object:Gem::Dependency
112
+ name: travis
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.8'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.8'
125
+ - !ruby/object:Gem::Dependency
126
+ name: simplecov
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: warbler
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '2.0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '2.0'
153
+ description:
154
+ email:
155
+ - jonathan.gnagy@gmail.com
156
+ executables: []
157
+ extensions: []
158
+ extra_rdoc_files: []
159
+ files:
160
+ - ".gitignore"
161
+ - ".rspec"
162
+ - ".travis.yml"
163
+ - Gemfile
164
+ - LICENSE
165
+ - README.md
166
+ - Rakefile
167
+ - bin/console
168
+ - bin/setup
169
+ - config.ru
170
+ - config/warble.rb
171
+ - lib/penelope/server.rb
172
+ - lib/penelope/server/service.rb
173
+ - lib/penelope/server/version.rb
174
+ - penelope-server.gemspec
175
+ homepage: https://github.com/jgnagy/penelope-server
176
+ licenses:
177
+ - MIT
178
+ metadata: {}
179
+ post_install_message:
180
+ rdoc_options: []
181
+ require_paths:
182
+ - lib
183
+ required_ruby_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '2.0'
188
+ required_rubygems_version: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ requirements: []
194
+ rubyforge_project:
195
+ rubygems_version: 2.5.1
196
+ signing_key:
197
+ specification_version: 4
198
+ summary: Penelope Server library
199
+ test_files: []