emmy-engine 0.2.12 → 0.2.13

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.
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