eureka_ruby 0.0.2 → 0.0.3

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
  SHA256:
3
- metadata.gz: 8ebe57146d18678109fc09d1f1a651ea45cb437838e1f956a771f81d6bc46713
4
- data.tar.gz: ab771c33a407aa427dfbf289243f4453547a69f4db6f0b5a32c599b288c7ea4f
3
+ metadata.gz: 941cc4932d5adfc6ba5abb97cf648d02d29e3f6b8f99d7adf6c590d12af3ceac
4
+ data.tar.gz: 829bf70295eb12eabcf1714c1f7b7aac2694d17eba2e1e8a7fab9d5658ac429c
5
5
  SHA512:
6
- metadata.gz: f03b0e69e43b7c7d458e5b7d0e0a8a82710a547e6134ae291c3c268deebacfdd2c14fdf900704ed565912457c95779add006a326426f7e56c53825e1b872796f
7
- data.tar.gz: 88de458792c5f3d352e42482adfd383ea23720675b97dd6dd4a7d7317bdd111ca8aae7d88aef0e48ef0691a6703f6f3d1d527d24e9af885ed84f940211adffc7
6
+ metadata.gz: 9bd5840e19cab4b7c02186c1a8a2d298405d0da8c1bb1452edd25217707ee729495b9a2817830c87edf76b88007b404d1dddb3c3929d55e5ecfe2595fd9a9083
7
+ data.tar.gz: 6f736cb32d22c469a5fb832e7f568c9e53bb56fdfd2a170fdd2868061c480dba7add3d2528eab2b4bcb2ae1805a0e00df06097676e716bee1ac70be0075ad2d3
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # https://www.skcript.com/svr/the-easiest-configuration-block-for-your-ruby-gems/
2
4
  # https://github.com/shideneyu/kraken_client
3
5
  # https://www.reddit.com/r/ruby/comments/54fgia/whats_the_best_configuration_pattern_when/
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'eureka_ruby/http_client'
2
4
 
3
5
  module EurekaRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'http'
2
4
 
3
5
  module EurekaRuby
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module EurekaRuby
2
4
  class Middleware
3
5
  def initialize(app)
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # NOTE:
2
4
  # https://github.com/Netflix/batch_request_api/blob/master/lib/batch_request_api/railtie.rb
3
5
  module EurekaRuby
4
6
  class Railtie < Rails::Railtie
5
7
  config.app_middleware.insert 0, EurekaRuby::Middleware
6
8
  end
7
- end
9
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module EurekaRuby
2
- VERSION = '0.0.2'
4
+ VERSION = '0.0.3'
3
5
  end
data/lib/eureka_ruby.rb CHANGED
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
  require 'eureka_ruby/middleware'
3
5
  require 'eureka_ruby/configuration'
4
6
  require 'eureka_ruby/executor'
5
7
  require 'eureka_ruby/version'
6
- require 'eureka_ruby/railtie' if defined?(Rails)
7
8
 
8
9
  module EurekaRuby
9
10
  class << self
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rails/generators/base'
4
+
5
+ module EurekaRuby
6
+ module Generators
7
+ # rails g eureka_ruby:install
8
+ class InstallGenerator < Rails::Generators::Base # :nodoc:
9
+ source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
10
+
11
+ desc <<DESC
12
+ Description:
13
+ Copies EurekaRuby install file to your application's initializer directory.
14
+ DESC
15
+ def copy_install_file
16
+ template 'eureka_ruby.rb', 'config/initializers/eureka_ruby.rb'
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ if ENV['EUREKA']
4
+ require 'eureka_ruby/railtie'
5
+ EurekaRuby.configure do |config|
6
+ # Required
7
+ config.eureka_url = ENV['EUREKA_URL']
8
+ config.app_id = ENV['EUREKA_MS_APP_ID']
9
+ config.host_name = ENV['EUREKA_MS_HOST_NAME']
10
+ config.ip_addr = ENV['EUREKA_MS_IP_ADDR']
11
+ config.info_response = { "author" => "Tumayun", "language" => "Ruby" }
12
+
13
+ # Optional
14
+ config.port = ENV.fetch('EUREKA_MS_PORT', 3000).to_i # default 3000
15
+ config.scheme = ENV.fetch('EUREKA_MS_SCHEMA', 'http') # default http
16
+ config.health_path = ENV.fetch('EUREKA_MS_HEALTH_PATH', '/health') # default /health
17
+ config.health_response = 'OK' # default OK
18
+ config.health_headers = { "Content-Type" => "text/plain" } # default
19
+ config.info_path = ENV.fetch('EUREKA_MS_INFO_PATH', '/info') # default /info
20
+ end
21
+
22
+ # Register Instance
23
+ EurekaRuby.executor.run(:register)
24
+
25
+ # Keep Living
26
+ Thread.new do
27
+ loop do
28
+ EurekaRuby.executor.run(:send_heartbeat)
29
+ sleep ENV.fetch('EUREKA_HEARTBEAT_PERIOD', 10).to_i
30
+ end
31
+ end
32
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eureka_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - 乌托邦科技
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-02-21 00:00:00.000000000 Z
11
+ date: 2019-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -82,6 +82,8 @@ files:
82
82
  - lib/eureka_ruby/middleware.rb
83
83
  - lib/eureka_ruby/railtie.rb
84
84
  - lib/eureka_ruby/version.rb
85
+ - lib/generators/eureka_ruby/install_generator.rb
86
+ - lib/generators/eureka_ruby/templates/eureka_ruby.rb
85
87
  homepage: https://quanziapp.com
86
88
  licenses:
87
89
  - MIT