load_impact 0.0.2 → 0.0.3

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.
@@ -3,19 +3,22 @@ require 'load_impact'
3
3
 
4
4
  urls = []
5
5
 
6
- Anemone.crawl(ARGV.last) do |anemone|
7
- anemone.on_every_page do |page|
8
- urls.push page.url.to_s
6
+ if ARGV[0] == 'crawl'
7
+ Anemone.crawl(ARGV.last) do |anemone|
8
+ anemone.on_every_page do |page|
9
+ urls.push page.url.to_s
10
+ end
9
11
  end
10
- end
11
12
 
12
- urls.select! do |url|
13
- begin
14
- open url
15
- rescue OpenURI::HTTPError
16
- nil
13
+ urls.select! do |url|
14
+ begin
15
+ open url
16
+ rescue OpenURI::HTTPError
17
+ nil
18
+ end
17
19
  end
20
+ else
21
+ urls = ARGV
18
22
  end
19
23
 
20
-
21
- puts LoadImpact.scenario_for urls
24
+ puts LoadImpact.scenario_for urls
@@ -3,8 +3,6 @@ require 'open-uri'
3
3
  class Page
4
4
  attr_reader :url, :source, :name
5
5
 
6
- URL = /(?:https?:\/\/)(?:[\da-z\.-]+)\.(?:[a-z\.]{2,6})(?:[\/\w \.-]*)\/?/
7
-
8
6
  def initialize(url)
9
7
  @name = Time.new.to_i.to_s + '_' + rand(9999).to_s
10
8
  @url = URI.parse(url)
@@ -29,12 +27,12 @@ class Page
29
27
  end
30
28
 
31
29
  def assets
32
- matcher = /.*#{url.host}.*(js|css|png|jpg|jpeg|gif)/i
33
- @source.select { |line| URL.match(line) }.
34
- map { |line| URL.match(line)[0] }.
35
- select { |line| matcher.match(line) }.
36
- uniq.
37
- sort
30
+ @source.map do |l|
31
+ l =~ /(?:\s|data-)?src="(.*?)"/
32
+ $1 if $1
33
+ end.compact.select do |l|
34
+ l.include?(url.host)
35
+ end
38
36
  end
39
37
 
40
38
  def asset_include
@@ -42,4 +40,4 @@ class Page
42
40
  ' {"GET", "' + url + '", auto_decompress=true},'
43
41
  end
44
42
  end
45
- end
43
+ end
@@ -1,7 +1,7 @@
1
1
  require 'load_impact/page'
2
2
 
3
- # LoadImpact::UserScenario class that allows us to convert a list of URL's
4
- # into a Load Impact user scenario without using their record and playback.
3
+ # LoadImpact::UserScenario is a class that allows us to convert an array of URL's
4
+ # into a Load Impact user scenario without using their record and playback tool.
5
5
  #
6
6
  # Example:
7
7
  # urls = %w[http://qa1load.nandomedia.com http://qa1load.nandomedia.com/news]
@@ -1,3 +1,3 @@
1
1
  module LoadImpact
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -18,8 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
22
- spec.add_development_dependency "rake"
21
+ spec.add_development_dependency 'bundler', '~> 1.3'
22
+ spec.add_development_dependency 'rspec'
23
+ spec.add_development_dependency 'rake'
23
24
 
24
25
  spec.add_runtime_dependency 'anemone'
25
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: load_impact
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-05-14 00:00:00.000000000 Z
12
+ date: 2014-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
29
  version: '1.3'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
30
46
  - !ruby/object:Gem::Dependency
31
47
  name: rake
32
48
  requirement: !ruby/object:Gem::Requirement
@@ -93,7 +109,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
93
109
  version: '0'
94
110
  segments:
95
111
  - 0
96
- hash: -3692999896191765395
112
+ hash: -284957838364031639
97
113
  required_rubygems_version: !ruby/object:Gem::Requirement
98
114
  none: false
99
115
  requirements:
@@ -102,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
118
  version: '0'
103
119
  segments:
104
120
  - 0
105
- hash: -3692999896191765395
121
+ hash: -284957838364031639
106
122
  requirements: []
107
123
  rubyforge_project:
108
124
  rubygems_version: 1.8.23