page_speed 0.1.4 → 0.1.5
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/.travis.yml +5 -0
- data/lib/page_speed.rb +14 -9
- data/lib/page_speed/version.rb +1 -1
- data/page_speed.gemspec +3 -2
- data/spec/integration/page_speed_spec.rb +26 -6
- metadata +51 -48
- data/.rvmrc +0 -1
data/.travis.yml
ADDED
data/lib/page_speed.rb
CHANGED
@@ -1,7 +1,16 @@
|
|
1
1
|
require "page_speed/version"
|
2
2
|
|
3
|
-
require 'json'
|
4
3
|
require 'open-uri'
|
4
|
+
require 'json' unless defined?(::JSON::JSON_LOADED) and ::JSON::JSON_LOADED
|
5
|
+
|
6
|
+
# Hack that allows us to avoid certification validations in Ruby Enterprise Editions
|
7
|
+
require 'openssl'
|
8
|
+
module OpenSSL
|
9
|
+
module SSL
|
10
|
+
remove_const :VERIFY_PEER
|
11
|
+
end
|
12
|
+
end
|
13
|
+
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
|
5
14
|
|
6
15
|
API_URL = "https://www.googleapis.com/pagespeedonline/v1/runPagespeed"
|
7
16
|
|
@@ -23,7 +32,6 @@ module PageSpeed
|
|
23
32
|
|
24
33
|
rescue OpenURI::HTTPError
|
25
34
|
puts "The API you used is not correct. Use the -k option to replace it."
|
26
|
-
puts ""
|
27
35
|
reset_api_key
|
28
36
|
help
|
29
37
|
|
@@ -63,7 +71,8 @@ module PageSpeed
|
|
63
71
|
begin
|
64
72
|
get_api_key
|
65
73
|
true
|
66
|
-
rescue Exception
|
74
|
+
rescue Exception => e
|
75
|
+
p e
|
67
76
|
false
|
68
77
|
end
|
69
78
|
end
|
@@ -120,12 +129,8 @@ module PageSpeed
|
|
120
129
|
end
|
121
130
|
|
122
131
|
def api_key_path
|
123
|
-
|
124
|
-
|
125
|
-
end
|
126
|
-
|
127
|
-
def testing
|
128
|
-
! defined?(ENV['page_speed_env']).nil? && ENV['page_speed_env'] == "test"
|
132
|
+
folder = ENV["TESTING"] ? "/tmp" : "~"
|
133
|
+
File.expand_path("#{folder}/.page_speed")
|
129
134
|
end
|
130
135
|
end
|
131
136
|
end
|
data/lib/page_speed/version.rb
CHANGED
data/page_speed.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.files = `git ls-files`.split("\n")
|
22
22
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
23
23
|
s.require_paths = ["lib"]
|
24
|
-
s.
|
25
|
-
s.add_development_dependency "
|
24
|
+
s.add_dependency "json"
|
25
|
+
s.add_development_dependency "rspec"
|
26
|
+
s.add_development_dependency "ZenTest"
|
26
27
|
end
|
@@ -1,11 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
ENV['page_speed_env'] = "test"
|
4
3
|
API_KEY = "AIzaSyCT0PgAW-FjLF0Nfx81DqU6laCSiXkIHFs"
|
4
|
+
TMP_FILE = "/tmp/.page_speed"
|
5
5
|
|
6
6
|
describe PageSpeed do
|
7
7
|
before do
|
8
|
-
|
8
|
+
ENV["TESTING"] = "TRUE"
|
9
|
+
File.open(TMP_FILE, 'w') {|f| f.write(API_KEY) } # Use a correct API KEY
|
9
10
|
end
|
10
11
|
|
11
12
|
it "should point to help when no parameter is provided" do
|
@@ -51,7 +52,7 @@ describe PageSpeed do
|
|
51
52
|
|
52
53
|
it "should success with a URL without www" do
|
53
54
|
result = `bin/page_speed google.com`
|
54
|
-
result.should include("Google Page Speed for http://google.com: 98 (Desktop) /
|
55
|
+
result.should include("Google Page Speed for http://google.com: 98 (Desktop) / 97 (Mobile)")
|
55
56
|
end
|
56
57
|
|
57
58
|
it "should success with a URL with www" do
|
@@ -62,14 +63,14 @@ describe PageSpeed do
|
|
62
63
|
|
63
64
|
context "API key control" do
|
64
65
|
it "should prompt the API key when is not found" do
|
65
|
-
File.delete(
|
66
|
+
File.delete(TMP_FILE)
|
66
67
|
result = `bin/page_speed google.com`
|
67
68
|
result.should include("PI key not set. Use the -k option to set the key.")
|
68
69
|
end
|
69
70
|
|
70
71
|
context "when API key is corrupted" do
|
71
72
|
before do
|
72
|
-
File.open(
|
73
|
+
File.open(TMP_FILE, 'w') {|f| f.write(API_KEY.chop) } # Use a corrupt API KEY
|
73
74
|
@result = `bin/page_speed google.com`
|
74
75
|
end
|
75
76
|
|
@@ -79,12 +80,31 @@ describe PageSpeed do
|
|
79
80
|
|
80
81
|
it "should have deleted the file where the API key is and ask for a new one" do
|
81
82
|
@result = `bin/page_speed google.com`
|
82
|
-
@result.should include("
|
83
|
+
@result.should include("API key not set. Use the -k option to set the key.")
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should have indeed deleted the file" do
|
87
|
+
@result = `bin/page_speed google.com`
|
88
|
+
File.exists?(TMP_FILE).should == false
|
83
89
|
end
|
84
90
|
end
|
85
91
|
end
|
86
92
|
|
87
93
|
context "key" do
|
94
|
+
before do
|
95
|
+
@result = `bin/page_speed -k DO_THE_CUCA`
|
96
|
+
end
|
97
|
+
|
98
|
+
it "should be set and the user should get feedback" do
|
99
|
+
@result.should include("API key set.")
|
100
|
+
end
|
101
|
+
|
102
|
+
it "should be correctly set" do
|
103
|
+
PageSpeed::get_api_key.should == "DO_THE_CUCA"
|
104
|
+
end
|
105
|
+
end
|
88
106
|
|
107
|
+
after do
|
108
|
+
File.delete(TMP_FILE) if File.exists?(TMP_FILE)
|
89
109
|
end
|
90
110
|
end
|
metadata
CHANGED
@@ -1,53 +1,60 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: page_speed
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.5
|
4
5
|
prerelease:
|
5
|
-
version: 0.1.4
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Albert Bellonch
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
12
|
+
date: 2011-10-09 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: json
|
16
|
+
requirement: &70151869961940 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
18
23
|
prerelease: false
|
19
|
-
|
24
|
+
version_requirements: *70151869961940
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rspec
|
27
|
+
requirement: &70151869959960 !ruby/object:Gem::Requirement
|
20
28
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version:
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
25
33
|
type: :development
|
26
|
-
version_requirements: *id001
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: ZenTest
|
29
34
|
prerelease: false
|
30
|
-
|
35
|
+
version_requirements: *70151869959960
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: ZenTest
|
38
|
+
requirement: &70151869959460 !ruby/object:Gem::Requirement
|
31
39
|
none: false
|
32
|
-
requirements:
|
33
|
-
- -
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version:
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
36
44
|
type: :development
|
37
|
-
|
38
|
-
|
39
|
-
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70151869959460
|
47
|
+
description: ! '-'
|
48
|
+
email:
|
40
49
|
- albert@itnig.net
|
41
|
-
executables:
|
50
|
+
executables:
|
42
51
|
- page_speed
|
43
52
|
extensions: []
|
44
|
-
|
45
53
|
extra_rdoc_files: []
|
46
|
-
|
47
|
-
files:
|
54
|
+
files:
|
48
55
|
- .gitignore
|
49
56
|
- .rspec
|
50
|
-
- .
|
57
|
+
- .travis.yml
|
51
58
|
- Gemfile
|
52
59
|
- README.md
|
53
60
|
- Rakefile
|
@@ -57,34 +64,30 @@ files:
|
|
57
64
|
- page_speed.gemspec
|
58
65
|
- spec/integration/page_speed_spec.rb
|
59
66
|
- spec/spec_helper.rb
|
60
|
-
has_rdoc: true
|
61
67
|
homepage: http://itnig.net
|
62
68
|
licenses: []
|
63
|
-
|
64
69
|
post_install_message:
|
65
70
|
rdoc_options: []
|
66
|
-
|
67
|
-
require_paths:
|
71
|
+
require_paths:
|
68
72
|
- lib
|
69
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
73
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
70
74
|
none: false
|
71
|
-
requirements:
|
72
|
-
- -
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version:
|
75
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
79
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
80
|
none: false
|
77
|
-
requirements:
|
78
|
-
- -
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version:
|
81
|
+
requirements:
|
82
|
+
- - ! '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
81
85
|
requirements: []
|
82
|
-
|
83
86
|
rubyforge_project: page_speed
|
84
|
-
rubygems_version: 1.
|
87
|
+
rubygems_version: 1.8.10
|
85
88
|
signing_key:
|
86
89
|
specification_version: 3
|
87
90
|
summary: A simple port for Google Page Speed's scores
|
88
|
-
test_files:
|
91
|
+
test_files:
|
89
92
|
- spec/integration/page_speed_spec.rb
|
90
93
|
- spec/spec_helper.rb
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm 1.9.2rvm 1.9.2
|