storenvy-api 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f1d5e349914df7d69b3cd6badfcfa30f225379f3
4
+ data.tar.gz: be5b07d7967560fa838e801fbb7b7e2fc9c47839
5
+ SHA512:
6
+ metadata.gz: b3bd18b180482fa1f1891ddc5fcbac4c10a64598d6bafd1fd1a98c6635a0b15f90234881b0f358f533135e9d97cf443473a8a0702bf7c8cc6f661aa54b8e9aaf
7
+ data.tar.gz: 3f99296f3089adc4e2497c86c130eb7c57e05c340f37aa216d95419f99d3c99a233275a3f3fe9c2e9104c2652e36801b793a16f00d218400aa8a946d02ac1965
data/.gitignore CHANGED
@@ -1,4 +1,6 @@
1
1
  pkg
2
2
  .DS_Store
3
3
  .idea/
4
-
4
+ .ruby-version
5
+ .ruby-gemset
6
+ Gemfile.lock
@@ -3,6 +3,7 @@ require 'faraday'
3
3
  require 'typhoeus'
4
4
  require 'typhoeus/adapters/faraday'
5
5
  require 'faraday_middleware'
6
+ require 'faraday_middleware/parse_oj'
6
7
  require 'storenvy/core/response_parser'
7
8
  require 'storenvy/version'
8
9
  require 'storenvy/api/order'
@@ -122,11 +123,10 @@ module Storenvy
122
123
 
123
124
  conn.use Storenvy::ResponseParser
124
125
 
125
- # Set the response to be rashified
126
- conn.response :rashify
126
+ # Set the response to be mashified
127
+ conn.response :mashify
127
128
 
128
- # Setting request and response to use JSON/XML
129
- conn.request :oj
129
+ # Setting request and response to use JSON using Oj
130
130
  conn.response :oj
131
131
 
132
132
  # Set to use instrumentals to get time logs
@@ -147,4 +147,4 @@ module Storenvy
147
147
  end
148
148
  end
149
149
  end
150
- end
150
+ end
@@ -10,83 +10,14 @@ module Storenvy
10
10
  if env[:status] >= 200 || env[:status] < 300
11
11
  body = env[:response].body.response || env[:response].body
12
12
  elsif env[:status] == 401
13
- raise Storenvy::ResponseParser::HTTPUnauthorized.new 'invalid storeenvy credentials'
13
+ raise HTTPUnauthorized.new 'invalid storeenvy credentials'
14
14
  elsif env[:response] && env[:response].body && env[:response].body.status
15
15
  body = env[:response].body.status
16
16
  end
17
17
  env[:body] = body
18
18
  end
19
19
  end
20
- end
21
-
22
- #
23
- # Response middleware that decodes the response body from JSON.
24
- #
25
- class ParseOj < FaradayMiddleware::ResponseMiddleware
26
- dependency do
27
- require 'oj' unless defined?(::Oj)
28
- end
29
-
30
- define_parser do |body|
31
- begin
32
- ::Oj.load(body, mode: :compat) unless body.strip.empty?
33
- rescue Oj::ParseError => e
34
- end
20
+ class HTTPUnauthorized < Exception
35
21
  end
36
22
  end
37
-
38
- # Request middleware that encodes the body as JSON.
39
- #
40
- # Processes only requests with matching Content-type or those without a type.
41
- # If a request doesn't have a type but has a body, it sets the Content-type
42
- # to JSON MIME-type.
43
- #
44
- # Doesn't try to encode bodies that already are in string form.
45
- class EncodeOj < Faraday::Middleware
46
- CONTENT_TYPE = 'Content-Type'.freeze
47
- MIME_TYPE = 'application/json'.freeze
48
-
49
- dependency do
50
- require 'oj' unless defined?(::Oj)
51
- end
52
-
53
- def call(env)
54
- match_content_type(env) do |data|
55
- env[:body] = encode data
56
- end
57
- @app.call env
58
- end
59
-
60
- def encode(data)
61
- ::Oj.dump data
62
- end
63
-
64
- def match_content_type(env)
65
- if process_request?(env)
66
- env[:request_headers][CONTENT_TYPE] ||= MIME_TYPE
67
- yield env[:body] unless env[:body].respond_to?(:to_str)
68
- end
69
- end
70
-
71
- def process_request?(env)
72
- type = request_type(env)
73
- has_body?(env) and (type.empty? or type == MIME_TYPE)
74
- end
75
-
76
- def has_body?(env)
77
- body = env[:body] and !(body.respond_to?(:to_str) and body.empty?)
78
- end
79
-
80
- def request_type(env)
81
- type = env[:request_headers][CONTENT_TYPE].to_s
82
- type = type.split(';', 2).first if type.index(';')
83
- type
84
- end
85
-
86
- class Storenvy::ResponseParser::HTTPUnauthorized < Exception
87
- end
88
- end
89
- end
90
-
91
- Faraday.register_middleware :response, oj: Storenvy::ParseOj
92
- Faraday.register_middleware :request, oj: Storenvy::EncodeOj
23
+ end
@@ -1,3 +1,3 @@
1
1
  module Storenvy
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
@@ -18,14 +18,14 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.3"
21
+ spec.add_development_dependency "bundler"
22
22
  spec.add_development_dependency "rake"
23
23
 
24
24
  spec.add_dependency "oauth2"
25
25
  spec.add_dependency 'faraday'
26
26
  spec.add_dependency 'typhoeus'
27
27
  spec.add_dependency 'faraday_middleware'
28
- spec.add_dependency 'rash'
29
- spec.add_dependency 'oj'
28
+ spec.add_dependency 'faraday_middleware-parse_oj'
29
+ spec.add_dependency 'hashie'
30
30
  spec.add_dependency 'activesupport'
31
31
  end
metadata CHANGED
@@ -1,158 +1,139 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: storenvy-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.0.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Omri Cohen
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-08-19 00:00:00.000000000 Z
11
+ date: 2017-08-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
- version: '1.3'
19
+ version: '0'
22
20
  type: :development
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
- version: '1.3'
26
+ version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
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
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: oauth2
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
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: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: faraday
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: typhoeus
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'
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'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: faraday_middleware
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - ">="
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :runtime
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
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
- name: rash
98
+ name: faraday_middleware-parse_oj
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - ">="
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :runtime
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
110
  version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
- name: oj
112
+ name: hashie
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - ">="
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0'
134
118
  type: :runtime
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
124
  version: '0'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: activesupport
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ! '>='
129
+ - - ">="
148
130
  - !ruby/object:Gem::Version
149
131
  version: '0'
150
132
  type: :runtime
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
138
  version: '0'
158
139
  description: Ruby wrapper for Sotrenvy API - written by Yotpo
@@ -162,11 +143,8 @@ executables: []
162
143
  extensions: []
163
144
  extra_rdoc_files: []
164
145
  files:
165
- - .gitignore
166
- - .ruby-gemset
167
- - .ruby-version
146
+ - ".gitignore"
168
147
  - Gemfile
169
- - Gemfile.lock
170
148
  - LICENSE.txt
171
149
  - README.md
172
150
  - Rakefile
@@ -183,32 +161,25 @@ files:
183
161
  homepage: https://developers.storenvy.com/docs
184
162
  licenses:
185
163
  - MIT
164
+ metadata: {}
186
165
  post_install_message:
187
166
  rdoc_options: []
188
167
  require_paths:
189
168
  - lib
190
169
  required_ruby_version: !ruby/object:Gem::Requirement
191
- none: false
192
170
  requirements:
193
- - - ! '>='
171
+ - - ">="
194
172
  - !ruby/object:Gem::Version
195
173
  version: '0'
196
- segments:
197
- - 0
198
- hash: 1645622815384724283
199
174
  required_rubygems_version: !ruby/object:Gem::Requirement
200
- none: false
201
175
  requirements:
202
- - - ! '>='
176
+ - - ">="
203
177
  - !ruby/object:Gem::Version
204
178
  version: '0'
205
- segments:
206
- - 0
207
- hash: 1645622815384724283
208
179
  requirements: []
209
180
  rubyforge_project:
210
- rubygems_version: 1.8.25
181
+ rubygems_version: 2.6.11
211
182
  signing_key:
212
- specification_version: 3
183
+ specification_version: 4
213
184
  summary: Ruby wrapper for Sotrenvy API - written by Yotpo
214
185
  test_files: []
@@ -1 +0,0 @@
1
- storenvy-api-ruby
@@ -1 +0,0 @@
1
- ruby-1.9.3-p429
@@ -1,65 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- storenvy-api (0.0.3)
5
- activesupport
6
- faraday
7
- faraday_middleware
8
- oauth2
9
- oj
10
- rash
11
- typhoeus
12
-
13
- GEM
14
- remote: https://rubygems.org/
15
- specs:
16
- activesupport (4.0.0)
17
- i18n (~> 0.6, >= 0.6.4)
18
- minitest (~> 4.2)
19
- multi_json (~> 1.3)
20
- thread_safe (~> 0.1)
21
- tzinfo (~> 0.3.37)
22
- atomic (1.1.9)
23
- ethon (0.5.12)
24
- ffi (>= 1.3.0)
25
- mime-types (~> 1.18)
26
- faraday (0.8.7)
27
- multipart-post (~> 1.1)
28
- faraday_middleware (0.9.0)
29
- faraday (>= 0.7.4, < 0.9)
30
- ffi (1.9.0)
31
- hashie (2.0.5)
32
- httpauth (0.2.0)
33
- i18n (0.6.4)
34
- jwt (0.1.8)
35
- multi_json (>= 1.5)
36
- mime-types (1.23)
37
- minitest (4.7.5)
38
- multi_json (1.7.7)
39
- multi_xml (0.5.4)
40
- multipart-post (1.2.0)
41
- oauth2 (0.9.1)
42
- faraday (~> 0.8)
43
- httpauth (~> 0.1)
44
- jwt (~> 0.1.4)
45
- multi_json (~> 1.0)
46
- multi_xml (~> 0.5)
47
- rack (~> 1.2)
48
- oj (2.1.2)
49
- rack (1.5.2)
50
- rake (10.0.4)
51
- rash (0.4.0)
52
- hashie (~> 2.0.0)
53
- thread_safe (0.1.0)
54
- atomic
55
- typhoeus (0.6.3)
56
- ethon (~> 0.5.11)
57
- tzinfo (0.3.37)
58
-
59
- PLATFORMS
60
- ruby
61
-
62
- DEPENDENCIES
63
- bundler (~> 1.3)
64
- rake
65
- storenvy-api!