dynopoker 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a8730d712a53b1d43a64390a0f4159c360dc8697
4
+ data.tar.gz: 7da96ae9107ad603e5c838dcd3006617bc7d2d76
5
+ SHA512:
6
+ metadata.gz: ecca503d727e217d7c7e14a5fb0f7b45b663612d1ab44c676e2d25f2bee28dc7981de5a3f876797394b96bba69bdd6fc64f2f84828d6675a12ad54a552d317ac
7
+ data.tar.gz: b373c3a25c0122a00241841befd858e0b0ecba509cc795b6ea532048f4eb647a110358a634bcb0fc25c1ff9ed793001c39223cce7f945176ae87ac9dfe80a827
@@ -1,43 +1,52 @@
1
- require "dynopoker/version"
2
- require 'dynopoker/configuration'
1
+ require 'dynopoker/version'
3
2
  require 'open-uri'
4
3
 
5
4
  module Dynopoker
6
- class << self
7
- attr_accessor :configuration, :already_started
8
- end
9
5
 
10
6
  def self.configure
11
- self.configuration ||= Configuration.new
12
- yield configuration
7
+ Poker.new.tap { |p| yield p }.start!
8
+ end
13
9
 
14
- if configuration.should_poke? && !already_started
15
- self.already_started = true
16
- self.start
10
+ class Poker
11
+ attr_accessor :enable, :address, :poke_frequency, :logger
12
+
13
+ def start!
14
+ merge_default_options!
15
+ start_poking_thread! if should_poke?
17
16
  end
18
- end
19
17
 
20
- def self.start
21
- configuration.logger.info 'Dynopoker: starting thread'
22
- Thread.new { poke } or configuration.logger.error 'Dynopoker: error while starting thread'
23
- end
24
18
 
25
- def self.poke
26
- while(true)
27
- begin
28
- configuration.logger.info "Dynopoker: poking #{self.configuration.address}"
29
- open(configuration.address).content_type
30
- rescue Exception => exception
31
- configuration.logger.error "Dynopoker: poking error #{exception.class.name}: #{exception.message}"
19
+ private
20
+
21
+ def start_poking_thread!
22
+ logger.info 'Dynopoker: starting thread'
23
+ Thread.new { poking } or logger.error 'Dynopoker: error while starting thread'
24
+ end
25
+
26
+ def poking
27
+ while true
28
+ poke!
29
+ sleep(poke_frequency)
32
30
  end
31
+ end
33
32
 
34
- sleep(configuration.poke_frequency)
33
+ def poke!
34
+ logger.info "Dynopoker: poking #{address}"
35
+ open(address).status
36
+ rescue Exception => exception
37
+ configuration.logger.error "Dynopoker: poking error #{exception.class.name}: #{exception.message}"
35
38
  end
36
- end
37
39
 
38
- end
40
+ def merge_default_options!
41
+ self.poke_frequency ||= 1800
42
+ self.logger ||= Logger.new($stdout)
43
+ self.enable = enable.nil? ? true : enable
44
+ raise('Dynopoker: no address provided!') if !address && enable
45
+ end
39
46
 
40
- if defined? Rails
41
- require 'dynopoker/rails'
42
- end
47
+ def should_poke?
48
+ address.present? && enable && poke_frequency.present?
49
+ end
43
50
 
51
+ end
52
+ end
@@ -1,3 +1,3 @@
1
1
  module Dynopoker
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynopoker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
5
- prerelease:
4
+ version: 1.1.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - kubenstein
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-23 00:00:00.000000000 Z
11
+ date: 2013-10-12 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: Dynopoker is a gem that will make your ruby based heroku app self pinging
15
14
  system, preventing single dyno from falling asleep
@@ -25,32 +24,28 @@ files:
25
24
  - Rakefile
26
25
  - dynopoker.gemspec
27
26
  - lib/dynopoker.rb
28
- - lib/dynopoker/configuration.rb
29
- - lib/dynopoker/rails.rb
30
- - lib/dynopoker/railtie.rb
31
27
  - lib/dynopoker/version.rb
32
28
  homepage: https://github.com/kubenstein/dynopoker
33
29
  licenses: []
30
+ metadata: {}
34
31
  post_install_message:
35
32
  rdoc_options: []
36
33
  require_paths:
37
34
  - lib
38
35
  required_ruby_version: !ruby/object:Gem::Requirement
39
- none: false
40
36
  requirements:
41
- - - ! '>='
37
+ - - '>='
42
38
  - !ruby/object:Gem::Version
43
39
  version: '0'
44
40
  required_rubygems_version: !ruby/object:Gem::Requirement
45
- none: false
46
41
  requirements:
47
- - - ! '>='
42
+ - - '>='
48
43
  - !ruby/object:Gem::Version
49
44
  version: '0'
50
45
  requirements: []
51
46
  rubyforge_project: dynopoker
52
- rubygems_version: 1.8.25
47
+ rubygems_version: 2.0.6
53
48
  signing_key:
54
- specification_version: 3
55
- summary: ! 'Dynopoker: prevent your heroku dyno from falling asleep'
49
+ specification_version: 4
50
+ summary: 'Dynopoker: prevent your heroku dyno from falling asleep'
56
51
  test_files: []
@@ -1,16 +0,0 @@
1
- module Dynopoker
2
- class Configuration
3
- attr_accessor :address, :enable, :poke_frequency, :logger
4
-
5
- def initialize
6
- self.address = ''
7
- self.enable = true
8
- self.poke_frequency = 1800
9
- self.logger = Logger.new($stdout)
10
- end
11
-
12
- def should_poke?
13
- address.present? && enable && poke_frequency.present?
14
- end
15
- end
16
- end
@@ -1,16 +0,0 @@
1
- module Dynopoker
2
- module Rails
3
- def self.initialize
4
- Dynopoker.configure do |config|
5
- config.logger = ::Rails.logger
6
- end
7
- end
8
- end
9
- end
10
-
11
- if defined?(Rails::Railtie)
12
- require 'dynopoker/railtie'
13
- else
14
- Dynopoker::Rails.initialize
15
- end
16
-
@@ -1,9 +0,0 @@
1
- module Dynopoker
2
- # Connects to integration points for Rails 3 applications
3
- class Railtie < ::Rails::Railtie
4
- initializer :initialize_dynopoker_rails, :after => :before_initialize do
5
- Dynopoker::Rails.initialize
6
- end
7
- end
8
- end
9
-