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