Module: Net::Knocker::Env
- Included in:
- Net::Knocker, Peer
- Defined in:
- lib/net/knocker/env.rb
Instance Method Summary collapse
- #debug(msg) ⇒ Object
- #debugging? ⇒ Boolean
- #env_secret ⇒ Object
- #error(msg) ⇒ Object
- #http_client ⇒ Object
- #info(msg, method = :info) ⇒ Object
- #log ⇒ Object
- #should_omit? ⇒ Boolean
- #ssl_certificate ⇒ Object
- #ssl_key ⇒ Object
- #url ⇒ Object
- #var_names ⇒ Object
- #warn(msg) ⇒ Object
Instance Method Details
#debug(msg) ⇒ Object
56 57 58 59 60 |
# File 'lib/net/knocker/env.rb', line 56 def debug(msg) return unless debugging? info(msg, __method__) end |
#debugging? ⇒ Boolean
62 63 64 65 66 67 |
# File 'lib/net/knocker/env.rb', line 62 def debugging? @debugging ||= begin env_debug = ENV.fetch('NET_KNOCKER_DEBUG', false).to_s.downcase %w[true yes yep 1].include? env_debug end end |
#env_secret ⇒ Object
10 11 12 |
# File 'lib/net/knocker/env.rb', line 10 def env_secret @env_secret ||= ENV.fetch('NET_KNOCKER_SECRET') end |
#error(msg) ⇒ Object
48 49 50 |
# File 'lib/net/knocker/env.rb', line 48 def error(msg) info(msg, __method__) end |
#http_client ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/net/knocker/env.rb', line 14 def http_client @http_client ||= Net::HTTP.new(url.host, url.port).tap do |http| http.use_ssl = true http.cert = ssl_certificate http.key = ssl_key http.set_debug_output $stderr if ENV.key? 'NET_KNOCKER_DEBUG' end end |
#info(msg, method = :info) ⇒ Object
43 44 45 46 |
# File 'lib/net/knocker/env.rb', line 43 def info(msg, method = :info) = [Net::Knocker, Process.pid, method.to_s.upcase].join('][') log.send(method, "[#{tags}] #{msg}") end |
#log ⇒ Object
79 80 81 82 83 84 85 86 87 |
# File 'lib/net/knocker/env.rb', line 79 def log @log ||= if (defined? logger) && (logger.respond_to? :debug) logger elsif (defined? Rails.logger) && (Rails.logger.respond_to? :debug) Rails.logger else ::Logger.new($stderr) end end |
#should_omit? ⇒ Boolean
23 24 25 |
# File 'lib/net/knocker/env.rb', line 23 def should_omit? @should_omit ||= (%w[NET_KNOCKER_URL NET_KNOCKER_SECRET] - ENV.keys).any? end |
#ssl_certificate ⇒ Object
69 70 71 |
# File 'lib/net/knocker/env.rb', line 69 def ssl_certificate @ssl_certificate ||= OpenSSL::X509::Certificate.new(env_secret) end |
#ssl_key ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/net/knocker/env.rb', line 27 def ssl_key @ssl_key ||= begin key_class = case ssl_certificate.signature_algorithm when /^ecdsa/ OpenSSL::PKey::EC when /^rsa/ OpenSSL::PKey::RSA when /^dsa/ OpenSSL::PKey::DSA else raise "Unknown key type: #{ssl_certificate.signature_algorithm}" end key_class.new(env_secret) end end |
#url ⇒ Object
73 74 75 76 77 |
# File 'lib/net/knocker/env.rb', line 73 def url return if should_omit? @url ||= URI.parse(ENV.fetch('NET_KNOCKER_URL')) end |
#var_names ⇒ Object
89 90 91 |
# File 'lib/net/knocker/env.rb', line 89 def var_names @var_names ||= %w[NET_KNOCKER_SECRET NET_KNOCKER_URL].freeze end |
#warn(msg) ⇒ Object
52 53 54 |
# File 'lib/net/knocker/env.rb', line 52 def warn(msg) info(msg, __method__) end |