kibana-sinatra 0.0.4 → 0.0.5
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 +4 -4
- data/.travis.yml +5 -0
- data/README.md +3 -2
- data/Rakefile +7 -0
- data/kibana-sinatra.gemspec +1 -0
- data/lib/kibana/sinatra/version.rb +1 -1
- data/lib/kibana/sinatra/web.rb +2 -2
- data/lib/kibana/views/config.erb +2 -2
- data/lib/tasks/update.rb +2 -2
- data/test/sinatra_test.rb +65 -0
- metadata +20 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 488b10d33481ec09a9be9de778d08b984898b6d8
|
4
|
+
data.tar.gz: 9b115a2965cba2cb58bc0f01e03c745f7c2af59a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a31c619687789b0f096ac3e9b86b864df72d6b7c07456cb4aae77a940ca8a3f02e486fe7ad4993c6dc531c4b7a6f81567b920dd7c231c809e880a759f15ae68
|
7
|
+
data.tar.gz: 8eae148863560503a60ee3685ca805e53304c574835fb646c0c8d46b7b56748587b2949425444cebfdad4537cfe8396c356f476cb340d4ca223ce9d617d1e43e
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Kibana::Sinatra
|
2
2
|
|
3
3
|
[](https://gemnasium.com/ianneub/kibana-sinatra)
|
4
|
+
[](https://travis-ci.org/ianneub/kibana-sinatra)
|
4
5
|
|
5
6
|
This gem provides [Kibana 3](https://github.com/elasticsearch/kibana) inside a [Sinatra](http://www.sinatrarb.com/) app that you can include in any Rack based system, including Rails.
|
6
7
|
|
@@ -31,11 +32,11 @@ Create a new file in `config/initializers` and include the following code. Repla
|
|
31
32
|
```ruby
|
32
33
|
module Kibana::Sinatra
|
33
34
|
class Web
|
34
|
-
def
|
35
|
+
def elasticsearch_url
|
35
36
|
"http://\"+window.location.hostname+\":9200"
|
36
37
|
end
|
37
38
|
|
38
|
-
def
|
39
|
+
def kibana_index
|
39
40
|
"kibana-int"
|
40
41
|
end
|
41
42
|
end
|
data/Rakefile
CHANGED
data/kibana-sinatra.gemspec
CHANGED
data/lib/kibana/sinatra/web.rb
CHANGED
data/lib/kibana/views/config.erb
CHANGED
@@ -18,14 +18,14 @@ function (Settings) {
|
|
18
18
|
* elasticsearch host
|
19
19
|
* @type {String}
|
20
20
|
*/
|
21
|
-
elasticsearch: "<%=
|
21
|
+
elasticsearch: "<%= elasticsearch_url %>",
|
22
22
|
|
23
23
|
/**
|
24
24
|
* The default ES index to use for storing Kibana specific object
|
25
25
|
* such as stored dashboards
|
26
26
|
* @type {String}
|
27
27
|
*/
|
28
|
-
kibana_index: "<%=
|
28
|
+
kibana_index: "<%= kibana_index %>",
|
29
29
|
|
30
30
|
/**
|
31
31
|
* Panel modules available. Panels will only be loaded when they are defined in the
|
data/lib/tasks/update.rb
CHANGED
@@ -35,8 +35,8 @@ task :update do
|
|
35
35
|
config_file = "#{asset_path}/../views/config.erb"
|
36
36
|
FileUtils.mv "#{asset_path}/config.js", config_file
|
37
37
|
text = File.read(config_file)
|
38
|
-
text.gsub!('http://"+window.location.hostname+":9200', '<%=
|
39
|
-
text.gsub!('"kibana-int"', '"<%=
|
38
|
+
text.gsub!('http://"+window.location.hostname+":9200', '<%= elasticsearch_url %>')
|
39
|
+
text.gsub!('"kibana-int"', '"<%= kibana_index %>"')
|
40
40
|
File.open(config_file, "w") {|file| file.write(text) }
|
41
41
|
end
|
42
42
|
|
@@ -0,0 +1,65 @@
|
|
1
|
+
ENV['RACK_ENV'] = 'test'
|
2
|
+
|
3
|
+
require 'kibana/sinatra'
|
4
|
+
require 'test/unit'
|
5
|
+
require 'rack/test'
|
6
|
+
|
7
|
+
class SinatraTest < Test::Unit::TestCase
|
8
|
+
include Rack::Test::Methods
|
9
|
+
|
10
|
+
def app
|
11
|
+
Kibana::Sinatra::Web
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_it_outputs_dashboard
|
15
|
+
get '/'
|
16
|
+
assert last_response.ok?
|
17
|
+
assert last_response.body.include?('{{dashboard.current.title}}')
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_it_renders_config_with_default_elasticsearch_url
|
21
|
+
get '/config.js'
|
22
|
+
assert last_response.ok?
|
23
|
+
assert last_response.body.include?('elasticsearch: "http://"+window.location.hostname+":9200"')
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_it_renders_config_with_custom_elasticsearch_url
|
27
|
+
elasticsearch_url = Proc.new { "http://asdf.com:9200" }
|
28
|
+
|
29
|
+
monkey_patch "elasticsearch_url", elasticsearch_url do
|
30
|
+
get '/config.js'
|
31
|
+
assert last_response.ok?
|
32
|
+
assert last_response.body.include?('elasticsearch: "http://asdf.com:9200"')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_it_renders_config_with_default_kibana_index
|
37
|
+
get '/config.js'
|
38
|
+
assert last_response.ok?
|
39
|
+
assert last_response.body.include?('kibana_index: "kibana-int"')
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_it_renders_config_with_custom_kibana_index
|
43
|
+
kibana_index = Proc.new { "asdf" }
|
44
|
+
|
45
|
+
monkey_patch "kibana_index", kibana_index do
|
46
|
+
get '/config.js'
|
47
|
+
assert last_response.ok?
|
48
|
+
assert last_response.body.include?('kibana_index: "asdf"')
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def monkey_patch(method_name, method_replacement)
|
53
|
+
Kibana::Sinatra::Web.class_eval do
|
54
|
+
alias_method "old_#{method_name}", method_name
|
55
|
+
define_method method_name, method_replacement
|
56
|
+
end
|
57
|
+
|
58
|
+
yield
|
59
|
+
|
60
|
+
Kibana::Sinatra::Web.class_eval do
|
61
|
+
alias_method method_name, "old_#{method_name}"
|
62
|
+
remove_method "old_#{method_name}"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kibana-sinatra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian Neubert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rack-test
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: sinatra
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,6 +103,7 @@ extensions: []
|
|
89
103
|
extra_rdoc_files: []
|
90
104
|
files:
|
91
105
|
- .gitignore
|
106
|
+
- .travis.yml
|
92
107
|
- Gemfile
|
93
108
|
- LICENSE.txt
|
94
109
|
- README.md
|
@@ -348,6 +363,7 @@ files:
|
|
348
363
|
- lib/kibana/sinatra/web.rb
|
349
364
|
- lib/kibana/views/config.erb
|
350
365
|
- lib/tasks/update.rb
|
366
|
+
- test/sinatra_test.rb
|
351
367
|
homepage: http://github.com/ianneub/kibana-sinatra
|
352
368
|
licenses:
|
353
369
|
- MIT
|
@@ -373,4 +389,5 @@ signing_key:
|
|
373
389
|
specification_version: 4
|
374
390
|
summary: This gem packages up Kibana 3 into a Sinatra app that can be used stand alone,
|
375
391
|
or with Rails.
|
376
|
-
test_files:
|
392
|
+
test_files:
|
393
|
+
- test/sinatra_test.rb
|