storenvy-api 0.0.3 → 0.0.4

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: 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!