emmy-engine 0.2.12 → 0.2.13

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: 0214e3559c17d808c8b258a6275a0b379c03601a
4
- data.tar.gz: e4ce42ae4fd039c7d63d69b66e7a5769575e895e
3
+ metadata.gz: 1784f12f765b7cb0f72b15759289c914078486cc
4
+ data.tar.gz: 37241e6d2c269a0f0dad6f803807d75f0ae9e25d
5
5
  SHA512:
6
- metadata.gz: d782395dd4c7bd7435386c2f7362d345ffd7563c18764e7a836b0216d81fdd8191c3908061081a69b134366e773c168e278cee7b31e52c34d38c64e930a57ae0
7
- data.tar.gz: c2a26cdef7e15ec34c15468d89b86b301f14b1f361b3f27480890426d71c0c665bed8e8db8c7ac6e3d7cdf9c1edcf38ca9587153a114717ce2e4b8195dd0bf3e
6
+ metadata.gz: 719208d6bb7dc964860640dcd7a7cdf3c516bb5d4fd25586936ff5fa21322d004b3194a8796c85bc020c1eee6c2946a9fd3830e87e2bae8570e870979dc30c8b
7
+ data.tar.gz: 73351b83e60afef077b2e549330532d87358d4a1dbc7398b293eb763569d30356eebf8cd948f835575042f4365952a1eefd3f878a3b9f1e17812496108cf30a4
data/Gemfile CHANGED
@@ -4,3 +4,6 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  gem 'eventmachine', '~> 1.0.7'
7
+
8
+ gem 'emmy-http', path: '~/Dropbox/Projects/emmy/emmy-http'
9
+ gem 'emmy-http-server', path: '~/Dropbox/Projects/emmy-http-server'
data/emmy-engine.gemspec CHANGED
@@ -25,8 +25,9 @@ Gem::Specification.new do |spec|
25
25
  spec.require_paths = ["lib"]
26
26
 
27
27
  spec.add_dependency "emmy-machine", "~> 0.1"
28
- spec.add_dependency "emmy-http", "~> 0.2"
28
+ #spec.add_dependency "emmy-http", "~> 0.2"
29
29
  spec.add_dependency "emmy-http-client", "~> 0.1"
30
+ #spec.add_dependency "emmy-http-server", "~> 0.1"
30
31
 
31
32
  spec.add_development_dependency "eventmachine", "~> 1.0"
32
33
  spec.add_development_dependency "bundler", "~> 1.9"
data/lib/emmy.rb CHANGED
@@ -2,6 +2,7 @@ require 'singleton'
2
2
  require 'emmy_machine'
3
3
  require 'emmy_http'
4
4
  require 'emmy_http/client'
5
+ require 'emmy_http/server'
5
6
 
6
7
  module Emmy
7
8
  extend EmmyMachine::ClassMethods
data/lib/emmy/backend.rb CHANGED
@@ -5,21 +5,27 @@ module Emmy
5
5
 
6
6
  module_function
7
7
 
8
- attr_reader :apps
9
-
10
- def app(name: nil, &b)
11
- @apps ||= {}
8
+ def app(name=nil, &b)
12
9
  name ||= Emmy::Runner.instance.config.backend
13
10
 
14
11
  if b
15
12
  app = EmmyHttp::Application.new
16
13
  app.instance_eval(&b)
17
- @apps[name] = app
14
+ apps(name, app)
18
15
  else
19
- @apps[name]
16
+ apps(name)
20
17
  end
21
18
  end
22
19
 
20
+ def apps(name, app=nil)
21
+ @apps ||= {}
22
+ app ? @apps[name || :default] = app : @apps[name || :default]
23
+ end
24
+
25
+ def to_a
26
+ apps.to_a
27
+ end
28
+
23
29
  #<<<
24
30
  end
25
31
  end
data/lib/emmy/runner.rb CHANGED
@@ -60,37 +60,35 @@ module Emmy
60
60
  opts.on("-e", "--environment ENV", "Specifies the execution environment",
61
61
  "Default: #{config.environment}") { |env| config.environment = env }
62
62
  opts.on("-p", "--port PORT", "Runs Emmy on the specified port",
63
- "Default: #{config.url.port}") { |port| config.url.port = port }
63
+ "Default: #{config.url.port}") { |port| config.url.port = port }
64
64
  opts.on("-a", "--address HOST", "Binds Emmy to the specified host",
65
- "Default: #{config.url.host}") { |address| config.url.host = address }
65
+ "Default: #{config.url.host}") { |address| config.url.host = address }
66
66
  opts.on("-b", "--backend NAME", "Backend name",
67
- "Default: backend") { |name| config.backend = name }
67
+ "Default: backend") { |name| config.backend = name }
68
68
  opts.on("-d", "--daemonize", "Runs server in the background") { @action = :daemonize_server }
69
69
  opts.on("-s", "--servers NUM", "Number of servers to start") do |num|
70
70
  @action = :daemonize_server if @action == :start_server
71
71
  config.servers = num.to_i
72
72
  end
73
- opts.on('', '--id NUM', "Server identifier") { |id| config.id = id.to_i }
73
+ opts.on('', '--id NUM', "Server identifier") { |id| config.id = id.to_i }
74
+ opts.on('', '--pre', "Prerelease server version") do |id|
75
+ config.adapter = EmmyHttp::Server::Server
76
+ end
74
77
  #opts.on('-l', '--log FILE', "Log to file") { |file| config.log = file }
75
78
  #opts.on('-o', '--output FILE', "Logs stdout to file") { |file| config.stdout = config.stderr = file }
76
79
  #opts.on('-P', '--pid FILE', "Pid file") { |file| config.pid = file }
77
80
 
78
81
  # actions
79
82
  opts.separator "Actions:"
80
- opts.on("-i", "--info", "Shows server configuration") { @action = :show_configuration }
81
- opts.on("-c", "--console", "Start a console") { @action = :start_console }
83
+ opts.on("-i", "--info", "Shows server configuration") { @action = :show_configuration }
84
+ opts.on("-c", "--console", "Start a console") { @action = :start_console }
82
85
  opts.on('-t', '--stop', "Terminate background server") { @action = :stop_server }
83
- opts.on("-h", "--help", "Display this help message") { @action = :display_help }
84
- opts.on("-v", "--version", "Display Emmy version.") { @action = :display_version }
86
+ opts.on("-h", "--help", "Display this help message") { @action = :display_help }
87
+ opts.on("-v", "--version", "Display Emmy version.") { @action = :display_version }
85
88
  end
86
89
  end
87
90
 
88
91
  def defaults!
89
- if Process.uid == 0
90
- config.user = "worker"
91
- config.group = "worker"
92
- end
93
-
94
92
  if config.environment == "development"
95
93
  config.stdout = "#{config.backend}.stdout"
96
94
  config.stderr = config.stdout
@@ -98,6 +96,8 @@ module Emmy
98
96
 
99
97
  config.pid = "#{config.backend}.pid"
100
98
  config.log = "#{config.backend}.log"
99
+
100
+ config.adapter ||= EmmyExtends::Thin::Controller rescue nil
101
101
  end
102
102
 
103
103
  def instance_defaults!(id)
@@ -133,8 +133,9 @@ module Emmy
133
133
  start_server
134
134
  end
135
135
  end
136
+ sleep(1)
136
137
  end
137
- sleep(1)
138
+ sleep(2)
138
139
  end
139
140
 
140
141
  def start_server
@@ -143,7 +144,8 @@ module Emmy
143
144
  trap("TERM") { Emmy.stop }
144
145
 
145
146
  Emmy.fiber_block do
146
- Backend.module_eval(File.read(backend_file), backend_file)
147
+ file = backend_file
148
+ Backend.module_eval(File.read(file), file)
147
149
  end
148
150
  end
149
151
  end
@@ -249,13 +251,13 @@ module Emmy
249
251
  pid = File.read(pid_file).to_i
250
252
  unless pid.zero?
251
253
  Process.kill("TERM", pid)
252
- puts "Stopping..."
254
+ puts "Stopping #{pid}..."
253
255
  while File.exists?(config.pid)
254
256
  sleep(0.1)
255
257
  end
256
- #Process.wait(pid)
257
258
  end
258
259
  rescue Errno::ESRCH
260
+ puts "No such process"
259
261
  end
260
262
 
261
263
  def delete_pid
data/lib/emmy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Emmy
2
- VERSION = "0.2.12"
2
+ VERSION = "0.2.13"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emmy-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.12
4
+ version: 0.2.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - inre
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-26 00:00:00.000000000 Z
11
+ date: 2015-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: emmy-machine
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.1'
27
- - !ruby/object:Gem::Dependency
28
- name: emmy-http
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0.2'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '0.2'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: emmy-http-client
43
29
  requirement: !ruby/object:Gem::Requirement