rails-rapido 0.9.8 → 1.0.2

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