Skip to content

Commit 7b98dbb

Browse files
committed
Cleaning up code
Fixes #13
1 parent b780239 commit 7b98dbb

9 files changed

+31
-24
lines changed

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ruby:2.6-alpine
1+
FROM ruby:3.0-alpine
22

33
#RUN apt-get update -qq && apt-get install -y build-essential
44

config.ru

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
require 'grafana_matrix'
22

3-
config = GrafanaMatrix::Config.new 'config.yml'
3+
config = GrafanaMatrix::Config.global
4+
config.load! 'config.yml'
45
warn 'Specifying port/bind in config' if config.port? || config.bind?
56

67
Signal.trap('HUP') do
@@ -12,4 +13,6 @@ map '/health' do
1213
run -> { [200, { 'Content-Type' => 'text/plain' }, ['OK']] }
1314
end
1415

15-
run GrafanaMatrix::Server.new(config)
16+
map '/' do
17+
run GrafanaMatrix::Server.new
18+
end

grafana_matrix.gemspec

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require File.join File.expand_path('lib', __dir__), 'grafana_matrix/version'
24

35
Gem::Specification.new do |spec|

lib/grafana_matrix.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'grafana_matrix/config'
24
require 'grafana_matrix/image_handler'
35
require 'grafana_matrix/renderer'

lib/grafana_matrix/config.rb

+8-12
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'matrix_sdk'
24
require 'psych'
35

@@ -64,6 +66,10 @@ def client
6466
end
6567
end
6668

69+
def self.global
70+
@global ||= self.new
71+
end
72+
6773
def initialize(config = {})
6874
if config.is_a? String
6975
file = config
@@ -110,12 +116,7 @@ def client(client_name = nil)
110116
raise 'No client configuration found for name given' unless client_data
111117

112118
@clients[client_name] ||= begin
113-
client_data = client_data.dup
114-
115-
# Symbolize keys
116-
client_data.each_key do |key|
117-
client_data[(key.to_sym rescue key)] = client_data.delete key
118-
end
119+
client_data = client_data.dup.transform_keys { |key| key.to_sym rescue key }
119120

120121
MatrixSdk::Api.new(client_data[:url],
121122
**client_data.reject { |k, _v| %i[url].include? k })
@@ -126,12 +127,7 @@ def rules(rule_name)
126127
@config['rules']
127128
.select { |m| m['name'] == rule_name }
128129
.map do |rule_data|
129-
rule_data = rule_data.dup
130-
131-
# Symbolize keys
132-
rule_data.each_key do |key|
133-
rule_data[(key.to_sym rescue key)] = rule_data.delete key
134-
end
130+
rule_data = rule_data.dup.transform_keys { |key| key.to_sym rescue key }
135131

136132
Rule.new self, rule_data
137133
end

lib/grafana_matrix/image_handler.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require 'net/http'
24

35
module GrafanaMatrix

lib/grafana_matrix/renderer.rb

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module GrafanaMatrix
24
class Renderer
35
HTML_TEMPLATE = '%TEMPLATES%/html.erb'.freeze

lib/grafana_matrix/server.rb

+6-8
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,15 @@
44

55
module GrafanaMatrix
66
class Server < ::Sinatra::Base
7-
attr_reader :config, :renderer, :image_handler
8-
9-
def initialize(config)
10-
super
11-
12-
@config = config
13-
@renderer = GrafanaMatrix::Renderer.new
14-
@image_handler = GrafanaMatrix::ImageHandler.new
7+
configure :development, :production do
8+
enable :logging
159
end
1610

1711
helpers do
12+
def config; @config ||= GrafanaMatrix::Config.global; end
13+
def renderer; @renderer ||= GrafanaMatrix::Renderer.new; end
14+
def image_handler; @image_handler ||= GrafanaMatrix::ImageHandler.new; end
15+
1816
def authorized(user, pass)
1917
@auth ||= Rack::Auth::Basic::Request.new(request.env)
2018
@auth.provided? && @auth.basic? && @auth.credentials && @auth.credentials == [user, pass]

lib/grafana_matrix/version.rb

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module GrafanaMatrix
2-
VERSION = '0.0.1'.freeze
4+
VERSION = '0.0.1'
35
end

0 commit comments

Comments
 (0)