profit 0.1.6 → 0.1.7

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
  SHA1:
3
- metadata.gz: 0c983db22327639739ccddb2f961937262b8e152
4
- data.tar.gz: fe2b3e21664863d794668263a95cd33dc55a7097
3
+ metadata.gz: 969014059784a1038daecb61130159475a5f1e8c
4
+ data.tar.gz: 881e0405ff428044a1a5259f46b5b2d3dfc73a75
5
5
  SHA512:
6
- metadata.gz: 342be70e08be5ec0d08174327c765bde22a03c2fe53ff7a7ba5a2713fe64d048cafb7333f23f950bd9307add002ef67e8550c6993282b594a0b5db6af78c2ab8
7
- data.tar.gz: fabf7ce5dc33fd63b4829d3073d718479a21cbcc240db36632a329144125f147b9d7df877d8b5111c14993a902e7939825ee1f79a31d6d583899e675cf9896e1
6
+ metadata.gz: d883e32d14df825d4de4fa6de6d95b870edf81ef4cf909120acd2b25941ba7c10cca17c58c853103d69884172b33182679d71cf26f95b349ed62a96405dcb863
7
+ data.tar.gz: 6f5b0edf6ab67d83f7c5926b172b35acb7c7335122a8d6100ec35ba5fcd39d040e58428b62d900ff303fa4b8475067eeebb7d285193b44ba3cf34ab9730c8f7e
@@ -19,4 +19,16 @@
19
19
  }
20
20
  charts[key] = new Chart(ctx).Line(data);
21
21
  });
22
+
23
+ $('a[data-toggle="tab"]').on('shown', function (e) {
24
+ var targetAnchor = $(e.target).attr('id');
25
+ var baseUrl = document.location.href.split("#")[0];
26
+ document.location.href = baseUrl + "#" + targetAnchor;
27
+ });
28
+
29
+ $(document).ready(function() {
30
+ var targetAnchor = document.location.href.split("#")[1];
31
+ $("#" + targetAnchor).tab("show");
32
+ });
33
+
22
34
  })(jQuery);
@@ -55,8 +55,6 @@
55
55
  </div>
56
56
  </div>
57
57
 
58
-
59
-
60
58
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
61
59
  <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.1.js"><\/script>')</script>
62
60
 
@@ -1,3 +1,3 @@
1
1
  module Profit
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -66,8 +66,8 @@ describe Profit::Server do
66
66
 
67
67
  set = redis.smembers("profit:keys")
68
68
  expect(set.count).to eq 2
69
- expect(set.to_a).to eq ["profit:metric:other_piece_of_code",
70
- "profit:metric:some_slow_piece_of_code"]
69
+ expect(set.to_a.sort).to eq ["profit:metric:other_piece_of_code",
70
+ "profit:metric:some_slow_piece_of_code"]
71
71
  end
72
72
 
73
73
  it "limits messages to 100" do
@@ -1,5 +1,13 @@
1
1
  require 'spec_helper'
2
2
 
3
+ def current_path
4
+ ["/", page.evaluate_script("document.location.href.split('/')").last].join
5
+ end
6
+
7
+ def active_link
8
+ page.find("li.active a")
9
+ end
10
+
3
11
  describe 'Chart App' do
4
12
 
5
13
  let!(:redis) { Redis.new(host: "127.0.0.1", port: 6379) }
@@ -21,8 +29,52 @@ describe 'Chart App' do
21
29
  sleep 0.1
22
30
  client.stop("some_foo_metric")
23
31
 
32
+ Timeout.timeout(1) do
33
+ sleep(0.01) until redis.smembers("profit:keys").any?
34
+ end
35
+
24
36
  visit '/'
25
37
 
26
38
  expect(page).to have_link("some_foo_metric")
27
39
  end
40
+
41
+ describe "urls", js: true do
42
+
43
+ before do
44
+ client.start("metric_1")
45
+ sleep 0.1
46
+ client.stop("metric_1")
47
+
48
+ client.start("metric_2")
49
+ sleep 0.1
50
+ client.stop("metric_2")
51
+ end
52
+
53
+ it "changes the url based on the current tab" do
54
+ visit "/"
55
+ expect(active_link.text).to eq "metric_2"
56
+ expect(current_path).to eq "/"
57
+
58
+ click_link("metric_1")
59
+
60
+ expect(active_link.text).to eq "metric_1"
61
+ expect(current_url).to match(/\/\#metric_1/)
62
+
63
+ click_link("metric_2")
64
+
65
+ expect(active_link.text).to eq "metric_2"
66
+ expect(current_url).to match(/\/\#metric_2/)
67
+ end
68
+
69
+ it "loads the tab according to the url's anchor" do
70
+ visit "/#metric_1"
71
+
72
+ expect(active_link.text).to eq "metric_1"
73
+
74
+ # TODO: have to load the page twice for now, investigate cause
75
+ visit "/#metric_2" and visit "/#metric_2"
76
+
77
+ expect(active_link.text).to eq "metric_2"
78
+ end
79
+ end
28
80
  end
@@ -3,6 +3,8 @@ require './lib/profit/app/chart_app'
3
3
  require 'redis'
4
4
  require 'capybara'
5
5
  require 'capybara/dsl'
6
+ require 'capybara/rspec'
7
+ require 'capybara/webkit'
6
8
 
7
9
  set :environment, :test
8
10
 
@@ -18,6 +20,7 @@ class TestServer
18
20
  end
19
21
 
20
22
  Capybara.app = ChartApp
23
+ Capybara.javascript_driver = :webkit
21
24
 
22
25
  RSpec.configure do |config|
23
26
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: profit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave Rogers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-17 00:00:00.000000000 Z
11
+ date: 2013-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - '>='
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: capybara-webkit
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
195
209
  description: This is a client/server combination that allows you to profile code and
196
210
  send the results to a remote Redis server.
197
211
  email:
@@ -251,7 +265,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
251
265
  version: '0'
252
266
  requirements: []
253
267
  rubyforge_project:
254
- rubygems_version: 2.0.0
268
+ rubygems_version: 2.0.3
255
269
  signing_key:
256
270
  specification_version: 4
257
271
  summary: A simple library to store profiling information for ruby code.