susuwatari 0.0.3 → 1.0.0
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.
- data/README.md +14 -10
- data/lib/susuwatari/result.rb +20 -1
- data/lib/susuwatari/version.rb +1 -1
- metadata +10 -10
data/README.md
CHANGED
@@ -22,20 +22,20 @@ This gem allows you to use the API of Patrick Meenan excellent [webpagetest.org]
|
|
22
22
|
=> :completed
|
23
23
|
|
24
24
|
mei.result.keys
|
25
|
-
=> [ "
|
26
|
-
"
|
25
|
+
=> [ "test_id", "summary", "test_url", "location", "connectivity",
|
26
|
+
"bw_down", "bw_up", "latency", "plr", "completed", "runs", "average",
|
27
27
|
"median", "run"]
|
28
28
|
|
29
|
-
mei.result.
|
29
|
+
mei.result.test_id
|
30
30
|
=> "aASFDasfdads2"
|
31
31
|
|
32
|
-
mei.result.run.
|
32
|
+
mei.result.run.first_view.images.waterfall
|
33
33
|
=> "http://www.webpagetest.org/results/12/02/09/KG/35XV333/1_waterfall.png"
|
34
34
|
|
35
|
-
mei.result.run.
|
35
|
+
mei.result.run.first_view.results.score_cache
|
36
36
|
=> "98"
|
37
37
|
|
38
|
-
mei.result.run.
|
38
|
+
mei.result.run.first_view.results.requests
|
39
39
|
=> 12
|
40
40
|
|
41
41
|
You can check what a result looks like [here](https://sites.google.com/a/webpagetest.org/docs/advanced-features/webpagetest-restful-apis#TOC-Getting-test-results).
|
@@ -73,16 +73,20 @@ Once you've installed the gem, you can use it like this:
|
|
73
73
|
=> :completed
|
74
74
|
|
75
75
|
mei.result.keys
|
76
|
-
=> [ "
|
77
|
-
"
|
76
|
+
=> [ "test_id", "summary", "test_url", "location", "connectivity",
|
77
|
+
"bw_down", "bw_up", "latency", "plr", "completed", "runs", "average",
|
78
78
|
"median", "run"]
|
79
79
|
|
80
80
|
#You can access the results as a hash
|
81
|
-
mei.result[
|
81
|
+
mei.result[:test_id]
|
82
82
|
=> 'aBd333'
|
83
83
|
|
84
84
|
#Or in a pseudo-object oriented fashion
|
85
|
-
mei.result.
|
85
|
+
mei.result.test_id
|
86
86
|
=> 'aBd333'
|
87
87
|
|
88
|
+
Locations
|
89
|
+
----
|
90
|
+
To see a list of all the available locations and how you need to pass
|
91
|
+
the `location` parameter check [locations](http://www.webpagetest.org/getLocations.php)
|
88
92
|
|
data/lib/susuwatari/result.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'active_support/core_ext/hash/conversions'
|
2
|
+
require 'active_support/inflections'
|
2
3
|
|
3
4
|
require 'csv'
|
4
5
|
|
@@ -40,7 +41,25 @@ module Susuwatari
|
|
40
41
|
|
41
42
|
def fetch_result
|
42
43
|
response = RestClient.get "#{RESULT_URL_PREFIX}/#{test_id}/"
|
43
|
-
|
44
|
+
response = deep_symbolize(Hash.from_xml(response.body)){ |key| key.underscore }
|
45
|
+
@test_result = Hashie::Mash.new(response).response.data
|
46
|
+
end
|
47
|
+
|
48
|
+
# Thanks to https://gist.github.com/998709 with a slightly modification.
|
49
|
+
def deep_symbolize(hsh, &block)
|
50
|
+
hsh.inject({}) { |result, (key, value)|
|
51
|
+
# Recursively deep-symbolize subhashes
|
52
|
+
value = deep_symbolize(value, &block) if value.is_a? Hash
|
53
|
+
|
54
|
+
# Pre-process the key with a block if it was given
|
55
|
+
key = yield key if block_given?
|
56
|
+
# Symbolize the key string if it responds to to_sym
|
57
|
+
sym_key = key.to_sym rescue key
|
58
|
+
|
59
|
+
# write it back into the result and return the updated hash
|
60
|
+
result[sym_key] = value
|
61
|
+
result
|
62
|
+
}
|
44
63
|
end
|
45
64
|
end
|
46
65
|
end
|
data/lib/susuwatari/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: susuwatari
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-03-28 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
17
|
-
requirement: &
|
17
|
+
requirement: &2153361960 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 3.0.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2153361960
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: json
|
28
|
-
requirement: &
|
28
|
+
requirement: &2153361460 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 1.5.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2153361460
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: hashie
|
39
|
-
requirement: &
|
39
|
+
requirement: &2153361000 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 1.2.0
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2153361000
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rest-client
|
50
|
-
requirement: &
|
50
|
+
requirement: &2153360540 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,7 +55,7 @@ dependencies:
|
|
55
55
|
version: 1.6.7
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *2153360540
|
59
59
|
description: Allows to schedule tests on webpagetest.org
|
60
60
|
email:
|
61
61
|
- bk@benjaminkrause.com
|