smart_adapters 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5eaeabe911a0b9b60e65687446a57cbd06669c329dfec08670866062f202af52
|
4
|
+
data.tar.gz: '082e37e56694963820b08257b6db3389ec024f53d695c730db60ee05bc3ef1e9'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 103ce0a344b8988bfbbe946022cb599202fd7a5f9f31310eb3a039ccff7cb1711a22e1d102558e9fe4faefaf4fcaff350b17742a6c10e16c1e510691db74761b
|
7
|
+
data.tar.gz: 8739e38404a22d95125134ffe4e8d4b53e6d1812f0883791e7db5b9b70041848ca78b64afd5072dd581fd467ce2c96dd334716437632f1a6732541dae95b513a
|
data/README.md
CHANGED
@@ -197,7 +197,7 @@ module SmartAdapters
|
|
197
197
|
unless resource.present?
|
198
198
|
return redirect_back fallback_location: root_path, flash: { error: 'Resource not found' }
|
199
199
|
end
|
200
|
-
|
200
|
+
redirect_back fallback_location: root_path, flash: { error: resource.errors }
|
201
201
|
end
|
202
202
|
end
|
203
203
|
end
|
@@ -227,5 +227,5 @@ end
|
|
227
227
|
```
|
228
228
|
|
229
229
|
## TODO
|
230
|
-
- Add remaining formats:
|
230
|
+
- Add remaining formats: ~~`:text`~~, `:ics`, ~~`:csv`~~, `:yaml`, `:rss`, `:atom`
|
231
231
|
- Add generator
|
@@ -2,6 +2,9 @@
|
|
2
2
|
|
3
3
|
module SmartAdapters
|
4
4
|
class Delegator
|
5
|
+
# List of formats supported by SmartAdapters
|
6
|
+
FORMATS = %i[json html js xml text csv]
|
7
|
+
|
5
8
|
# Initialise SmartAdapters delegator
|
6
9
|
# @param [ActionController]
|
7
10
|
# @param [ActionDispatch::Request]
|
@@ -37,28 +40,18 @@ module SmartAdapters
|
|
37
40
|
request_manager
|
38
41
|
end
|
39
42
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
# Is html request?
|
47
|
-
# @return [Boolean]
|
48
|
-
def html?
|
49
|
-
request_format.html?
|
50
|
-
end
|
51
|
-
|
52
|
-
# Is js request?
|
53
|
-
# @return [Boolean]
|
54
|
-
def js?
|
55
|
-
request_format.js?
|
43
|
+
FORMATS.each do |format_name|
|
44
|
+
# Verify if the request format is valid.
|
45
|
+
# @return [Boolean]
|
46
|
+
define_method "#{format_name}?" do
|
47
|
+
request_format.try(:"#{format_name}?")
|
48
|
+
end
|
56
49
|
end
|
57
50
|
|
58
|
-
#
|
51
|
+
# Check if the request has a valid format.
|
59
52
|
# @return [Boolean]
|
60
|
-
def
|
61
|
-
|
53
|
+
def valid_format?
|
54
|
+
FORMATS.map { |format| send("#{format}?") }.any?
|
62
55
|
end
|
63
56
|
|
64
57
|
# Check if it is an API request
|
@@ -73,12 +66,6 @@ module SmartAdapters
|
|
73
66
|
html?
|
74
67
|
end
|
75
68
|
|
76
|
-
# Check if the request has a valid format.
|
77
|
-
# @return [Boolean]
|
78
|
-
def valid_format?
|
79
|
-
json? || html? || js? || xml?
|
80
|
-
end
|
81
|
-
|
82
69
|
# Check if the request has a valid params.
|
83
70
|
# @return [Boolean]
|
84
71
|
def valid_params?
|
data/lib/smart_adapters.rb
CHANGED
@@ -15,6 +15,8 @@ require 'smart_adapters/util/adapters/html/default'
|
|
15
15
|
require 'smart_adapters/util/adapters/json/default'
|
16
16
|
require 'smart_adapters/util/adapters/js/default'
|
17
17
|
require 'smart_adapters/util/adapters/xml/default'
|
18
|
+
require 'smart_adapters/util/adapters/csv/default'
|
19
|
+
require 'smart_adapters/util/adapters/text/default'
|
18
20
|
|
19
21
|
module SmartAdapters
|
20
22
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smart_adapters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrea Rampin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -71,9 +71,11 @@ files:
|
|
71
71
|
- lib/smart_adapters/exceptions/invalid_request_params_exception.rb
|
72
72
|
- lib/smart_adapters/railtie.rb
|
73
73
|
- lib/smart_adapters/util/adapters/base.rb
|
74
|
+
- lib/smart_adapters/util/adapters/csv/default.rb
|
74
75
|
- lib/smart_adapters/util/adapters/html/default.rb
|
75
76
|
- lib/smart_adapters/util/adapters/js/default.rb
|
76
77
|
- lib/smart_adapters/util/adapters/json/default.rb
|
78
|
+
- lib/smart_adapters/util/adapters/text/default.rb
|
77
79
|
- lib/smart_adapters/util/adapters/xml/default.rb
|
78
80
|
- lib/smart_adapters/version.rb
|
79
81
|
- lib/tasks/smart_adapters_tasks.rake
|