clientperf 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/CONTRIBUTORS ADDED
@@ -0,0 +1,3 @@
1
+ * Thanks to Howard Rauscher for providing much of the javascript measurement code.
2
+
3
+ * Thanks to the FiveRuns team, especially Bruce Williams for helping me to understand how to write rails plugins and hook into ActionController
data/History.rdoc CHANGED
@@ -1,3 +1,3 @@
1
1
  = History
2
-
2
+ * v0.0.2. First time releasing a gem and my manifest was bad. this version fixes that
3
3
  * v0.0.1. Just in time for Austin on Rails
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2008 Eric Falcao
2
+
3
+ Permission is hereby granted, free of charge, to any person
4
+ obtaining a copy of this software and associated documentation
5
+ files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use,
7
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the
9
+ Software is furnished to do so, subject to the following
10
+ conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
data/Manifest CHANGED
@@ -1,15 +1,20 @@
1
1
  bin/clientperf
2
+ CONTRIBUTORS
2
3
  History.rdoc
3
4
  init.rb
4
5
  lib/clientperf.rb
6
+ lib/clientperf_config.rb
5
7
  lib/clientperf_controller.rb
8
+ lib/clientperf_migrations.rb
6
9
  lib/clientperf_result.rb
7
10
  lib/clientperf_uri.rb
8
11
  lib/extend_action_controller.rb
12
+ LICENSE
9
13
  Manifest
10
14
  rails/init.rb
11
15
  Rakefile
12
16
  README.rdoc
17
+ TODO.rdoc
13
18
  views/clientperf/index.html.erb
14
19
  views/clientperf/show.html.erb
15
20
  views/layouts/clientperf.html.erb
data/Rakefile CHANGED
@@ -10,5 +10,6 @@ Echoe.new 'clientperf' do |p|
10
10
  p.project = 'clientperf'
11
11
  p.summary = "Instrumentation for the FiveRuns TuneUp product."
12
12
  p.url = "http://github.com/efalcao/clientperf"
13
+ p.dependencies = %w(activesupport)
13
14
  p.include_rakefile = true
14
15
  end
data/TODO.rdoc ADDED
@@ -0,0 +1,5 @@
1
+ = TODO
2
+ * charts
3
+ * make it pretty
4
+ * tests (how to test a plugin?)
5
+ * indexes? other small optimizations?
data/bin/clientperf CHANGED
@@ -2,7 +2,7 @@
2
2
  require 'fileutils'
3
3
  require File.dirname(__FILE__) << "/../lib/clientperf"
4
4
  require File.dirname(__FILE__) << "/../lib/clientperf_config"
5
- require File.dirname(__FILE__) << "/../lib/clientperf_migraions"
5
+ require File.dirname(__FILE__) << "/../lib/clientperf_migrations"
6
6
 
7
7
  # For older Rails versions
8
8
  # USAGE: clientperf [RAILS_ROOT]
@@ -25,7 +25,7 @@ File.readlines(File.dirname(__FILE__) << "/../Manifest").each do |line|
25
25
  end
26
26
  end
27
27
 
28
- ClientperfMigrations.install(rails_dir)
29
- ClientperfConfig.create_unless_exists
28
+ ClientperfMigrations.new(rails_dir).install_new
29
+ ClientperfConfig.create_unless_exists(rails_dir)
30
30
 
31
31
  STDERR.puts "Installed clientperf (v#{Clientperf.version}) in vendor/plugins/clientperf"
data/clientperf.gemspec CHANGED
@@ -1,10 +1,10 @@
1
1
 
2
- # Gem::Specification for Clientperf-0.0.1
2
+ # Gem::Specification for Clientperf-0.0.2
3
3
  # Originally generated by Echoe
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = %q{clientperf}
7
- s.version = "0.0.1"
7
+ s.version = "0.0.2"
8
8
 
9
9
  s.specification_version = 2 if s.respond_to? :specification_version=
10
10
 
@@ -15,8 +15,8 @@ Gem::Specification.new do |s|
15
15
  s.description = %q{Instrumentation for the FiveRuns TuneUp product.}
16
16
  s.email = %q{efalcao@gmail.com}
17
17
  s.executables = ["clientperf"]
18
- s.extra_rdoc_files = ["bin/clientperf", "lib/clientperf.rb", "lib/clientperf_controller.rb", "lib/clientperf_result.rb", "lib/clientperf_uri.rb", "lib/extend_action_controller.rb", "README.rdoc"]
19
- s.files = ["bin/clientperf", "History.rdoc", "init.rb", "lib/clientperf.rb", "lib/clientperf_controller.rb", "lib/clientperf_result.rb", "lib/clientperf_uri.rb", "lib/extend_action_controller.rb", "Manifest", "rails/init.rb", "Rakefile", "README.rdoc", "views/clientperf/index.html.erb", "views/clientperf/show.html.erb", "views/layouts/clientperf.html.erb", "clientperf.gemspec"]
18
+ s.extra_rdoc_files = ["bin/clientperf", "lib/clientperf.rb", "lib/clientperf_config.rb", "lib/clientperf_controller.rb", "lib/clientperf_migrations.rb", "lib/clientperf_result.rb", "lib/clientperf_uri.rb", "lib/extend_action_controller.rb", "LICENSE", "README.rdoc", "TODO.rdoc"]
19
+ s.files = ["bin/clientperf", "CONTRIBUTORS", "History.rdoc", "init.rb", "lib/clientperf.rb", "lib/clientperf_config.rb", "lib/clientperf_controller.rb", "lib/clientperf_migrations.rb", "lib/clientperf_result.rb", "lib/clientperf_uri.rb", "lib/extend_action_controller.rb", "LICENSE", "Manifest", "rails/init.rb", "Rakefile", "README.rdoc", "TODO.rdoc", "views/clientperf/index.html.erb", "views/clientperf/show.html.erb", "views/layouts/clientperf.html.erb", "clientperf.gemspec"]
20
20
  s.has_rdoc = true
21
21
  s.homepage = %q{http://github.com/efalcao/clientperf}
22
22
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Clientperf", "--main", "README.rdoc"]
@@ -24,6 +24,8 @@ Gem::Specification.new do |s|
24
24
  s.rubyforge_project = %q{clientperf}
25
25
  s.rubygems_version = %q{1.0.1}
26
26
  s.summary = %q{Instrumentation for the FiveRuns TuneUp product.}
27
+
28
+ s.add_dependency(%q<activesupport>, [">= 0"])
27
29
  end
28
30
 
29
31
 
@@ -41,5 +43,6 @@ end
41
43
  # p.project = 'clientperf'
42
44
  # p.summary = "Instrumentation for the FiveRuns TuneUp product."
43
45
  # p.url = "http://github.com/efalcao/clientperf"
46
+ # p.dependencies = %w(activesupport)
44
47
  # p.include_rakefile = true
45
48
  # end
data/lib/clientperf.rb CHANGED
@@ -27,7 +27,7 @@ module Clientperf
27
27
  end
28
28
 
29
29
  def version
30
- "0.0.1"
30
+ "0.0.2"
31
31
  end
32
32
 
33
33
  private
@@ -0,0 +1,35 @@
1
+ require 'yaml'
2
+ require 'activesupport'
3
+
4
+ class ClientperfConfig
5
+
6
+ delegate :[], :[]=, :each, :update, :to => :data
7
+
8
+ class << self
9
+ def defaults
10
+ { 'username' => nil, 'password' => nil }
11
+ end
12
+
13
+ def config_file
14
+ File.join(RAILS_ROOT, 'config', 'clientperf.yml')
15
+ end
16
+
17
+ def create_unless_exists(rails_dir)
18
+ file = File.join(rails_dir, 'config', 'clientperf.yml')
19
+ return if File.exists?(file)
20
+
21
+ File.open(file, 'w') { |f| f.puts defaults.to_yaml }
22
+ end
23
+ end
24
+
25
+ def data
26
+ @data ||= begin
27
+ YAML.load(File.read(self.class.config_file)) rescue self.class.defaults
28
+ end
29
+ end
30
+
31
+
32
+ def has_auth?
33
+ data['username'] && data['password']
34
+ end
35
+ end
@@ -0,0 +1,55 @@
1
+ class ClientperfMigrations
2
+ MIGRATION_NAMES = %w(add_clientperf_tables)
3
+ MIGRATION_CONTENTS = {
4
+ :add_clientperf_tables => %(
5
+ class AddClientperfTables < ActiveRecord::Migration
6
+ def self.up
7
+ create_table :clientperf_uris do |t|
8
+ t.string :uri
9
+ t.timestamps
10
+ end
11
+
12
+ create_table :clientperf_results do |t|
13
+ t.integer :clientperf_uri_id
14
+ t.integer :milliseconds
15
+ t.timestamps
16
+ end
17
+ end
18
+
19
+ def self.down
20
+ drop_table :clientperf_uris
21
+ drop_table :clientperf_results
22
+ end
23
+ end)
24
+ }
25
+
26
+ attr_accessor :rails_dir
27
+
28
+ def initialize(rails_dir)
29
+ @rails_dir = rails_dir
30
+ end
31
+
32
+ def install_new
33
+ MIGRATION_NAMES.reject {|name| exists?(name) }.each do |migration|
34
+ generate(migration)
35
+ install(migration)
36
+ end
37
+ end
38
+
39
+ private
40
+
41
+ def generate(migration_name)
42
+ `#{File.join(rails_dir, 'script', 'generate')} migration #{migration_name}`
43
+ end
44
+
45
+ def migration_path(migration_name)
46
+ Dir[File.join(rails_dir, 'db', 'migrate', "*_#{migration_name}.rb")].first
47
+ end
48
+ alias_method :exists?, :migration_path
49
+
50
+ def install(migration)
51
+ File.open(migration_path(migration), 'w') do |file|
52
+ file << MIGRATION_CONTENTS[migration.to_sym]
53
+ end
54
+ end
55
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clientperf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Falcao
@@ -11,8 +11,16 @@ cert_chain: []
11
11
 
12
12
  date: 2008-06-18 00:00:00 -05:00
13
13
  default_executable:
14
- dependencies: []
15
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: activesupport
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: "0"
23
+ version:
16
24
  description: Instrumentation for the FiveRuns TuneUp product.
17
25
  email: efalcao@gmail.com
18
26
  executables:
@@ -22,24 +30,33 @@ extensions: []
22
30
  extra_rdoc_files:
23
31
  - bin/clientperf
24
32
  - lib/clientperf.rb
33
+ - lib/clientperf_config.rb
25
34
  - lib/clientperf_controller.rb
35
+ - lib/clientperf_migrations.rb
26
36
  - lib/clientperf_result.rb
27
37
  - lib/clientperf_uri.rb
28
38
  - lib/extend_action_controller.rb
39
+ - LICENSE
29
40
  - README.rdoc
41
+ - TODO.rdoc
30
42
  files:
31
43
  - bin/clientperf
44
+ - CONTRIBUTORS
32
45
  - History.rdoc
33
46
  - init.rb
34
47
  - lib/clientperf.rb
48
+ - lib/clientperf_config.rb
35
49
  - lib/clientperf_controller.rb
50
+ - lib/clientperf_migrations.rb
36
51
  - lib/clientperf_result.rb
37
52
  - lib/clientperf_uri.rb
38
53
  - lib/extend_action_controller.rb
54
+ - LICENSE
39
55
  - Manifest
40
56
  - rails/init.rb
41
57
  - Rakefile
42
58
  - README.rdoc
59
+ - TODO.rdoc
43
60
  - views/clientperf/index.html.erb
44
61
  - views/clientperf/show.html.erb
45
62
  - views/layouts/clientperf.html.erb