her 0.8.4 → 0.8.5
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 +4 -4
- data/README.md +18 -0
- data/lib/her/model/orm.rb +2 -2
- data/lib/her/version.rb +1 -1
- data/spec/model/orm_spec.rb +16 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: deb396c535f2621118ad4127970ed969edb232c6
|
4
|
+
data.tar.gz: f71fbc8a42a9bdf453512adbf6740542ca7a00c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a7085472d5a1b1dbcd1981e717a02dd66fa64cad301507f384176c9c48713340c938de866c5c59bef729869d50a0c6c9ffcc8b8e6f8bab53f6f9327a1ee0a40
|
7
|
+
data.tar.gz: 48b8ab97ca692b35ec372834e899e8e03123cef0022d91a75ef9058ba96a59fa7321b4bf513865481a35688781151c232b8768a242932db9166d58b594cbd46c
|
data/README.md
CHANGED
@@ -173,6 +173,24 @@ end
|
|
173
173
|
|
174
174
|
Now, each HTTP request made by Her will have the `X-API-Token` header.
|
175
175
|
|
176
|
+
### Basic Http Authentication
|
177
|
+
Her can use basic http auth by adding a line to your initializer
|
178
|
+
|
179
|
+
```ruby
|
180
|
+
# config/initializers/her.rb
|
181
|
+
Her::API.setup url: "https://api.example.com" do |c|
|
182
|
+
# Request
|
183
|
+
c.use Faraday::Request::BasicAuthentication, 'myusername', 'mypassword'
|
184
|
+
c.use Faraday::Request::UrlEncoded
|
185
|
+
|
186
|
+
# Response
|
187
|
+
c.use Her::Middleware::DefaultParseJSON
|
188
|
+
|
189
|
+
# Adapter
|
190
|
+
c.use Faraday::Adapter::NetHttp
|
191
|
+
end
|
192
|
+
```
|
193
|
+
|
176
194
|
### OAuth
|
177
195
|
|
178
196
|
Using the `faraday_middleware` and `simple_oauth` gems, it’s fairly easy to use OAuth authentication with Her.
|
data/lib/her/model/orm.rb
CHANGED
@@ -80,7 +80,7 @@ module Her
|
|
80
80
|
assign_attributes(self.class.parse(parsed_data[:data])) if parsed_data[:data].any?
|
81
81
|
@metadata = parsed_data[:metadata]
|
82
82
|
@response_errors = parsed_data[:errors]
|
83
|
-
@destroyed =
|
83
|
+
@destroyed = response.success?
|
84
84
|
end
|
85
85
|
end
|
86
86
|
self
|
@@ -163,7 +163,7 @@ module Her
|
|
163
163
|
data = parse(parsed_data[:data])
|
164
164
|
metadata = parsed_data[:metadata]
|
165
165
|
response_errors = parsed_data[:errors]
|
166
|
-
new(data.merge(:_destroyed =>
|
166
|
+
new(data.merge(:_destroyed => response.success?, :metadata => metadata, :response_errors => response_errors))
|
167
167
|
end
|
168
168
|
end
|
169
169
|
|
data/lib/her/version.rb
CHANGED
data/spec/model/orm_spec.rb
CHANGED
@@ -400,13 +400,14 @@ describe Her::Model::ORM do
|
|
400
400
|
end
|
401
401
|
|
402
402
|
context "deleting resources" do
|
403
|
+
let(:status) { 200 }
|
403
404
|
before do
|
404
405
|
Her::API.setup url: "https://api.example.com" do |builder|
|
405
406
|
builder.use Her::Middleware::FirstLevelParseJSON
|
406
407
|
builder.use Faraday::Request::UrlEncoded
|
407
408
|
builder.adapter :test do |stub|
|
408
409
|
stub.get("/users/1") { [200, {}, { id: 1, fullname: "Tobias Fünke", active: true }.to_json] }
|
409
|
-
stub.delete("/users/1") { [
|
410
|
+
stub.delete("/users/1") { [status, {}, { id: 1, fullname: "Lindsay Fünke", active: false }.to_json] }
|
410
411
|
end
|
411
412
|
end
|
412
413
|
|
@@ -426,6 +427,20 @@ describe Her::Model::ORM do
|
|
426
427
|
expect(@user).to be_destroyed
|
427
428
|
end
|
428
429
|
|
430
|
+
context "with response_errors" do
|
431
|
+
let(:status) { 422 }
|
432
|
+
it "set user.destroyed to false if errors are present through the .destroy class method" do
|
433
|
+
@user = Foo::User.destroy_existing(1)
|
434
|
+
expect(@user).not_to be_destroyed
|
435
|
+
end
|
436
|
+
|
437
|
+
it "set user.destroyed to false if errors are present through #destroy on an existing resource" do
|
438
|
+
@user = Foo::User.find(1)
|
439
|
+
@user.destroy
|
440
|
+
expect(@user).not_to be_destroyed
|
441
|
+
end
|
442
|
+
end
|
443
|
+
|
429
444
|
context "with params" do
|
430
445
|
before do
|
431
446
|
Her::API.setup url: "https://api.example.com" do |builder|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: her
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rémi Prévost
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|