fiveruns_tuneup 0.8.6 → 0.8.7

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,5 +1,11 @@
1
+ v0.8.7. Sandboxed javascript for non-Prototype apps (Thanks, Howard Rauscher). The tuneup.log now written explicitly to RAILS_ROOT/log. Removed History.rdoc in favor of CHANGELOG.
2
+
1
3
  v0.8.6. Performance optimizations, CSS fixes that prevents some layout issues that occurred when system doesn't have tuneup's preferred fonts.
2
4
 
3
5
  v0.8.5. Handle valid content types other than text/html (like strict XHTML with content type application/xhmtl+xml).
4
6
 
5
- v0.8.4. Alert notices push down absolute/fixed elements.
7
+ v0.8.4. Fixes for forgery protection breaking the panel, significant work on display issues (including CSS isolation concerns and alert notices pushing down absolute/fixed elements), and support for environmental configuration. Support for Rails 2.1 development mode as a gem dependency.
8
+
9
+ v0.8.3. Beta release.
10
+
11
+ v0.8.1. First gem package with basic functionality
@@ -0,0 +1 @@
1
+ * 2008-06-14: Howard Rauscher; merged javascript sandboxing code from git://github.com/howardr/fiveruns_tuneup.git (master:8cc558dbe)
data/Manifest CHANGED
@@ -12,12 +12,13 @@ assets/images/schema.png
12
12
  assets/images/signin.gif
13
13
  assets/images/spinner.gif
14
14
  assets/images/warning.gif
15
+ assets/javascripts/init.js
15
16
  assets/javascripts/prototype.js
16
17
  assets/javascripts/tuneup.js
17
18
  assets/stylesheets/tuneup.css
18
19
  bin/fiveruns_tuneup
19
20
  CHANGELOG
20
- History.rdoc
21
+ CONTRIBUTORS
21
22
  init.rb
22
23
  install.rb
23
24
  lib/bumpspark_helper.rb
@@ -41,6 +42,7 @@ lib/fiveruns_tuneup.rb
41
42
  lib/tuneup_config.rb
42
43
  lib/tuneup_controller.rb
43
44
  lib/tuneup_helper.rb
45
+ Manifest
44
46
  rails/init.rb
45
47
  Rakefile
46
48
  README.rdoc
@@ -56,4 +58,4 @@ views/tuneup/_sql.html.erb
56
58
  views/tuneup/_step.html.erb
57
59
  views/tuneup/panel/_registered.html.erb
58
60
  views/tuneup/panel/_unregistered.html.erb
59
- Manifest
61
+ views/tuneup/sandbox.html.erb
File without changes
File without changes
File without changes
@@ -0,0 +1,12 @@
1
+ // setTimeout will not be called untilled the DOM is loaded
2
+ setTimeout(function() {
3
+ var ifr = document.createElement('iframe');
4
+ ifr.src = '/tuneup/sandbox';
5
+
6
+ var style = ifr.style;
7
+ style.visibility = 'hidden';
8
+ style.width = '0';
9
+ style.height = '0';
10
+
11
+ document.body.appendChild(ifr);
12
+ }, 0);
@@ -1,3 +1,29 @@
1
+ var _window = window.parent, // window obj of the main page
2
+ _document = _window.document, // document obj of the main page
3
+ TuneUp = _window.TuneUp; // TuneUp obj from declared on main page
4
+
5
+ var _$ = $; // rename Protoype bling
6
+ // our new bling will reference our main window then call Prototype bling
7
+ $ = function(element) {
8
+ if(typeof element == 'string') {
9
+ element = _document.getElementById(element);
10
+ }
11
+
12
+ return _$(element);
13
+ };
14
+
15
+ var _$$ = $$; // rename Protoype double bling
16
+ // our new double bling will reference our main window then call Prototype bling
17
+ $$ = function() {
18
+ return Selector.findChildElements(_document, $A(arguments));
19
+ }
20
+
21
+ // ensures that Prototypes Element.extend actually exstend another frames node
22
+ _nativeExtensions = false;
23
+
24
+ _window.TuneUpSandbox = window;
25
+
26
+
1
27
  TuneUp.switchSchema = function(table) {
2
28
  var element = $('tuneup-schema-table-' + table);
3
29
  var operation = element.visible() ? 'hide' : 'show';
@@ -11,7 +37,7 @@ TuneUp.Spinner = {
11
37
  }
12
38
 
13
39
  TuneUp.adjustElement = function(e) {
14
- var top = parseFloat(e.getStyle('top') || 0);
40
+ var top = parseFloat(Element.getStyle(e, 'top') || 0);
15
41
  var adjust = 0;
16
42
 
17
43
  if ($('tuneup-flash').hasClassName('tuneup-show')) {
@@ -36,8 +62,8 @@ TuneUp.adjustElement = function(e) {
36
62
  }
37
63
 
38
64
  TuneUp.adjustFixedElements = function(e) {
39
- document.body.descendants().each(function(e) {
40
- var pos = e.getStyle('position');
65
+ $(_document.body).descendants().each(function(e) {
66
+ var pos = Element.getStyle(e, 'position');
41
67
  if (pos == 'fixed') {
42
68
  TuneUp.adjustElement(e);
43
69
  }
@@ -45,11 +71,11 @@ TuneUp.adjustFixedElements = function(e) {
45
71
  }
46
72
 
47
73
  TuneUp.adjustAbsoluteElements = function(e) {
48
- e.immediateDescendants().each(function (e) {
74
+ $(e).immediateDescendants().each(function (e) {
49
75
  if (e.id == "tuneup") {
50
76
  return;
51
77
  }
52
- var pos = e.getStyle('position');
78
+ var pos = Element.getStyle(e, 'position');
53
79
  if (pos == 'absolute') {
54
80
  TuneUp.adjustElement(e);
55
81
  TuneUp.adjustAbsoluteElements(e);
@@ -64,17 +90,16 @@ TuneUp.adjustAbsoluteElements = function(e) {
64
90
  }
65
91
 
66
92
  Event.observe(window, 'load', function() {
67
- new Insertion.Top(document.body, "<div id='tuneup'><h1>FiveRuns TuneUp</h1><img id='tuneup_spinner' style='display:none' src='/images/tuneup/spinner.gif' alt=''/><div id='tuneup-content' style='display:block'></div></div><div id='tuneup-flash'></div>");
93
+ new Insertion.Top(_document.body, "<div id='tuneup'><h1>FiveRuns TuneUp</h1><img id='tuneup_spinner' style='display:none' src='/images/tuneup/spinner.gif' alt=''/><div id='tuneup-content' style='display:block'></div></div><div id='tuneup-flash'></div>");
68
94
 
69
- TuneUp.adjustAbsoluteElements(document.body);
95
+ TuneUp.adjustAbsoluteElements(_document.body);
70
96
  TuneUp.adjustFixedElements();
71
97
 
72
- new Ajax.Request('/tuneup?uri=' + encodeURIComponent(document.location.href),
73
- {
74
- asynchronous:true,
75
- evalScripts:true,
76
- onLoading: TuneUp.Spinner.start,
77
- onComplete: TuneUp.Spinner.stop
98
+ new Ajax.Request('/tuneup?uri=' + encodeURIComponent(_document.location.href), {
99
+ asynchronous : true,
100
+ evalScripts : true,
101
+ onLoading : TuneUp.Spinner.start,
102
+ onComplete : TuneUp.Spinner.stop
78
103
  });
79
104
  });
80
105
 
File without changes
File without changes
@@ -1,28 +1,28 @@
1
1
 
2
- # Gem::Specification for Fiveruns_tuneup-0.8.6
2
+ # Gem::Specification for Fiveruns_tuneup-0.8.7
3
3
  # Originally generated by Echoe
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = %q{fiveruns_tuneup}
7
- s.version = "0.8.6"
7
+ s.version = "0.8.7"
8
8
 
9
9
  s.specification_version = 2 if s.respond_to? :specification_version=
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.authors = ["FiveRuns Development Team"]
13
- s.date = %q{2008-06-13}
13
+ s.date = %q{2008-06-18}
14
14
  s.default_executable = %q{fiveruns_tuneup}
15
15
  s.description = %q{Instrumentation for the FiveRuns TuneUp product.}
16
16
  s.email = %q{dev@fiveruns.com}
17
17
  s.executables = ["fiveruns_tuneup"]
18
18
  s.extra_rdoc_files = ["bin/fiveruns_tuneup", "CHANGELOG", "lib/bumpspark_helper.rb", "lib/fiveruns/tuneup/asset_tags.rb", "lib/fiveruns/tuneup/configuration.rb", "lib/fiveruns/tuneup/custom_methods.rb", "lib/fiveruns/tuneup/environment.rb", "lib/fiveruns/tuneup/instrumentation/action_controller/base.rb", "lib/fiveruns/tuneup/instrumentation/action_view/base.rb", "lib/fiveruns/tuneup/instrumentation/active_record/base.rb", "lib/fiveruns/tuneup/instrumentation/cgi/session.rb", "lib/fiveruns/tuneup/instrumentation/utilities.rb", "lib/fiveruns/tuneup/multipart.rb", "lib/fiveruns/tuneup/runs.rb", "lib/fiveruns/tuneup/schema.rb", "lib/fiveruns/tuneup/step.rb", "lib/fiveruns/tuneup/urls.rb", "lib/fiveruns/tuneup/version.rb", "lib/fiveruns/tuneup.rb", "lib/fiveruns_tuneup.rb", "lib/tuneup_config.rb", "lib/tuneup_controller.rb", "lib/tuneup_helper.rb", "README.rdoc", "tasks/assets.rake"]
19
- s.files = ["assets/images/arrows.gif", "assets/images/edit.png", "assets/images/fade.png", "assets/images/fade_down.png", "assets/images/head.gif", "assets/images/logo.gif", "assets/images/logo_clear.png", "assets/images/magnify.png", "assets/images/pip.gif", "assets/images/pointer.gif", "assets/images/schema.png", "assets/images/signin.gif", "assets/images/spinner.gif", "assets/images/warning.gif", "assets/javascripts/prototype.js", "assets/javascripts/tuneup.js", "assets/stylesheets/tuneup.css", "bin/fiveruns_tuneup", "CHANGELOG", "History.rdoc", "init.rb", "install.rb", "lib/bumpspark_helper.rb", "lib/fiveruns/tuneup/asset_tags.rb", "lib/fiveruns/tuneup/configuration.rb", "lib/fiveruns/tuneup/custom_methods.rb", "lib/fiveruns/tuneup/environment.rb", "lib/fiveruns/tuneup/instrumentation/action_controller/base.rb", "lib/fiveruns/tuneup/instrumentation/action_view/base.rb", "lib/fiveruns/tuneup/instrumentation/active_record/base.rb", "lib/fiveruns/tuneup/instrumentation/cgi/session.rb", "lib/fiveruns/tuneup/instrumentation/utilities.rb", "lib/fiveruns/tuneup/multipart.rb", "lib/fiveruns/tuneup/runs.rb", "lib/fiveruns/tuneup/schema.rb", "lib/fiveruns/tuneup/step.rb", "lib/fiveruns/tuneup/urls.rb", "lib/fiveruns/tuneup/version.rb", "lib/fiveruns/tuneup.rb", "lib/fiveruns_tuneup.rb", "lib/tuneup_config.rb", "lib/tuneup_controller.rb", "lib/tuneup_helper.rb", "rails/init.rb", "Rakefile", "README.rdoc", "tasks/assets.rake", "test/test_helper.rb", "test/tuneup_test.rb", "uninstall.rb", "views/tuneup/_data.html.erb", "views/tuneup/_flash.html.erb", "views/tuneup/_link.html.erb", "views/tuneup/_schema.html.erb", "views/tuneup/_sql.html.erb", "views/tuneup/_step.html.erb", "views/tuneup/panel/_registered.html.erb", "views/tuneup/panel/_unregistered.html.erb", "Manifest", "fiveruns_tuneup.gemspec"]
19
+ s.files = ["assets/images/arrows.gif", "assets/images/edit.png", "assets/images/fade.png", "assets/images/fade_down.png", "assets/images/head.gif", "assets/images/logo.gif", "assets/images/logo_clear.png", "assets/images/magnify.png", "assets/images/pip.gif", "assets/images/pointer.gif", "assets/images/schema.png", "assets/images/signin.gif", "assets/images/spinner.gif", "assets/images/warning.gif", "assets/javascripts/init.js", "assets/javascripts/prototype.js", "assets/javascripts/tuneup.js", "assets/stylesheets/tuneup.css", "bin/fiveruns_tuneup", "CHANGELOG", "CONTRIBUTORS", "init.rb", "install.rb", "lib/bumpspark_helper.rb", "lib/fiveruns/tuneup/asset_tags.rb", "lib/fiveruns/tuneup/configuration.rb", "lib/fiveruns/tuneup/custom_methods.rb", "lib/fiveruns/tuneup/environment.rb", "lib/fiveruns/tuneup/instrumentation/action_controller/base.rb", "lib/fiveruns/tuneup/instrumentation/action_view/base.rb", "lib/fiveruns/tuneup/instrumentation/active_record/base.rb", "lib/fiveruns/tuneup/instrumentation/cgi/session.rb", "lib/fiveruns/tuneup/instrumentation/utilities.rb", "lib/fiveruns/tuneup/multipart.rb", "lib/fiveruns/tuneup/runs.rb", "lib/fiveruns/tuneup/schema.rb", "lib/fiveruns/tuneup/step.rb", "lib/fiveruns/tuneup/urls.rb", "lib/fiveruns/tuneup/version.rb", "lib/fiveruns/tuneup.rb", "lib/fiveruns_tuneup.rb", "lib/tuneup_config.rb", "lib/tuneup_controller.rb", "lib/tuneup_helper.rb", "Manifest", "rails/init.rb", "Rakefile", "README.rdoc", "tasks/assets.rake", "test/test_helper.rb", "test/tuneup_test.rb", "uninstall.rb", "views/tuneup/_data.html.erb", "views/tuneup/_flash.html.erb", "views/tuneup/_link.html.erb", "views/tuneup/_schema.html.erb", "views/tuneup/_sql.html.erb", "views/tuneup/_step.html.erb", "views/tuneup/panel/_registered.html.erb", "views/tuneup/panel/_unregistered.html.erb", "views/tuneup/sandbox.html.erb", "fiveruns_tuneup.gemspec"]
20
20
  s.has_rdoc = true
21
21
  s.homepage = %q{http://github.com/fiveruns/fiveruns_tuneup}
22
22
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Fiveruns_tuneup", "--main", "README.rdoc"]
23
23
  s.require_paths = ["lib"]
24
24
  s.rubyforge_project = %q{fiveruns}
25
- s.rubygems_version = %q{1.0.1}
25
+ s.rubygems_version = %q{1.1.1}
26
26
  s.summary = %q{Instrumentation for the FiveRuns TuneUp product.}
27
27
  s.test_files = ["test/test_helper.rb", "test/tuneup_test.rb"]
28
28
 
@@ -8,7 +8,7 @@ require File.dirname(__FILE__) << '/tuneup/step'
8
8
  module Fiveruns
9
9
  module Tuneup
10
10
 
11
- LOGGER = Logger.new('log/tuneup.log')
11
+ LOGGER = Logger.new(File.join(RAILS_ROOT || '', "log/tuneup.log"))
12
12
 
13
13
  class << self
14
14
 
@@ -9,15 +9,12 @@ module Fiveruns
9
9
  if after
10
10
  insertion = %(
11
11
  <!-- START FIVERUNS TUNEUP ASSETS -->
12
- <link rel='stylesheet' type='text/css' href='/stylesheets/tuneup/tuneup.css'/>
13
- #{insert_prototype unless response.body.include?('prototype.js')}
14
- <script type='text/javascript'>
15
- var TuneUp = {};
16
- TuneUp.frontend_url = "#{Fiveruns::Tuneup.frontend_url}";
17
- </script>
18
- <script type='text/javascript' src='/javascripts/tuneup/tuneup.js'></script>
12
+ <link rel="stylesheet" type="text/css" href="/stylesheets/tuneup/tuneup.css" />
13
+ <script type="text/javascript"> var TuneUp = { frontend_url : '#{Fiveruns::Tuneup.frontend_url}'}; </script>
14
+ <script type="text/javascript" src="/javascripts/tuneup/init.js"></script>
19
15
  <!-- END FIVERUNS TUNEUP ASSETS -->
20
16
  )
17
+
21
18
  response.headers["Content-Length"] += insertion.size
22
19
  response.body.replace(before << insertion << '</head>' << after)
23
20
  log :error, "Inserted asset tags"
@@ -34,7 +34,7 @@ module Fiveruns
34
34
  end
35
35
  def process_with_fiveruns_tuneup(request, response, *args, &block)
36
36
  result = process_without_fiveruns_tuneup(request, response, *args, &block)
37
- if !request.xhr? && response.content_type && response.content_type.include?('html')
37
+ if !request.xhr? && response.content_type && response.content_type.include?('html') && controller_name != 'tuneup'
38
38
  Fiveruns::Tuneup.add_asset_tags_to(response)
39
39
  end
40
40
  result
@@ -66,7 +66,7 @@ module Fiveruns
66
66
 
67
67
  MAJOR = 0
68
68
  MINOR = 8
69
- TINY = 6
69
+ TINY = 7
70
70
 
71
71
  # The current version as a Version instance
72
72
  CURRENT = new(MAJOR, MINOR, TINY)
@@ -75,6 +75,10 @@ class TuneupController < ActionController::Base
75
75
  collect false
76
76
  end
77
77
 
78
+ def sandbox
79
+
80
+ end
81
+
78
82
  #######
79
83
  private
80
84
  #######
@@ -12,7 +12,7 @@ module TuneupHelper #:nodoc:
12
12
 
13
13
  def tuneup_collection_link
14
14
  state = tuneup_collecting? ? :off : :on
15
- link_to_remote "Turn #{state.to_s.titleize}", :url => "/tuneup/#{state}"
15
+ %|<a onclick="new TuneUpSandbox.Ajax.Request('/tuneup/#{state}', {asynchronous:true, evalScripts:true}); return false;" href="#">Turn #{state.to_s.titleize}</a>|
16
16
  end
17
17
 
18
18
  def tuneup_recording?
@@ -60,7 +60,7 @@ module TuneupHelper #:nodoc:
60
60
  def tuneup_step_link(step)
61
61
  name = tuneup_style_step_name(tuneup_truncate_step_name(step))
62
62
  link = if step.children.any?
63
- link_to_function(name, "$('#{dom_id(step, :children)}').toggle();$('#{dom_id(step)}').toggleClassName('tuneup-opened');", :class => "tuneup-step-link")
63
+ link_to_function(name, "TuneUpSandbox.$('#{dom_id(step, :children)}').toggle();TuneUpSandbox.$('#{dom_id(step)}').toggleClassName('tuneup-opened');", :class => "tuneup-step-link")
64
64
  else
65
65
  name
66
66
  end
@@ -68,11 +68,7 @@ module TuneupHelper #:nodoc:
68
68
  end
69
69
 
70
70
  def link_to_upload
71
- link_to_remote "Upload this Run",
72
- :url => "/tuneup/upload?uri=#{CGI.escape(params[:uri])}",
73
- :loading => '$("tuneup-top").hide(); TuneUp.Spinner.start()',
74
- :complete => ' TuneUp.Spinner.stop(); $("tuneup-top").show();',
75
- :html => {:id => 'tuneup-save-link'}
71
+ %|<a onclick="new TuneUpSandbox.Ajax.Request('/tuneup/upload?uri=#{CGI.escape(params[:uri])}', {asynchronous:true, evalScripts:true, onComplete:function(request){ TuneUp.Spinner.stop(); TuneUpSandbox.$('tuneup-top').show();}, onLoading:function(request){TuneUpSandbox.$('tuneup-top').hide(); TuneUp.Spinner.start()}}); return false;" id="tuneup-save-link" href="#">Share this Run</a>|
76
72
  end
77
73
 
78
74
  def additional_step_links(step)
@@ -162,7 +158,7 @@ module TuneupHelper #:nodoc:
162
158
  update_page do |page|
163
159
  page['tuneup-flash'].removeClassName('tuneup-show');
164
160
  page['tuneup-content'].replace_html(render(:partial => "tuneup/panel/#{@config.state}"))
165
- page << 'TuneUp.adjustAbsoluteElements(document.body);'
161
+ page << 'TuneUp.adjustAbsoluteElements(_document.body);'
166
162
  page << 'TuneUp.adjustFixedElements();'
167
163
  end
168
164
  end
@@ -176,7 +172,7 @@ module TuneupHelper #:nodoc:
176
172
  page['tuneup-flash'].removeClassName("tuneup-#{other_type}")
177
173
  end
178
174
  page['tuneup-flash'].addClassName("tuneup-#{type}");
179
- page << 'TuneUp.adjustAbsoluteElements(document.body);'
175
+ page << 'TuneUp.adjustAbsoluteElements(_document.body);'
180
176
  page << 'TuneUp.adjustFixedElements();'
181
177
  end
182
178
  end
@@ -1,4 +1,4 @@
1
- <% form_remote_tag :url => '/tuneup/signin', :loading => 'TuneUp.Spinner.start()', :complete => 'TuneUp.Spinner.stop()' do %>
1
+ <form onsubmit="new TuneUpSandbox.Ajax.Request('/tuneup/signin', {asynchronous:true, evalScripts:true, onComplete:function(request){TuneUp.Spinner.stop()}, onLoading:function(request){TuneUp.Spinner.start()}, parameters:Form.serialize(this)}); return false;" method="post" action="/tuneup/signin">
2
2
  <p class='tuneup-full'>
3
3
  <label for='email'>Email</label>
4
4
  <%= text_field_tag :email, nil, :size => 20 %>
@@ -10,5 +10,4 @@
10
10
  or
11
11
  <%= link_to "Sign Up for an Account", tuneup_signup_url %>
12
12
  </p>
13
-
14
- <% end %>
13
+ </form>
@@ -0,0 +1,6 @@
1
+ <html><head>
2
+ <script type="text/javascript" src="/javascripts/tuneup/prototype.js"></script>
3
+ <script type="text/javascript" src="/javascripts/tuneup/tuneup.js"></script>
4
+ <script type="text/javascript"></script>
5
+ </head><body>
6
+ </body></html>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fiveruns_tuneup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.6
4
+ version: 0.8.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - FiveRuns Development Team
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-06-13 00:00:00 -05:00
12
+ date: 2008-06-18 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -68,12 +68,13 @@ files:
68
68
  - assets/images/signin.gif
69
69
  - assets/images/spinner.gif
70
70
  - assets/images/warning.gif
71
+ - assets/javascripts/init.js
71
72
  - assets/javascripts/prototype.js
72
73
  - assets/javascripts/tuneup.js
73
74
  - assets/stylesheets/tuneup.css
74
75
  - bin/fiveruns_tuneup
75
76
  - CHANGELOG
76
- - History.rdoc
77
+ - CONTRIBUTORS
77
78
  - init.rb
78
79
  - install.rb
79
80
  - lib/bumpspark_helper.rb
@@ -97,6 +98,7 @@ files:
97
98
  - lib/tuneup_config.rb
98
99
  - lib/tuneup_controller.rb
99
100
  - lib/tuneup_helper.rb
101
+ - Manifest
100
102
  - rails/init.rb
101
103
  - Rakefile
102
104
  - README.rdoc
@@ -112,7 +114,7 @@ files:
112
114
  - views/tuneup/_step.html.erb
113
115
  - views/tuneup/panel/_registered.html.erb
114
116
  - views/tuneup/panel/_unregistered.html.erb
115
- - Manifest
117
+ - views/tuneup/sandbox.html.erb
116
118
  - fiveruns_tuneup.gemspec
117
119
  has_rdoc: true
118
120
  homepage: http://github.com/fiveruns/fiveruns_tuneup
@@ -141,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
143
  requirements: []
142
144
 
143
145
  rubyforge_project: fiveruns
144
- rubygems_version: 1.0.1
146
+ rubygems_version: 1.1.1
145
147
  signing_key:
146
148
  specification_version: 2
147
149
  summary: Instrumentation for the FiveRuns TuneUp product.
@@ -1,7 +0,0 @@
1
- = History
2
-
3
- * v0.8.4. Fixes for forgery protection breaking the panel, significant work on display issues including CSS isolation concerns, and support for environmental configuration. Support for Rails 2.1 development mode as a gem dependency.
4
-
5
- * v0.8.3. Beta release.
6
-
7
- * v0.8.1. First gem package with basic functionality