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: '091d4defa228bfba89a85e3a2010eef0aeb18d5a223e12715f6679f7f8f06bd1'
4
- data.tar.gz: 9fca82ac0ec58630fa68a1ee2cdde8484c174cbd6c268378418235a492f102ae
3
+ metadata.gz: 5eaeabe911a0b9b60e65687446a57cbd06669c329dfec08670866062f202af52
4
+ data.tar.gz: '082e37e56694963820b08257b6db3389ec024f53d695c730db60ee05bc3ef1e9'
5
5
  SHA512:
6
- metadata.gz: 33163d598dd3a22f72e7da02ec8c73dfcda208776189f74c0fb7b5cd39781e3e404dabaa731b1bec9b0e39e7550706d080266fd1bedb3db4bd677ea60cfe1c42
7
- data.tar.gz: 478bdf7a1323ba95630976359500fcfdbf92e84368b049819099b713af9d055a893a728075ab49abd3d49a99d4fb99f9a07aaaaa59f2d8988d162a6b948db618
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
- return redirect_back fallback_location: root_path, flash: { error: resource.errors }
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: `:text`, `:ics`, `:csv`, `:yaml`, `:rss`, `:atom`
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
- # Is json request?
41
- # @return [Boolean]
42
- def json?
43
- request_format.json?
44
- end
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
- # Is xml request?
51
+ # Check if the request has a valid format.
59
52
  # @return [Boolean]
60
- def xml?
61
- request_format.xml?
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?
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SmartAdapters
4
+ module Util
5
+ module Adapters
6
+ module Csv
7
+ module Default
8
+ extend ActiveSupport::Concern
9
+ include ::SmartAdapters::Util::Adapters::Base
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SmartAdapters
4
+ module Util
5
+ module Adapters
6
+ module Text
7
+ module Default
8
+ extend ActiveSupport::Concern
9
+ include ::SmartAdapters::Util::Adapters::Base
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SmartAdapters
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
@@ -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.2
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 00:00:00.000000000 Z
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