geocerts 1.0.0 → 1.0.1

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/.gitignore CHANGED
@@ -1,8 +1,19 @@
1
1
  *.gem
2
+ *.rbc
2
3
  .bundle
3
- *.sw?
4
- .DS_Store
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
5
9
  coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
6
13
  rdoc
7
- pkg/*
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+
8
19
  test/config/test_credentials.yml
@@ -0,0 +1,17 @@
1
+ # geocerts
2
+
3
+ ## [HEAD][head] / unreleased
4
+
5
+ No significant changes.
6
+
7
+ ## [1.0.1][v1.0.1] / 2012-07-09
8
+
9
+ * Upgrade the libxml-ruby dependency from ~>1.1.0 to ~>2.0 for Ruby 1.9 support.
10
+
11
+ ## 1.0.0 / 2011-01-12
12
+
13
+ * First, stable release.
14
+
15
+
16
+ [head]: https://github.com/geocerts/geocerts/compare/v1.0.1...master
17
+ [v1.0.1]: https://github.com/geocerts/geocerts/compare/v1.0.0...v1.0.1
data/Gemfile CHANGED
@@ -1,2 +1,2 @@
1
- source "http://rubygems.org"
1
+ source 'http://rubygems.org'
2
2
  gemspec
@@ -0,0 +1,92 @@
1
+ # GeoCerts
2
+
3
+ The GeoCerts library provides a Ruby interface to the GeoCerts REST API. This API allows
4
+ you to manage (lookup, create, and verify) your GeoCerts orders, events, certificates, and
5
+ more.
6
+
7
+ ## Installation
8
+
9
+ Add the following line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'geocerts'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ ```bash
18
+ $ bundle
19
+ ```
20
+
21
+ Or, install it directly with:
22
+
23
+ ```bash
24
+ $ gem install geocerts
25
+ ```
26
+
27
+ ## Usage
28
+
29
+ ```ruby
30
+ require 'geocerts'
31
+
32
+ GeoCerts.partner_id = 'example'
33
+ GeoCerts.api_token = 'abd123DEfg.....'
34
+
35
+ begin
36
+ GeoCerts::Order.all # => [ GeoCerts::Order, GeoCerts::Order, ... ]
37
+ GeoCerts::Order.find(12345).certificate # => GeoCerts::Certificate
38
+ GeoCerts::Product.all # => [ GeoCerts::Product, GeoCerts::Product, ... ]
39
+
40
+ product = GeoCerts::Product.find('Q')
41
+ product.user_agreement # => GeoCerts::Agreement
42
+ puts product.user_agreement.text # => "...."
43
+
44
+ # Validate the requested order details
45
+ validated_order = GeoCerts::Order.validate({
46
+ :csr => GeoCerts::CSR.new(:body => "-----BEGIN CERTIFICATE REQUEST-----\n...."),
47
+ :product => product
48
+ })
49
+ validated_order.renewal_information.indicator # => true
50
+ validated_order.renewal_information.months # => 1
51
+ validated_order.csr.common_name # => 'www.example.com'
52
+ validated_order.csr.state # => 'Georgia'
53
+ validated_order.total_price # => 99.00
54
+
55
+ # Create a new Order
56
+ order = GeoCerts::Order.new({
57
+ :csr => GeoCerts::CSR.new(:body => "-----BEGIN CERTIFICATE REQUEST-----\n...."),
58
+ :product => product,
59
+ :years => 3,
60
+ :licenses => 1
61
+ }).save
62
+
63
+ rescue GeoCerts::Exception
64
+ puts $!.to_s
65
+ end
66
+ ```
67
+
68
+ ## Exceptions
69
+
70
+ Since this library does interface with an external system, there is a much greater risk of
71
+ exceptional situations. As such, this library attempts to wrap all raised exceptions (due
72
+ to authorization, connection, or other unforeseen issues) in the GeoCerts::Exception object.
73
+ All exceptions raised from within this library should inherit from this class.
74
+
75
+ Exceptions which are raised after successful connections, due to server or request issues,
76
+ will be derived from GeoCerts::ExceptionWithResponse. This object also inherits from
77
+ GeoCerts::Exception, but contains the actual response details (including HTTP status code,
78
+ headers, and response body).
79
+
80
+ ## Contributing
81
+
82
+ 1. Fork it
83
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
84
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
85
+ 4. Push to the branch (`git push origin my-new-feature`)
86
+ 5. Create new Pull Request
87
+
88
+ == Copyright
89
+
90
+ Copyright (c) 2009 [GeoCerts Inc.][geocerts]. See LICENSE for details.
91
+
92
+ [geocerts]: http://www.geocerts.com/
data/Rakefile CHANGED
@@ -1,30 +1,21 @@
1
- require 'bundler'
2
- Bundler::GemHelper.install_tasks
3
-
1
+ #!/usr/bin/env rake
2
+ require 'bundler/gem_tasks'
4
3
  require 'rake/testtask'
5
- Rake::TestTask.new(:test) do |test|
6
- test.libs << 'lib' << 'test'
7
- test.pattern = 'test/**/*_test.rb'
8
- test.verbose = true
9
- end
10
4
 
11
5
  begin
12
- require 'rcov/rcovtask'
13
- Rcov::RcovTask.new do |test|
14
- test.libs << 'test'
15
- test.pattern = 'test/**/*_test.rb'
16
- test.verbose = true
17
- end
6
+ require 'rdoc/task'
18
7
  rescue LoadError
19
- task :rcov do
20
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
21
- end
8
+ require 'rake/rdoctask'
22
9
  end
23
10
 
24
-
25
11
  task :default => :test
26
12
 
27
- require 'rake/rdoctask'
13
+ Rake::TestTask.new(:test) do |test|
14
+ test.libs << 'lib' << 'test'
15
+ test.pattern = 'test/**/*_test.rb'
16
+ test.verbose = true
17
+ end
18
+
28
19
  Rake::RDocTask.new do |rdoc|
29
20
  if File.exist?('VERSION.yml')
30
21
  config = YAML.load(File.read('VERSION.yml'))
@@ -1,6 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "geo_certs/version"
2
+ require File.expand_path("../lib/geo_certs/version", __FILE__)
4
3
 
5
4
  Gem::Specification.new do |s|
6
5
  s.name = "geocerts"
@@ -12,11 +11,10 @@ Gem::Specification.new do |s|
12
11
  s.summary = %q{A Ruby library for interfacing with the GeoCerts REST API}
13
12
  s.description = %q{A Ruby library for interfacing with the GeoCerts REST API}
14
13
 
15
- s.rubyforge_project = "geocerts"
16
-
17
- s.files = `git ls-files`.split("\n")
18
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
14
+ s.files = `git ls-files`.split($\)
15
+ s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
16
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
17
+ s.name = "geocerts"
20
18
  s.require_paths = ["lib"]
21
19
 
22
20
  s.add_development_dependency 'shoulda', '~>2.11.0'
@@ -26,5 +24,5 @@ Gem::Specification.new do |s|
26
24
  s.add_development_dependency 'fakeweb', '~>1.3.0'
27
25
 
28
26
  s.add_dependency 'relax', '~>0.1.0'
29
- s.add_dependency 'libxml-ruby', '~>1.1.0'
27
+ s.add_dependency 'libxml-ruby', '~>2.0'
30
28
  end
@@ -1,3 +1,3 @@
1
1
  module GeoCerts
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
@@ -1,8 +1,5 @@
1
- $:.unshift(File.expand_path('..', __FILE__))
2
- $:.unshift(File.expand_path('../../lib', __FILE__))
3
-
4
- require 'bundler'
5
- Bundler.setup
1
+ require 'rubygems'
2
+ require 'bundler/setup'
6
3
 
7
4
  require 'geo_certs'
8
5
  require 'shoulda'
metadata CHANGED
@@ -1,151 +1,140 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: geocerts
3
- version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease: false
6
- segments:
7
- - 1
8
- - 0
9
- - 0
10
- version: 1.0.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - GeoCerts, Inc.
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-01-12 00:00:00 -05:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-07-10 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: shoulda
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
18
+ requirements:
27
19
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 35
30
- segments:
31
- - 2
32
- - 11
33
- - 0
20
+ - !ruby/object:Gem::Version
34
21
  version: 2.11.0
35
22
  type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: factory_girl
39
23
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
41
25
  none: false
42
- requirements:
26
+ requirements:
43
27
  - - ~>
44
- - !ruby/object:Gem::Version
45
- hash: 27
46
- segments:
47
- - 1
48
- - 3
49
- - 0
28
+ - !ruby/object:Gem::Version
29
+ version: 2.11.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: factory_girl
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
50
37
  version: 1.3.0
51
38
  type: :development
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: mocha
55
39
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.3.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: mocha
48
+ requirement: !ruby/object:Gem::Requirement
57
49
  none: false
58
- requirements:
50
+ requirements:
59
51
  - - ~>
60
- - !ruby/object:Gem::Version
61
- hash: 59
62
- segments:
63
- - 0
64
- - 9
65
- - 0
52
+ - !ruby/object:Gem::Version
66
53
  version: 0.9.0
67
54
  type: :development
68
- version_requirements: *id003
69
- - !ruby/object:Gem::Dependency
70
- name: vcr
71
55
  prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
73
57
  none: false
74
- requirements:
58
+ requirements:
75
59
  - - ~>
76
- - !ruby/object:Gem::Version
77
- hash: 3
78
- segments:
79
- - 1
80
- - 5
81
- - 0
60
+ - !ruby/object:Gem::Version
61
+ version: 0.9.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: vcr
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
82
69
  version: 1.5.0
83
70
  type: :development
84
- version_requirements: *id004
85
- - !ruby/object:Gem::Dependency
86
- name: fakeweb
87
71
  prerelease: false
88
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
89
73
  none: false
90
- requirements:
74
+ requirements:
91
75
  - - ~>
92
- - !ruby/object:Gem::Version
93
- hash: 27
94
- segments:
95
- - 1
96
- - 3
97
- - 0
76
+ - !ruby/object:Gem::Version
77
+ version: 1.5.0
78
+ - !ruby/object:Gem::Dependency
79
+ name: fakeweb
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
98
85
  version: 1.3.0
99
86
  type: :development
100
- version_requirements: *id005
101
- - !ruby/object:Gem::Dependency
102
- name: relax
103
87
  prerelease: false
104
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 1.3.0
94
+ - !ruby/object:Gem::Dependency
95
+ name: relax
96
+ requirement: !ruby/object:Gem::Requirement
105
97
  none: false
106
- requirements:
98
+ requirements:
107
99
  - - ~>
108
- - !ruby/object:Gem::Version
109
- hash: 27
110
- segments:
111
- - 0
112
- - 1
113
- - 0
100
+ - !ruby/object:Gem::Version
114
101
  version: 0.1.0
115
102
  type: :runtime
116
- version_requirements: *id006
117
- - !ruby/object:Gem::Dependency
118
- name: libxml-ruby
119
103
  prerelease: false
120
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 0.1.0
110
+ - !ruby/object:Gem::Dependency
111
+ name: libxml-ruby
112
+ requirement: !ruby/object:Gem::Requirement
121
113
  none: false
122
- requirements:
114
+ requirements:
123
115
  - - ~>
124
- - !ruby/object:Gem::Version
125
- hash: 19
126
- segments:
127
- - 1
128
- - 1
129
- - 0
130
- version: 1.1.0
116
+ - !ruby/object:Gem::Version
117
+ version: '2.0'
131
118
  type: :runtime
132
- version_requirements: *id007
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '2.0'
133
126
  description: A Ruby library for interfacing with the GeoCerts REST API
134
- email:
127
+ email:
135
128
  - sslsupport@geocerts.com
136
129
  executables: []
137
-
138
130
  extensions: []
139
-
140
131
  extra_rdoc_files: []
141
-
142
- files:
143
- - .document
132
+ files:
144
133
  - .gitignore
134
+ - CHANGELOG.markdown
145
135
  - Gemfile
146
- - Gemfile.lock
147
136
  - LICENSE
148
- - README.rdoc
137
+ - README.markdown
149
138
  - Rakefile
150
139
  - autotest/discover.rb
151
140
  - geocerts.gemspec
@@ -218,41 +207,31 @@ files:
218
207
  - test/units/order/renewal_information_test.rb
219
208
  - test/units/order_test.rb
220
209
  - test/units/product_test.rb
221
- has_rdoc: true
222
210
  homepage: http://www.geocerts.com/
223
211
  licenses: []
224
-
225
212
  post_install_message:
226
213
  rdoc_options: []
227
-
228
- require_paths:
214
+ require_paths:
229
215
  - lib
230
- required_ruby_version: !ruby/object:Gem::Requirement
216
+ required_ruby_version: !ruby/object:Gem::Requirement
231
217
  none: false
232
- requirements:
233
- - - ">="
234
- - !ruby/object:Gem::Version
235
- hash: 3
236
- segments:
237
- - 0
238
- version: "0"
239
- required_rubygems_version: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ required_rubygems_version: !ruby/object:Gem::Requirement
240
223
  none: false
241
- requirements:
242
- - - ">="
243
- - !ruby/object:Gem::Version
244
- hash: 3
245
- segments:
246
- - 0
247
- version: "0"
224
+ requirements:
225
+ - - ! '>='
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
248
228
  requirements: []
249
-
250
- rubyforge_project: geocerts
251
- rubygems_version: 1.3.7
229
+ rubyforge_project:
230
+ rubygems_version: 1.8.23
252
231
  signing_key:
253
232
  specification_version: 3
254
233
  summary: A Ruby library for interfacing with the GeoCerts REST API
255
- test_files:
234
+ test_files:
256
235
  - test/config/initializers/_remote_tests.rb
257
236
  - test/config/initializers/geocerts.rb
258
237
  - test/config/initializers/responses.rb
data/.document DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- lib/**/*.rb
3
- bin/*
4
- features/**/*.feature
5
- LICENSE
@@ -1,38 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- geocerts (1.0.0)
5
- libxml-ruby (~> 1.1.0)
6
- relax (~> 0.1.0)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- factory_girl (1.3.3)
12
- fakeweb (1.3.0)
13
- libxml-ruby (1.1.4)
14
- mocha (0.9.10)
15
- rake
16
- nokogiri (1.3.3)
17
- rake (0.8.7)
18
- relax (0.1.3)
19
- relief (~> 0.0.4)
20
- rest-client (~> 0.9.2)
21
- relief (0.0.5)
22
- nokogiri (~> 1.3.3)
23
- rest-client (0.9.2)
24
- shoulda (2.11.3)
25
- vcr (1.5.0)
26
-
27
- PLATFORMS
28
- ruby
29
-
30
- DEPENDENCIES
31
- factory_girl (~> 1.3.0)
32
- fakeweb (~> 1.3.0)
33
- geocerts!
34
- libxml-ruby (~> 1.1.0)
35
- mocha (~> 0.9.0)
36
- relax (~> 0.1.0)
37
- shoulda (~> 2.11.0)
38
- vcr (~> 1.5.0)
@@ -1,71 +0,0 @@
1
- = GeoCerts
2
-
3
- The GeoCerts library provides a Ruby interface to the GeoCerts REST API. This API allows
4
- you to manage (lookup, create, and verify) your GeoCerts orders, events, certificates, and
5
- more.
6
-
7
- == Simple example
8
-
9
- require 'geocerts'
10
-
11
- GeoCerts.partner_id = 'example'
12
- GeoCerts.api_token = 'abd123DEfg.....'
13
-
14
- begin
15
- GeoCerts::Order.all # => [ GeoCerts::Order, GeoCerts::Order, ... ]
16
- GeoCerts::Order.find(12345).certificate # => GeoCerts::Certificate
17
- GeoCerts::Product.all # => [ GeoCerts::Product, GeoCerts::Product, ... ]
18
-
19
- product = GeoCerts::Product.find('Q')
20
- product.user_agreement # => GeoCerts::Agreement
21
- puts product.user_agreement.text # => "...."
22
-
23
- # Validate the requested order details
24
- validated_order = GeoCerts::Order.validate({
25
- :csr => GeoCerts::CSR.new(:body => "-----BEGIN CERTIFICATE REQUEST-----\n...."),
26
- :product => product
27
- })
28
- validated_order.renewal_information.indicator # => true
29
- validated_order.renewal_information.months # => 1
30
- validated_order.csr.common_name # => 'www.example.com'
31
- validated_order.csr.state # => 'Georgia'
32
- validated_order.total_price # => 99.00
33
-
34
- # Create a new Order
35
- order = GeoCerts::Order.new({
36
- :csr => GeoCerts::CSR.new(:body => "-----BEGIN CERTIFICATE REQUEST-----\n...."),
37
- :product => product,
38
- :years => 3,
39
- :licenses => 1
40
- }).save
41
-
42
- rescue GeoCerts::Exception
43
- puts $!.to_s
44
- end
45
-
46
- == Exceptions
47
-
48
- Since this library does interface with an external system, there is a much greater risk of
49
- exceptional situations. As such, this library attempts to wrap all raised exceptions (due
50
- to authorization, connection, or other unforeseen issues) in the GeoCerts::Exception object.
51
- All exceptions raised from within this library should inherit from this class.
52
-
53
- Exceptions which are raised after successful connections, due to server or request issues,
54
- will be derived from GeoCerts::ExceptionWithResponse. This object also inherits from
55
- GeoCerts::Exception, but contains the actual response details (including HTTP status code,
56
- headers, and response body).
57
-
58
- == Note on Patches/Pull Requests
59
-
60
- * Fork the project.
61
- * Make your feature addition or bug fix.
62
- * Add tests for it. This is important so I don't break it in a
63
- future version unintentionally.
64
- * Commit, do not mess with Rakefile, version, or history.
65
- (if you want to have your own version, that is fine but
66
- bump version in a commit by itself so it can be easily ignored when pulled)
67
- * Send a pull request. Bonus points for topic branches.
68
-
69
- == Copyright
70
-
71
- Copyright (c) 2009 {GeoCerts Inc.}[http://www.geocerts.com/]. See LICENSE for details.