ruby-app 0.1.7 → 0.1.8
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/README.md +1 -1
- data/generator/project/lib/application.rb.tt +3 -3
- data/lib/ruby-app/application_defaults.rb +67 -0
- data/lib/ruby-app/boot.rb +5 -1
- data/lib/ruby-app/environment.rb +3 -0
- data/lib/ruby-app/error_mailer.rb +57 -0
- data/lib/ruby-app/version.rb +1 -1
- data/ruby-app.gemspec +1 -1
- data/spec/app_spec.rb +3 -0
- data/spec/test_app/app/models/model.rb +9 -0
- metadata +110 -107
- data/lib/ruby-app/application.rb +0 -68
data/README.md
CHANGED
@@ -2,7 +2,7 @@ RubyApp
|
|
2
2
|
=======
|
3
3
|
|
4
4
|
Little ruby application template. For create light ruby apps (daemons, EventMachine-apps, ...).
|
5
|
-
Supports bundler, environments, rails dirs tree.
|
5
|
+
Supports bundler, environments, activesupport, rails dirs tree. Fast loading and low memory using.
|
6
6
|
|
7
7
|
$ gem install ruby-app
|
8
8
|
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
module Application::Defaults
|
4
|
+
|
5
|
+
def tmp_dir
|
6
|
+
@gem_tmp_dir ||= File.join(root, %w{tmp})
|
7
|
+
end
|
8
|
+
|
9
|
+
def logger_dir
|
10
|
+
@gem_logger_dir ||= File.join(root, %w{log})
|
11
|
+
end
|
12
|
+
|
13
|
+
def env
|
14
|
+
@gem_env ||= begin
|
15
|
+
env = ENV['APP_ENV'] || ENV['RAILS_ENV']
|
16
|
+
|
17
|
+
# if not specify env, try find file with env config/environment.current
|
18
|
+
# which created this file by a capistrano, by example
|
19
|
+
unless env
|
20
|
+
path = File.join(root, %w{ config environment.current })
|
21
|
+
if File.exists?(path)
|
22
|
+
env = File.read(path)
|
23
|
+
env.strip!
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
env = 'development' unless env
|
28
|
+
|
29
|
+
env
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
alias :environment :env
|
34
|
+
|
35
|
+
def logger
|
36
|
+
@gem_logger ||= begin
|
37
|
+
file = env.to_s['test'] ? File.open(File.join(logger_dir, "#{name rescue 'ruby-app'}.log"), "a") : STDERR
|
38
|
+
LocalLogger.new(file).tap do |l|
|
39
|
+
l.level = App.config.log_level
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def config
|
45
|
+
CommonConfig
|
46
|
+
end
|
47
|
+
|
48
|
+
def identifier
|
49
|
+
"ruby-app"
|
50
|
+
end
|
51
|
+
|
52
|
+
def rake_paths
|
53
|
+
@gem_rake_paths ||= []
|
54
|
+
end
|
55
|
+
|
56
|
+
def initializer_paths
|
57
|
+
@gem_initializer_paths ||= []
|
58
|
+
end
|
59
|
+
|
60
|
+
def bundler_group
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
Application.extend(Application::Defaults)
|
66
|
+
|
67
|
+
App = Application unless defined?(App)
|
data/lib/ruby-app/boot.rb
CHANGED
@@ -2,7 +2,11 @@ $KCODE='u' if RUBY_VERSION < '1.9'
|
|
2
2
|
|
3
3
|
local_root = File.dirname(__FILE__)
|
4
4
|
|
5
|
+
# define class if undefined
|
6
|
+
class Application
|
7
|
+
end
|
8
|
+
|
5
9
|
# app from gem
|
6
|
-
require File.join(local_root, '
|
10
|
+
require File.join(local_root, 'application_defaults')
|
7
11
|
|
8
12
|
$:.unshift(File.join(App.root, %w{ lib }))
|
data/lib/ruby-app/environment.rb
CHANGED
@@ -0,0 +1,57 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
class ErrorMailer
|
4
|
+
end
|
5
|
+
|
6
|
+
module ErrorMailer::BlankSlate
|
7
|
+
def message(msg)
|
8
|
+
end
|
9
|
+
|
10
|
+
def exception(e)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
module ErrorMailer::Logger
|
15
|
+
def message(msg)
|
16
|
+
super
|
17
|
+
App.logger.error { msg }
|
18
|
+
end
|
19
|
+
|
20
|
+
def exception(e)
|
21
|
+
super
|
22
|
+
App.logger.error{ "#{e.class}: #{e.message}\n#{e.backtrace*"\n"}" }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
module ErrorMailer::ReraiseCtrlC
|
27
|
+
def exception(e)
|
28
|
+
if SignalException === e || SystemExit === e
|
29
|
+
raise e
|
30
|
+
end
|
31
|
+
super
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
class ErrorMailer
|
36
|
+
class << self
|
37
|
+
include ErrorMailer::BlankSlate
|
38
|
+
include ErrorMailer::Logger
|
39
|
+
include ErrorMailer::ReraiseCtrlC
|
40
|
+
|
41
|
+
def mail_message(m)
|
42
|
+
message(m)
|
43
|
+
end
|
44
|
+
|
45
|
+
def mail_exception(e)
|
46
|
+
exception(e)
|
47
|
+
end
|
48
|
+
|
49
|
+
def safe(&block)
|
50
|
+
yield
|
51
|
+
|
52
|
+
rescue => ex
|
53
|
+
self.mail_exception(ex)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
data/lib/ruby-app/version.rb
CHANGED
data/ruby-app.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
|
|
7
7
|
|
8
8
|
s.authors = ["Makarchev Konstantin"]
|
9
9
|
|
10
|
-
s.description = %q{Little ruby application template. For
|
10
|
+
s.description = %q{Little ruby application template. For create light ruby apps (daemons, EventMachine-apps, ...). Supports bundler, environments, activesupport, rails dirs tree. Fast loading and low memory using.}
|
11
11
|
s.summary = %q{Ruby application template}
|
12
12
|
|
13
13
|
s.email = %q{kostya27@gmail.com}
|
data/spec/app_spec.rb
CHANGED
metadata
CHANGED
@@ -1,120 +1,116 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-app
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 11
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 8
|
10
|
+
version: 0.1.8
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Makarchev Konstantin
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
+
|
18
|
+
date: 2012-07-22 00:00:00 +04:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
17
23
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
22
|
-
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 3
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
version: "0"
|
23
31
|
prerelease: false
|
24
|
-
|
32
|
+
type: :runtime
|
33
|
+
requirement: *id001
|
34
|
+
name: activesupport
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
25
37
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
hash: 3
|
42
|
+
segments:
|
43
|
+
- 0
|
44
|
+
version: "0"
|
45
|
+
prerelease: false
|
46
|
+
type: :runtime
|
47
|
+
requirement: *id002
|
31
48
|
name: rake
|
32
|
-
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
33
51
|
none: false
|
34
|
-
requirements:
|
35
|
-
- -
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
|
38
|
-
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
hash: 3
|
56
|
+
segments:
|
57
|
+
- 0
|
58
|
+
version: "0"
|
39
59
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
60
|
+
type: :runtime
|
61
|
+
requirement: *id003
|
47
62
|
name: thor
|
48
|
-
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
49
65
|
none: false
|
50
|
-
requirements:
|
51
|
-
- -
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
hash: 3
|
70
|
+
segments:
|
71
|
+
- 0
|
72
|
+
version: "0"
|
55
73
|
prerelease: false
|
56
|
-
|
57
|
-
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
74
|
+
type: :runtime
|
75
|
+
requirement: *id004
|
63
76
|
name: bundler
|
64
|
-
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
65
79
|
none: false
|
66
|
-
requirements:
|
67
|
-
- -
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
|
70
|
-
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
hash: 3
|
84
|
+
segments:
|
85
|
+
- 0
|
86
|
+
version: "0"
|
71
87
|
prerelease: false
|
72
|
-
|
73
|
-
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
|
-
- !ruby/object:Gem::Dependency
|
88
|
+
type: :development
|
89
|
+
requirement: *id005
|
79
90
|
name: rspec
|
80
|
-
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
81
93
|
none: false
|
82
|
-
requirements:
|
83
|
-
- -
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
|
86
|
-
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
hash: 3
|
98
|
+
segments:
|
99
|
+
- 0
|
100
|
+
version: "0"
|
87
101
|
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ! '>='
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0'
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: rake
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
102
102
|
type: :development
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
description: Little ruby application template. For creates light ruby apps (daemons,
|
111
|
-
EventMachine-apps, ...). Supports bundler, environments, rails dirs tree.
|
103
|
+
requirement: *id006
|
104
|
+
name: rake
|
105
|
+
description: Little ruby application template. For create light ruby apps (daemons, EventMachine-apps, ...). Supports bundler, environments, activesupport, rails dirs tree. Fast loading and low memory using.
|
112
106
|
email: kostya27@gmail.com
|
113
|
-
executables:
|
107
|
+
executables:
|
114
108
|
- ruby-app
|
115
109
|
extensions: []
|
110
|
+
|
116
111
|
extra_rdoc_files: []
|
117
|
-
|
112
|
+
|
113
|
+
files:
|
118
114
|
- .gitignore
|
119
115
|
- Gemfile
|
120
116
|
- LICENSE
|
@@ -140,11 +136,12 @@ files:
|
|
140
136
|
- generator/project/lib/rake_tasks/.gitkeep
|
141
137
|
- generator/project/spec/spec1_spec.rb.tt
|
142
138
|
- generator/project/spec/spec_helper.rb
|
143
|
-
- lib/ruby-app/
|
139
|
+
- lib/ruby-app/application_defaults.rb
|
144
140
|
- lib/ruby-app/boot.rb
|
145
141
|
- lib/ruby-app/common_config.rb
|
146
142
|
- lib/ruby-app/default_config.rb
|
147
143
|
- lib/ruby-app/environment.rb
|
144
|
+
- lib/ruby-app/error_mailer.rb
|
148
145
|
- lib/ruby-app/local_logger.rb
|
149
146
|
- lib/ruby-app/tasks.rake
|
150
147
|
- lib/ruby-app/tasks/rspec.rake
|
@@ -157,6 +154,7 @@ files:
|
|
157
154
|
- spec/test_app/app/models/.gitkeep
|
158
155
|
- spec/test_app/app/models/2.rb
|
159
156
|
- spec/test_app/app/models/3.rb
|
157
|
+
- spec/test_app/app/models/model.rb
|
160
158
|
- spec/test_app/bin/.gitkeep
|
161
159
|
- spec/test_app/config/boot.rb
|
162
160
|
- spec/test_app/config/config.rb
|
@@ -171,34 +169,39 @@ files:
|
|
171
169
|
- spec/test_app/config/initializers/2.rb
|
172
170
|
- spec/test_app/lib/4.rb
|
173
171
|
- spec/test_app/lib/application.rb
|
172
|
+
has_rdoc: true
|
174
173
|
homepage: http://github.com/kostya/ruby-app
|
175
174
|
licenses: []
|
175
|
+
|
176
176
|
post_install_message:
|
177
177
|
rdoc_options: []
|
178
|
-
|
178
|
+
|
179
|
+
require_paths:
|
179
180
|
- lib
|
180
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
181
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
181
182
|
none: false
|
182
|
-
requirements:
|
183
|
-
- -
|
184
|
-
- !ruby/object:Gem::Version
|
185
|
-
|
186
|
-
segments:
|
183
|
+
requirements:
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
hash: 3
|
187
|
+
segments:
|
187
188
|
- 0
|
188
|
-
|
189
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
|
+
version: "0"
|
190
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
191
|
none: false
|
191
|
-
requirements:
|
192
|
-
- -
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
|
195
|
-
segments:
|
192
|
+
requirements:
|
193
|
+
- - ">="
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
hash: 3
|
196
|
+
segments:
|
196
197
|
- 0
|
197
|
-
|
198
|
+
version: "0"
|
198
199
|
requirements: []
|
200
|
+
|
199
201
|
rubyforge_project:
|
200
|
-
rubygems_version: 1.
|
202
|
+
rubygems_version: 1.4.2
|
201
203
|
signing_key:
|
202
204
|
specification_version: 3
|
203
205
|
summary: Ruby application template
|
204
206
|
test_files: []
|
207
|
+
|
data/lib/ruby-app/application.rb
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
|
3
|
-
class Application
|
4
|
-
|
5
|
-
class << self
|
6
|
-
|
7
|
-
def tmp_dir
|
8
|
-
@tmp_dir ||= File.join(root, %w{tmp})
|
9
|
-
end
|
10
|
-
|
11
|
-
def logger_dir
|
12
|
-
@logger_dir ||= File.join(root, %w{log})
|
13
|
-
end
|
14
|
-
|
15
|
-
def env
|
16
|
-
@env ||= begin
|
17
|
-
env = ENV['APP_ENV'] || ENV['RAILS_ENV']
|
18
|
-
|
19
|
-
# if not specify env, try find file with env config/environment.current
|
20
|
-
# which created this file by a capistrano, by example
|
21
|
-
unless env
|
22
|
-
path = File.join(root, %w{ config environment.current })
|
23
|
-
if File.exists?(path)
|
24
|
-
env = File.read(path)
|
25
|
-
env.strip!
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
env = 'development' unless env
|
30
|
-
|
31
|
-
env
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
alias :environment :env
|
36
|
-
|
37
|
-
def logger
|
38
|
-
@logger ||= begin
|
39
|
-
file = (env == 'test') ? File.open(File.join(logger_dir, 'ruby-app.log'), "a") : STDERR
|
40
|
-
LocalLogger.new(file).tap do |l|
|
41
|
-
l.level = App.config.log_level
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def config
|
47
|
-
CommonConfig
|
48
|
-
end
|
49
|
-
|
50
|
-
def identifier
|
51
|
-
"ruby-app"
|
52
|
-
end
|
53
|
-
|
54
|
-
def rake_paths
|
55
|
-
@rake_paths ||= []
|
56
|
-
end
|
57
|
-
|
58
|
-
def initializer_paths
|
59
|
-
@initializer_paths ||= []
|
60
|
-
end
|
61
|
-
|
62
|
-
def bundler_group
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
App = Application unless defined?(App)
|