swd 0.2.1 → 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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 252ca7c37d1cebf052d7e5c41917b5b5123a04e6
4
+ data.tar.gz: 549ca01faa4f2f50a6eb8278076877f9e88acc4e
5
+ SHA512:
6
+ metadata.gz: 20b3f7e56f29eb563c1cedb143ff9c41ad473d09973ff0cbc965148ee782f761beb8e9566b022e17693e4e5eedf0132a6010bf3397f66b9544a9ce8154c02648
7
+ data.tar.gz: 01476c9da0f885d64ee765566455c415c79e1e391d0356dd04c3e0e86623d358b56cc002a8ce33ca543be2088e1cb7d42e28b01d6f65f25195047b1059130c75
@@ -1,4 +1,4 @@
1
1
  rvm:
2
- - 1.8.7
3
- - 1.9.2
4
- - 1.9.3
2
+ - 1.9.3
3
+ - 2.0.0
4
+ - 2.1.2
@@ -1,7 +1,11 @@
1
- = OpenIDConnect
1
+ = SWD
2
2
 
3
3
  SWD (Simple Web Discovery) Client Library
4
4
 
5
+ NOTE:
6
+ SWD was designed to be the core of OpenID Connect Discovery, but it's replaced with WebFinger.
7
+ So I'm no longer supporting this gem.
8
+
5
9
  == Installation
6
10
 
7
11
  gem install swd
@@ -27,7 +31,7 @@ SWD (Simple Web Discovery) Client Library
27
31
  end
28
32
 
29
33
  == Note on Patches/Pull Requests
30
-
34
+
31
35
  * Fork the project.
32
36
  * Make your feature addition or bug fix.
33
37
  * Add tests for it. This is important so I don't break it in a
data/Rakefile CHANGED
@@ -1,25 +1,18 @@
1
- require 'bundler'
2
- Bundler::GemHelper.install_tasks
1
+ require 'bundler/gem_tasks'
3
2
 
4
3
  require 'rspec/core/rake_task'
5
4
  RSpec::Core::RakeTask.new(:spec)
6
5
 
7
- if RUBY_VERSION >= '1.9'
8
- namespace :cover_me do
9
- desc "Generates and opens code coverage report."
10
- task :report do
11
- require 'cover_me'
12
- CoverMe.complete!
13
- end
14
- end
15
- task :spec do
16
- Rake::Task['cover_me:report'].invoke
17
- end
18
- else
19
- RSpec::Core::RakeTask.new(:rcov) do |spec|
20
- spec.rcov = true
21
- spec.rcov_opts = ['-Ilib -Ispec --exclude spec,gems']
6
+ namespace :coverage do
7
+ desc 'Open coverage report'
8
+ task :report do
9
+ require 'simplecov'
10
+ `open '#{File.join SimpleCov.coverage_path, 'index.html'}'`
22
11
  end
23
12
  end
24
13
 
25
- task :default => :spec
14
+ task :spec do
15
+ Rake::Task[:'coverage:report'].invoke unless ENV['TRAVIS_RUBY_VERSION']
16
+ end
17
+
18
+ task default: :spec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 1.0.0
data/lib/swd.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'logger'
2
2
  require 'digest/md5'
3
3
  require 'json'
4
+ require 'active_support'
4
5
  require 'active_support/core_ext'
5
6
  require 'httpclient'
6
7
  require 'attr_required'
@@ -18,9 +18,7 @@ module WebMockHelper
18
18
 
19
19
  def request_for(options = {})
20
20
  request = {}
21
- if options[:query]
22
- request[:query] = options[:query]
23
- end
21
+ request[:query] = options[:query]
24
22
  request
25
23
  end
26
24
 
@@ -1,8 +1,17 @@
1
- if RUBY_VERSION >= '1.9'
2
- require 'cover_me'
1
+ require 'simplecov'
2
+
3
+ SimpleCov.start do
4
+ add_filter 'spec'
3
5
  end
4
6
 
5
7
  require 'rspec'
8
+ require 'rspec/its'
6
9
  require 'swd'
7
10
 
11
+ RSpec.configure do |config|
12
+ config.expect_with :rspec do |c|
13
+ c.syntax = [:should, :expect]
14
+ end
15
+ end
16
+
8
17
  require 'helpers/webmock_helper'
@@ -8,7 +8,7 @@ describe SWD::Debugger::RequestFilter do
8
8
 
9
9
  describe '#filter_request' do
10
10
  it 'should log request' do
11
- SWD.logger.should_receive(:info).with(
11
+ expect(SWD.logger).to receive(:info).with(
12
12
  "======= [SWD] HTTP REQUEST STARTED =======\n" +
13
13
  request.dump
14
14
  )
@@ -18,7 +18,7 @@ describe SWD::Debugger::RequestFilter do
18
18
 
19
19
  describe '#filter_response' do
20
20
  it 'should log response' do
21
- SWD.logger.should_receive(:info).with(
21
+ expect(SWD.logger).to receive(:info).with(
22
22
  "--------------------------------------------------\n" +
23
23
  response.dump +
24
24
  "\n======= [SWD] HTTP REQUEST FINISHED ======="
@@ -38,7 +38,7 @@ describe SWD::Resource do
38
38
 
39
39
  context 'when redirected' do
40
40
  it 'should follow redirect' do
41
- resource.should_receive(:redirect_to).with(
41
+ expect(resource).to receive(:redirect_to).with(
42
42
  'https://swd.proseware.com/swd_server', nil
43
43
  )
44
44
  mock_json resource.endpoint, 'redirect' do
@@ -70,41 +70,57 @@ describe SWD::Resource do
70
70
  end
71
71
 
72
72
  describe 'error handling' do
73
- before do
73
+ before(:all) do
74
74
  module SWD
75
75
  class << self
76
76
  def http_client_with_cached
77
77
  @http_client ||= http_client_without_cached
78
78
  end
79
79
  alias_method_chain :http_client, :cached
80
+
81
+ def clear_http_client!
82
+ @http_client = nil
83
+ end
84
+ end
85
+ end
86
+ end
87
+
88
+ after(:all) do
89
+ module SWD
90
+ class << self
91
+ def http_client_with_cache_cleared
92
+ @http_client = nil
93
+ http_client_without_cache_cleared
94
+ end
95
+ alias_method_chain :http_client, :cache_cleared
80
96
  end
81
97
  end
82
98
  end
83
99
 
84
100
  context 'when invalid SSL cert' do
85
101
  it do
86
- SWD.http_client.should_receive(:get_content).and_raise(OpenSSL::SSL::SSLError)
102
+ expect(SWD.http_client).to receive(:get_content).and_raise(OpenSSL::SSL::SSLError)
87
103
  expect { res = resource.discover! }.to raise_error SWD::Exception
88
104
  end
89
105
  end
90
106
 
91
107
  context 'when invalid JSON' do
92
108
  it do
93
- SWD.http_client.should_receive(:get_content).and_raise(JSON::ParserError)
109
+ expect(SWD.http_client).to receive(:get_content).and_raise(JSON::ParserError)
94
110
  expect { res = resource.discover! }.to raise_error SWD::Exception
95
111
  end
96
112
  end
97
113
 
98
114
  context 'when SocketError' do
99
115
  it do
100
- SWD.http_client.should_receive(:get_content).and_raise(SocketError)
116
+ expect(SWD.http_client).to receive(:get_content).and_raise(SocketError)
101
117
  expect { res = resource.discover! }.to raise_error SWD::Exception
102
118
  end
103
119
  end
104
120
 
105
121
  context 'when BadResponseError without response' do
106
122
  it do
107
- SWD.http_client.should_receive(:get_content).and_raise(HTTPClient::BadResponseError.new(''))
123
+ expect(SWD.http_client).to receive(:get_content).and_raise(HTTPClient::BadResponseError.new(''))
108
124
  expect { res = resource.discover! }.to raise_error SWD::Exception
109
125
  end
110
126
  end
@@ -4,7 +4,7 @@ describe SWD do
4
4
  after { SWD.debugging = false }
5
5
 
6
6
  its(:logger) { should be_a Logger }
7
- its(:debugging?) { should be_false }
7
+ its(:debugging?) { should == false }
8
8
  its(:cache) { should be_a SWD::Cache }
9
9
 
10
10
  describe '#discover!' do
@@ -84,23 +84,23 @@ describe SWD do
84
84
 
85
85
  describe '.debug!' do
86
86
  before { SWD.debug! }
87
- its(:debugging?) { should be_true }
87
+ its(:debugging?) { should == true }
88
88
  end
89
89
 
90
90
  describe '.debug' do
91
91
  it 'should enable debugging within given block' do
92
92
  SWD.debug do
93
- SWD.debugging?.should be_true
93
+ SWD.debugging?.should == true
94
94
  end
95
- SWD.debugging?.should be_false
95
+ SWD.debugging?.should == false
96
96
  end
97
97
 
98
98
  it 'should not force disable debugging' do
99
99
  SWD.debug!
100
100
  SWD.debug do
101
- SWD.debugging?.should be_true
101
+ SWD.debugging?.should == true
102
102
  end
103
- SWD.debugging?.should be_true
103
+ SWD.debugging?.should == true
104
104
  end
105
105
  end
106
106
 
@@ -11,16 +11,13 @@ Gem::Specification.new do |s|
11
11
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
12
12
  s.require_paths = ["lib"]
13
13
  s.add_runtime_dependency "json", ">= 1.4.3"
14
- s.add_runtime_dependency "httpclient", ">= 2.2.1"
14
+ s.add_runtime_dependency "httpclient", ">= 2.4"
15
15
  s.add_runtime_dependency "activesupport", ">= 3"
16
16
  s.add_runtime_dependency "i18n"
17
17
  s.add_runtime_dependency "attr_required", ">= 0.0.5"
18
- s.add_development_dependency "rake", ">= 0.8"
19
- if RUBY_VERSION >= '1.9'
20
- s.add_development_dependency "cover_me", ">= 1.2.0"
21
- else
22
- s.add_development_dependency "rcov", ">= 0.9"
23
- end
24
- s.add_development_dependency "rspec", ">= 2"
25
- s.add_development_dependency "webmock", ">= 1.6.2"
18
+ s.add_development_dependency "rake"
19
+ s.add_development_dependency "rspec"
20
+ s.add_development_dependency 'rspec-its'
21
+ s.add_development_dependency "webmock"
22
+ s.add_development_dependency 'simplecov'
26
23
  end
metadata CHANGED
@@ -1,160 +1,155 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
5
- prerelease:
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - nov matake
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-10-03 00:00:00.000000000 Z
11
+ date: 2014-12-22 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: json
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.4.3
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: 1.4.3
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: httpclient
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
- version: 2.2.1
33
+ version: '2.4'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
- version: 2.2.1
40
+ version: '2.4'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: activesupport
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '3'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '3'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: i18n
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - ">="
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - ">="
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: attr_required
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - ">="
84
74
  - !ruby/object:Gem::Version
85
75
  version: 0.0.5
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - ">="
92
81
  - !ruby/object:Gem::Version
93
82
  version: 0.0.5
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: rake
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - ">="
100
88
  - !ruby/object:Gem::Version
101
- version: '0.8'
89
+ version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - ">="
108
95
  - !ruby/object:Gem::Version
109
- version: '0.8'
96
+ version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
- name: cover_me
98
+ name: rspec
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - ">="
116
102
  - !ruby/object:Gem::Version
117
- version: 1.2.0
103
+ version: '0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - ">="
124
109
  - !ruby/object:Gem::Version
125
- version: 1.2.0
110
+ version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
- name: rspec
112
+ name: rspec-its
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - ">="
132
116
  - !ruby/object:Gem::Version
133
- version: '2'
117
+ version: '0'
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - ">="
140
123
  - !ruby/object:Gem::Version
141
- version: '2'
124
+ version: '0'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: webmock
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ! '>='
129
+ - - ">="
148
130
  - !ruby/object:Gem::Version
149
- version: 1.6.2
131
+ version: '0'
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
- - - ! '>='
136
+ - - ">="
156
137
  - !ruby/object:Gem::Version
157
- version: 1.6.2
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
158
153
  description: SWD (Simple Web Discovery) Client Library
159
154
  email:
160
155
  - nov@matake.jp
@@ -162,11 +157,10 @@ executables: []
162
157
  extensions: []
163
158
  extra_rdoc_files: []
164
159
  files:
165
- - .gitignore
166
- - .rspec
167
- - .travis.yml
160
+ - ".gitignore"
161
+ - ".rspec"
162
+ - ".travis.yml"
168
163
  - Gemfile
169
- - Gemfile.lock
170
164
  - LICENSE
171
165
  - README.rdoc
172
166
  - Rakefile
@@ -192,27 +186,26 @@ files:
192
186
  - swd.gemspec
193
187
  homepage: https://github.com/nov/swd
194
188
  licenses: []
189
+ metadata: {}
195
190
  post_install_message:
196
191
  rdoc_options: []
197
192
  require_paths:
198
193
  - lib
199
194
  required_ruby_version: !ruby/object:Gem::Requirement
200
- none: false
201
195
  requirements:
202
- - - ! '>='
196
+ - - ">="
203
197
  - !ruby/object:Gem::Version
204
198
  version: '0'
205
199
  required_rubygems_version: !ruby/object:Gem::Requirement
206
- none: false
207
200
  requirements:
208
- - - ! '>='
201
+ - - ">="
209
202
  - !ruby/object:Gem::Version
210
203
  version: '0'
211
204
  requirements: []
212
205
  rubyforge_project:
213
- rubygems_version: 1.8.24
206
+ rubygems_version: 2.2.2
214
207
  signing_key:
215
- specification_version: 3
208
+ specification_version: 4
216
209
  summary: SWD (Simple Web Discovery) Client Library
217
210
  test_files:
218
211
  - spec/helpers/webmock_helper.rb
@@ -1,54 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- swd (0.1.2)
5
- activesupport (>= 3)
6
- attr_required (>= 0.0.5)
7
- httpclient (>= 2.2.1)
8
- i18n
9
- json (>= 1.4.3)
10
-
11
- GEM
12
- remote: http://rubygems.org/
13
- specs:
14
- activesupport (3.2.8)
15
- i18n (~> 0.6)
16
- multi_json (~> 1.0)
17
- addressable (2.3.2)
18
- attr_required (0.0.5)
19
- configatron (2.9.1)
20
- yamler (>= 0.1.0)
21
- cover_me (1.2.0)
22
- configatron
23
- hashie
24
- crack (0.3.1)
25
- diff-lcs (1.1.3)
26
- hashie (1.2.0)
27
- httpclient (2.2.7)
28
- i18n (0.6.1)
29
- json (1.7.5)
30
- multi_json (1.3.6)
31
- rake (0.9.2.2)
32
- rspec (2.11.0)
33
- rspec-core (~> 2.11.0)
34
- rspec-expectations (~> 2.11.0)
35
- rspec-mocks (~> 2.11.0)
36
- rspec-core (2.11.1)
37
- rspec-expectations (2.11.3)
38
- diff-lcs (~> 1.1.3)
39
- rspec-mocks (2.11.3)
40
- webmock (1.8.11)
41
- addressable (>= 2.2.7)
42
- crack (>= 0.1.7)
43
- yamler (0.1.0)
44
-
45
- PLATFORMS
46
- ruby
47
-
48
- DEPENDENCIES
49
- cover_me (>= 1.2.0)
50
- jruby-openssl (>= 0.7)
51
- rake (>= 0.8)
52
- rspec (>= 2)
53
- swd!
54
- webmock (>= 1.6.2)