rails-rapido 0.9.8 → 1.0.2

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: ccf726284964572386ae84aba1d867157c1b91133717d6d236d0a9649124643d
4
- data.tar.gz: e8ea92e83433412fe2b5ef62f306e23faa2ccc3b3bc62c26ffeb28022447e778
3
+ metadata.gz: c94ce5d5dbaaadbfe8b56f7d2dd29231f15ee9e77b0257a3163a36030bffd189
4
+ data.tar.gz: 649fa81d52d6b811ee5992bc1d2e817d8f01b7af56d1cf2d2d8c553b066c066e
5
5
  SHA512:
6
- metadata.gz: 70a0e264fecd2e4e0dfcf554b75f1e5b3c2e3391d99bbfa6a78e7fd015aa41150a923ad58461c968b97781e001a8f9e6bd3609d40be79f8bd3106005dc24e3b2
7
- data.tar.gz: 91ea1c8d258c14017b4e88fe4933133f714dd2460d1bf6cefed0190b9210e04eaa3ca8e5ddeb54051cf6af9c5cffdb522c7c990e97590a1d62378c86184b7150
6
+ metadata.gz: b6400e876700e8f7f738e0ba3b314da4f830a1e6b0dd515bec367980de13d27b30d6fbe632e290084b95429d00089486ce88873569bfee769501aec09294a959
7
+ data.tar.gz: 7d7d832399582080754b22932d109de09258c8664ba9ca1a9d061339a07c8d0a9013fbabc0f23a4087139987980e705701253f8bc53e239e67c4b16559061079
@@ -19,31 +19,50 @@ module Rapido
19
19
 
20
20
  before_action :permit_only_allowed_actions
21
21
 
22
- before_action :permit_only_allowed_formats
22
+ before_action :permit_only_allowed_formats, only: [:index, :show]
23
23
 
24
24
  before_action :permit_only_if
25
25
  end
26
26
 
27
27
  def index
28
28
  return if performed?
29
- if request.format.to_sym == :json
29
+ f = (params["format"] || request.format).to_sym
30
+ if f == :json
30
31
  if(params["filename"])
31
32
  send_data resource_collection_presenter.as_json.to_json, filename: params["filename"]
32
33
  else
33
34
  render json: resource_collection_presenter
34
35
  end
35
- elsif request.format.to_sym == :xml
36
+ elsif f == :xml
36
37
  if(params["filename"])
37
38
  send_data resource_collection_presenter.to_xml, filename: params["filename"]
38
39
  else
39
40
  render xml: resource_collection_presenter
40
41
  end
41
- elsif request.format.to_sym == :csv
42
+ elsif f == :csv
42
43
  if(params["filename"])
43
44
  send_data resource_collection_presenter.to_csv, filename: params["filename"]
44
45
  else
45
46
  render plain: resource_collection_presenter.send("to_csv")
46
47
  end
48
+ elsif f == :xls
49
+ if(params["filename"])
50
+ send_data resource_collection_presenter.to_xls, filename: params["filename"]
51
+ else
52
+ render plain: resource_collection_presenter.send("to_xls")
53
+ end
54
+ elsif f == :xlsx
55
+ if(params["filename"])
56
+ send_data resource_collection_presenter.to_xlsx, filename: params["filename"]
57
+ else
58
+ render plain: resource_collection_presenter.send("to_xlsx")
59
+ end
60
+ elsif f == :pdf
61
+ if(params["filename"])
62
+ send_data resource_collection_presenter.to_pdf, filename: params["filename"]
63
+ else
64
+ render plain: resource_collection_presenter.send("to_pdf")
65
+ end
47
66
  else
48
67
  render json: resource_collection_presenter
49
68
  end
@@ -51,30 +70,49 @@ module Rapido
51
70
 
52
71
  def show
53
72
  return if performed?
54
- if request.format.to_sym == :json
73
+ f = (params["format"] || request.format).to_sym
74
+ if f == :json
55
75
  if(params["filename"])
56
76
  send_data resource_presenter.as_json.to_json, filename: params["filename"]
57
77
  else
58
78
  render json: resource_presenter
59
79
  end
60
- elsif request.format.to_sym == :html && !request.headers["accept"].include?("application/json")
80
+ elsif f == :html && !request.headers["accept"].include?("application/json")
61
81
  if(params["filename"])
62
82
  send_data resource_presenter.to_html, filename: params["filename"]
63
83
  else
64
84
  render html: resource_presenter.to_html.html_safe
65
85
  end
66
- elsif request.format.to_sym == :xml
86
+ elsif f == :xml
67
87
  if(params["filename"])
68
88
  send_data resource_presenter.to_xml, filename: params["filename"]
69
89
  else
70
90
  render xml: resource_presenter
71
91
  end
72
- elsif request.format.to_sym == :csv
92
+ elsif f == :csv
73
93
  if(params["filename"])
74
94
  send_data resource_presenter.to_csv, filename: params["filename"]
75
95
  else
76
96
  render plain: resource_presenter.send("to_csv")
77
97
  end
98
+ elsif f == :xls
99
+ if(params["filename"])
100
+ send_data resource_presenter.to_xlsx, filename: params["filename"]
101
+ else
102
+ render plain: resource_presenter.send("to_xls")
103
+ end
104
+ elsif f == :xlsx
105
+ if(params["filename"])
106
+ send_data resource_presenter.to_xlsx, filename: params["filename"]
107
+ else
108
+ render plain: resource_presenter.send("to_xlsx")
109
+ end
110
+ elsif f == :pdf
111
+ if(params["filename"])
112
+ send_data resource_presenter.to_pdf, filename: params["filename"]
113
+ else
114
+ render plain: resource_presenter.send("to_pdf")
115
+ end
78
116
  else
79
117
  render json: resource_presenter
80
118
  end
@@ -162,7 +200,6 @@ module Rapido
162
200
  def permit_only_allowed_formats
163
201
  f = params[:format]&.to_sym
164
202
  unless (!f || f == :json) || (allowed_formats && allowed_formats.include?(f))
165
- binding.pry
166
203
  head :not_found
167
204
  end
168
205
  end
@@ -1,3 +1,3 @@
1
1
  module Rapido
2
- VERSION = '0.9.8'
2
+ VERSION = '1.0.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-rapido
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.8
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Kirst
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-07 00:00:00.000000000 Z
11
+ date: 2022-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler