madvertise-ext 0.5.3 → 0.6.0

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: dfb2ba16be20b65a7bd6da90d6867ad716e5911e
4
- data.tar.gz: e70850ea6aaa3cbcbe0f7aa05758daf168577621
3
+ metadata.gz: 8cd41360246e68223bdd822e98e2758f54165895
4
+ data.tar.gz: 8e76405d044d13156271215b70024b83c6e63579
5
5
  SHA512:
6
- metadata.gz: b1661b6fe44eb3c56d18ea00604190f8a733fc546d36a596ce6b8aee4412d25842ea96e4eb3862f8fa97f364b533f0ede5fd2a9bad67985df2d59d03ff176dd4
7
- data.tar.gz: 0d16d02f9bc46a29d1597802a924ec387086500615a740faf59b81e20a6a9d00cfebe7b19941f5158384c8a6f8ca9dee322a014f056303fc4b544ce276ec05ee
6
+ metadata.gz: 34d3feabee69cf24924f6c4533e708710c5a9eede18c11a306921fa0d0f7262bf8a6ca86836f0227abc639c09fd89949bdcafab28e56f985ce20a9c98343b08e
7
+ data.tar.gz: 35896c2a5f376717252570d9a630f9a087e3ec943d93a2d8de3a27101d4f51b7585fb44840a2f923f80da47245403e2f1c5716c53250f3dff16260482da30c4f
data/Gemfile CHANGED
@@ -1,3 +1,14 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
+
5
+ group :development, :test do
6
+ gem "awesome_print"
7
+ gem "brice"
8
+ gem "fuubar"
9
+ gem "rake"
10
+ gem "reek"
11
+ gem "rspec"
12
+ gem "simplecov"
13
+ gem "yard"
14
+ end
data/Rakefile CHANGED
@@ -1,5 +1,2 @@
1
- #!/usr/bin/env rake
2
-
3
- require "bundler/setup"
4
1
  require "bundler/gem_tasks"
5
2
  require "madvertise/tasks"
@@ -1,5 +1,11 @@
1
1
  # encoding: utf-8
2
2
 
3
+ begin
4
+ require 'jbundler'
5
+ rescue LoadError
6
+ # do nothing
7
+ end
8
+
3
9
  # load a bunch of common classes here, so we don't have to track and repeat it
4
10
  # everywhere
5
11
  require 'active_support/all'
@@ -14,16 +20,26 @@ Dir[File.join(File.dirname(__FILE__), 'ext', '*.rb')].each do |f|
14
20
  require f
15
21
  end
16
22
 
23
+ blacklist = [
24
+ 'tasks.rb',
25
+ 'gc_stats.rb',
26
+ 'sysconf.rb',
27
+ 'proc_stat.rb',
28
+ ]
29
+
17
30
  Dir[File.join(File.dirname(__FILE__), '*.rb')].each do |f|
18
- require f
31
+ require f unless blacklist.include?(f)
19
32
  end
20
33
 
21
34
  require 'madvertise/logging' # dedicated gem
22
35
 
23
- # initialize configuration and logger with hardcoded defaults
36
+ # load default configuration
24
37
  $conf = Conf = Configuration.new
38
+
39
+ # callback for madvertise-logging
25
40
  $conf.callback do
26
41
  ImprovedLogger::Formatter.format = $conf.log_format
42
+ ImprovedLogger::Formatter.log4j_format = $conf.log4j_format
27
43
  $log = MultiLogger.new
28
44
  $log.attach(ImprovedLogger.new($conf.log_backend.to_sym, File.basename($0)))
29
45
  $log.level = $conf.log_level.downcase.to_sym
@@ -33,7 +33,7 @@ class CLI
33
33
  :description => "Enable debug output",
34
34
  :boolean => true,
35
35
  :default => false,
36
- :proc => ->(value) { $conf.mixin(log_level: :debug) }
36
+ :proc => ->(value) { $conf.mixin(log_level: value ? :debug : :info); value }
37
37
 
38
38
  option :help,
39
39
  :short => '-h',
@@ -67,12 +67,16 @@ class CLI
67
67
  $log.info("cli:initialize", cli.config)
68
68
  $conf.reload!
69
69
 
70
+ # infer some variables
70
71
  opts = cli.config.merge({
71
- interval: 1,
72
- logger: $log,
72
+ fqdn: Socket.gethostbyname(Socket.gethostname).first
73
73
  })
74
74
 
75
- cls.new(opts)
75
+ # sneak in opts without subclassing
76
+ cls.allocate.tap do |obj|
77
+ obj.define_singleton_method(:opts) { opts }
78
+ obj.send(:initialize)
79
+ end
76
80
  end
77
81
 
78
82
  end
@@ -82,6 +82,7 @@ class Configuration < Section
82
82
  log_backend: :stdout,
83
83
  log_caller: false,
84
84
  log_format: "%{time} %{progname}(%{pid}) [%{severity}] %{msg}\n",
85
+ log4j_format: "%d %c(%t) [%p] %m%n",
85
86
  log_level: :info,
86
87
  }
87
88
 
@@ -1,8 +1,8 @@
1
1
  module Signal
2
2
  def self.register_shutdown_handler(&block)
3
- %w(QUIT INT TERM).each do |sig|
4
- old = trap(sig) {}
5
- trap(sig) { block.call; old.call }
3
+ at_exit(&block)
4
+ %w(INT TERM).each do |sig|
5
+ trap(sig) { exit(-1) }
6
6
  end
7
7
  end
8
8
  end
@@ -38,7 +38,7 @@ class GCStats
38
38
  end
39
39
  end
40
40
 
41
- if RUBY_VERSION =~ /^1\.9/
41
+ if RUBY_ENGINE == 'ruby' and RUBY_VERSION =~ /^1\.9/
42
42
  extend Yarv
43
43
  end
44
44
 
@@ -0,0 +1,6 @@
1
+ desc "build all protocol buffer schemas"
2
+ task :protoc do
3
+ Dir["**/*.proto"].each do |file|
4
+ sh "ruby-protoc #{file}"
5
+ end
6
+ end
@@ -4,5 +4,4 @@ begin
4
4
  t.fail_on_error = false
5
5
  end
6
6
  rescue LoadError
7
- STDERR.puts "failed to load reek. please add gem 'reek' to your Gemfile in order to use reek"
8
7
  end
@@ -14,5 +14,4 @@ begin
14
14
 
15
15
  task :default => [:spec]
16
16
  rescue LoadError
17
- STDERR.puts "failed to load rspec. please add gem 'rspec' to your Gemfile in order to use rspec"
18
17
  end
@@ -5,5 +5,4 @@ begin
5
5
  t.files = ['lib/**/*.rb', 'README.rdoc']
6
6
  end
7
7
  rescue LoadError
8
- STDERR.puts "failed to load yard. please add gem 'yard' to your Gemfile in order to use yard"
9
8
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "madvertise-ext"
5
- spec.version = "0.5.3"
5
+ spec.version = "0.6.0"
6
6
  spec.authors = ["madvertise Mobile Advertising GmbH"]
7
7
  spec.email = ["tech@madvertise.com"]
8
8
  spec.description = %q{Ruby core extensions and helper libraries}
@@ -17,15 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.add_dependency "activesupport"
18
18
  spec.add_dependency "ffi"
19
19
  spec.add_dependency "madvertise-logging"
20
+ spec.add_dependency "metriks"
20
21
  spec.add_dependency "mixlib-cli"
21
22
  spec.add_dependency "servolux"
22
-
23
- spec.add_development_dependency "awesome_print"
24
- spec.add_development_dependency "brice"
25
- spec.add_development_dependency "fuubar"
26
- spec.add_development_dependency "rake"
27
- spec.add_development_dependency "reek"
28
- spec.add_development_dependency "rspec"
29
- spec.add_development_dependency "simplecov"
30
- spec.add_development_dependency "yard"
31
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: madvertise-ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - madvertise Mobile Advertising GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-28 00:00:00.000000000 Z
11
+ date: 2013-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: mixlib-cli
56
+ name: metriks
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '>='
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: servolux
70
+ name: mixlib-cli
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '>='
@@ -81,111 +81,13 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: awesome_print
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: brice
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: fuubar
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - '>='
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: rake
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: reek
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - '>='
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - '>='
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: rspec
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - '>='
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - '>='
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: simplecov
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - '>='
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - '>='
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: yard
84
+ name: servolux
183
85
  requirement: !ruby/object:Gem::Requirement
184
86
  requirements:
185
87
  - - '>='
186
88
  - !ruby/object:Gem::Version
187
89
  version: '0'
188
- type: :development
90
+ type: :runtime
189
91
  prerelease: false
190
92
  version_requirements: !ruby/object:Gem::Requirement
191
93
  requirements:
@@ -223,11 +125,11 @@ files:
223
125
  - lib/madvertise/proc_stat.rb
224
126
  - lib/madvertise/sysconf.rb
225
127
  - lib/madvertise/tasks.rb
128
+ - lib/madvertise/tasks/protoc.rake
226
129
  - lib/madvertise/tasks/reek.rake
227
130
  - lib/madvertise/tasks/rspec.rake
228
131
  - lib/madvertise/tasks/yard.rake
229
132
  - lib/madvertise/transaction_id.rb
230
- - lib/servolux/eventmachine.rb
231
133
  - madvertise-ext.gemspec
232
134
  - spec/enumerable_spec.rb
233
135
  - spec/spec_helper.rb
@@ -1,39 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'eventmachine'
4
- require 'servolux'
5
- require 'thread'
6
-
7
- module Servolux
8
- class EventMachineServer < Server
9
-
10
- def initialize(name, opts = {})
11
- super
12
- EventMachine.error_handler do |e|
13
- $log.exception(e)
14
- raise e
15
- end
16
- end
17
-
18
- def before_starting
19
- @reactor = Thread.new do
20
- begin
21
- EventMachine.run { boot if respond_to?(:boot) }
22
- rescue => e
23
- $log.exception(e)
24
- end
25
- end
26
- end
27
-
28
- def after_stopping
29
- $log.debug("eventmachine stop")
30
- EventMachine.stop_event_loop if EventMachine.reactor_running?
31
- @reactor.kill
32
- @reactor.join if @reactor.is_a?(Thread)
33
- end
34
-
35
- def run
36
- end
37
-
38
- end
39
- end