passworks 0.0.4 → 2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a5be31fc6ed552a17686b1bcb124b51394c2ebe
4
- data.tar.gz: f8614144d8f0de74cb981f2b1ad4f2cb0fe10122
3
+ metadata.gz: 63d3e07f25126bdc233db3ea0c1cca0bea1f07a9
4
+ data.tar.gz: dc4cbb53694b382fc90cbfeb0531bf0b559e9ba1
5
5
  SHA512:
6
- metadata.gz: 9bf14cb94bf2cd27e4b7736ba8f5037c8d62c4e4169a438ef8ee1ad5d735be276259103c03e5c09895696a5c3caa2538a92b5944c94e6bfe1b36d262b997fd53
7
- data.tar.gz: 1c863bc851384f235fc629bb6abce3882a211cb272cf185d34f8fdf9e14a56e2893828a373e7cc752491c930a235f0f44261732cacaab99033ea112e7d08f1c7
6
+ metadata.gz: bf3caaa1fccc455890b932089a15e7bb12f19c0b57b7ad79b81b34f41a682a7867a5627d972b98da5e7b895141a9a0c9bc3cbb9a9b2a412236445663f5c2029a
7
+ data.tar.gz: 12e4224b8b04a2dc6c4a30b72fc0f873f6bbf2f678e8155fd5b4cd6cfed41f45d4e32f16a38c20985ef3222a8f41562f0f6b2e729cb8d9a2677ad1121ce7c9db
data/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  This file is a manually maintained list of changes for each release. Feel free to add your
4
4
  changes here when sending pull requests. Also send corrections if you spot any mistakes.
5
5
 
6
+ ## v2.0.0 (2015-11-27)
7
+ * Updated SDK for version 2 of the API
8
+
9
+ ## v0.0.5 (2015-01-23)
10
+ * Added possibility of listing certificates.
11
+
6
12
  ## v0.0.4 (2015-01-19)
7
13
  * Bug fix: Pagination bug regression found when fetching resources with only one page
8
14
 
data/README.md CHANGED
@@ -47,6 +47,19 @@ client = Passworks.new({
47
47
 
48
48
  ## Examples
49
49
 
50
+ ### Certificates
51
+
52
+ ```ruby
53
+ # Fetch and iterate through all your certificates
54
+ certificates = client.certificates.all
55
+ certificates.each do |certificate|
56
+ puts certificate
57
+ end
58
+
59
+ # Fetch a specific certificate via uuid (uuid=c3d5fc64-3a43-4d3a-a167-473dfeb1edd3)
60
+ certificate = client.certificates.find('c3d5fc64-3a43-4d3a-a167-473dfeb1edd3')
61
+ ```
62
+
50
63
  ### Assets
51
64
 
52
65
  ```ruby
data/lib/passworks.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # encoding: UTF-8
2
+
1
3
  require 'uri'
2
4
  require 'faraday'
3
5
  require 'faraday_middleware'
@@ -14,6 +16,7 @@ require 'passworks/collection_proxy'
14
16
  require 'passworks/resource'
15
17
  require 'passworks/campaign_resource'
16
18
  require 'passworks/asset_resource'
19
+ require 'passworks/certificate_resource'
17
20
  require 'passworks/pass_resource'
18
21
 
19
22
  # Passworks
@@ -0,0 +1,7 @@
1
+ module Passworks
2
+ class CertificateResource < Resource
3
+
4
+ # No overrides for certificates needed for now, only GETs requested.
5
+
6
+ end
7
+ end
@@ -35,7 +35,7 @@ module Passworks
35
35
  # @!method generics
36
36
  # Allows to to access the Generic API
37
37
  # @return [Passworks::RequestProxy]
38
- %w(assets boarding_passes store_cards coupons event_tickets generics).each do |collection_name|
38
+ %w(certificates assets boarding_passes store_cards coupons event_tickets generics).each do |collection_name|
39
39
  define_method(collection_name) do
40
40
  Passworks::RequestProxy.new(self, collection_name, nil)
41
41
  end
@@ -45,7 +45,7 @@ module Passworks
45
45
  end
46
46
  # @return the endpoint address with API version appended
47
47
  def endpoint
48
- File.join(@endpoint, 'v1').to_s
48
+ File.join(@endpoint, 'v2').to_s
49
49
  end
50
50
 
51
51
  class << self
@@ -7,6 +7,8 @@ module Passworks
7
7
  case collection_name
8
8
  when 'assets'
9
9
  'asset'
10
+ when 'certificates'
11
+ 'certificate'
10
12
  when 'boarding_passes'
11
13
  'boarding_pass'
12
14
  when 'coupons'
@@ -26,7 +28,9 @@ module Passworks
26
28
  # If collection_name return [Passworks::AssetResource]
27
29
  # If collection_uuid == nil return [Passworks::CampaignResource] else return [Passworks::PassResource]
28
30
  def resource_class
29
- return Passworks::AssetResource if collection_name == 'assets'
31
+ return Passworks::AssetResource if collection_name == 'assets'
32
+ # CertificateResource has no overrides, but follow along the normal flow.
33
+ return Passworks::CertificateResource if collection_name == 'certificates'
30
34
  if collection_uuid
31
35
  Passworks::PassResource
32
36
  else
@@ -24,8 +24,8 @@ module Passworks
24
24
  connection.use Passworks::Faraday::HttpExceptionMiddleware
25
25
  connection.adapter ::Faraday.default_adapter
26
26
  end
27
- @agent.headers[:user_agent] = @user_agent
28
- # always return the {@agent}
27
+ @agent.headers[:user_agent] = @user_agent
28
+ @agent.headers['Content-Type'] = 'application/json'
29
29
  @agent
30
30
  end
31
31
 
@@ -1,3 +1,5 @@
1
+ # encoding: UTF-8
2
+
1
3
  module Passworks
2
4
  class RequestProxy
3
5
 
@@ -67,7 +69,7 @@ module Passworks
67
69
 
68
70
  if collection_name.to_s == 'assets' && collection_uuid.nil?
69
71
  raise Passworks::Exceptions::FileNotFound.new("Can't find file #{data[:file]}") unless data.has_key?(:file) && File.exists?(data[:file])
70
- data[:file] = ::Faraday::UploadIO.new(data[:file], "image/#{data[:file].split('.').last.downcase}")
72
+ data[:file] = ::Faraday::UploadIO.new(data[:file], content_type_for(data[:file]))
71
73
  end
72
74
 
73
75
  if collection_uuid
@@ -111,5 +113,16 @@ module Passworks
111
113
  end
112
114
  end
113
115
 
116
+ def content_type_for(filename)
117
+ file_extension = filename.split('.').last.downcase
118
+ content_types = {
119
+ "jpg" => "image/jpeg",
120
+ "jpeg" => "image/jpeg",
121
+ "png" => "image/png",
122
+ "gif" => "image/gif",
123
+ }
124
+ return content_types[file_extension]
125
+ end
126
+
114
127
  end
115
- end
128
+ end
@@ -1,3 +1,3 @@
1
1
  module Passworks
2
- VERSION = "0.0.4"
2
+ VERSION = "2.0.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passworks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luis Mendes
@@ -10,146 +10,146 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-01-19 00:00:00.000000000 Z
13
+ date: 2015-11-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - ~>
19
+ - - "~>"
20
20
  - !ruby/object:Gem::Version
21
21
  version: 0.9.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - ~>
26
+ - - "~>"
27
27
  - !ruby/object:Gem::Version
28
28
  version: 0.9.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: faraday_middleware
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - ~>
33
+ - - "~>"
34
34
  - !ruby/object:Gem::Version
35
35
  version: 0.9.1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ~>
40
+ - - "~>"
41
41
  - !ruby/object:Gem::Version
42
42
  version: 0.9.1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: bundler
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ~>
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
49
  version: '1.6'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ~>
54
+ - - "~>"
55
55
  - !ruby/object:Gem::Version
56
56
  version: '1.6'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rake
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - '>='
61
+ - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - '>='
68
+ - - ">="
69
69
  - !ruby/object:Gem::Version
70
70
  version: '0'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: pry
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - '>='
75
+ - - ">="
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - '>='
82
+ - - ">="
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: pry-byebug
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - '>='
89
+ - - ">="
90
90
  - !ruby/object:Gem::Version
91
91
  version: '0'
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - '>='
96
+ - - ">="
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: minitest
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - '>='
103
+ - - ">="
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - '>='
110
+ - - ">="
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: webmock
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - '>='
117
+ - - ">="
118
118
  - !ruby/object:Gem::Version
119
119
  version: '0'
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - '>='
124
+ - - ">="
125
125
  - !ruby/object:Gem::Version
126
126
  version: '0'
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: vcr
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
- - - '>='
131
+ - - ">="
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0'
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
- - - '>='
138
+ - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: minitest-vcr
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
- - - '>='
145
+ - - ">="
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  type: :development
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
- - - '>='
152
+ - - ">="
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  description: Provides a simple interface to Passworks API
@@ -161,8 +161,8 @@ executables: []
161
161
  extensions: []
162
162
  extra_rdoc_files: []
163
163
  files:
164
- - .gitignore
165
- - .travis.yml
164
+ - ".gitignore"
165
+ - ".travis.yml"
166
166
  - CHANGELOG.md
167
167
  - Gemfile
168
168
  - README.md
@@ -170,6 +170,7 @@ files:
170
170
  - lib/passworks.rb
171
171
  - lib/passworks/asset_resource.rb
172
172
  - lib/passworks/campaign_resource.rb
173
+ - lib/passworks/certificate_resource.rb
173
174
  - lib/passworks/client.rb
174
175
  - lib/passworks/collection_proxy.rb
175
176
  - lib/passworks/configuration.rb
@@ -216,17 +217,17 @@ require_paths:
216
217
  - lib
217
218
  required_ruby_version: !ruby/object:Gem::Requirement
218
219
  requirements:
219
- - - '>='
220
+ - - ">="
220
221
  - !ruby/object:Gem::Version
221
222
  version: '0'
222
223
  required_rubygems_version: !ruby/object:Gem::Requirement
223
224
  requirements:
224
- - - '>='
225
+ - - ">="
225
226
  - !ruby/object:Gem::Version
226
227
  version: '0'
227
228
  requirements: []
228
229
  rubyforge_project:
229
- rubygems_version: 2.2.2
230
+ rubygems_version: 2.4.5.1
230
231
  signing_key:
231
232
  specification_version: 4
232
233
  summary: Passworks API client
@@ -239,4 +240,3 @@ test_files:
239
240
  - spec/support/.DS_Store
240
241
  - spec/support/assets/logo.png
241
242
  - spec/support/vcr_setup.rb
242
- has_rdoc: