smart_adapters 0.1.2 → 0.1.3
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
|
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
|