rails_default_url_options 5.0.0 → 6.0.0

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: 3528ba9babc8f72d7dfc4157003784eb641171b551ab986cf7a786c0bcddc587
4
- data.tar.gz: 470ec9f879a7e68faf00a6cf05c71e85007d3f946031d774072f5f5488c57b63
3
+ metadata.gz: d4cd442dd369102c6463931394c5ea8011676a361822b096b2d0d2d7222227ff
4
+ data.tar.gz: 3811e6226beac41b4c7a3aadfa18badf922fab5f298401699a9d39d437f64fa5
5
5
  SHA512:
6
- metadata.gz: 66c83875a9548eb4379c5df3ca63c27b807e87b8cd6720e32aaa3078d76c926149dc7ca1631445901ba8500a0062c10ec7918463aa957ebb10f540fc2c5a3fac
7
- data.tar.gz: f81ecdad6a24488fef3dd4d72d7e9ea22b1f781c3ca7fbaf5c035f1f2e3071f08f3a35bcbd3b87c20b6f205b06172afb3028626dfd49c0e132c6c6729287893d
6
+ metadata.gz: c0787e3f5993f7a0150e8011aa538b8a0ea5974311806d1763a41129326e95072f9e34f8784c310b0619347165849138caf87a68215d8aea7565955ffc3abe0d
7
+ data.tar.gz: 63735520cc91a62bdf254740dfe88c73403eeda5b05e625be77e29af79c5bab9ca05b5e4baf6b51b6accf84f8047ebcf319d2111954a02108c00c9bf0cc73fc8
@@ -7,13 +7,13 @@
7
7
  #
8
8
  # 2) dynamically configure these defaults on the first request seen.
9
9
  #
10
- # all we require to do this is a smart hash and simple before_filter. save
10
+ # all we require to do this is a smart hash and simple before_action. save
11
11
  # this file as 'config/intiializers/deafult_url_options.rb' and add this
12
12
  # before filter to your application_controller.rb
13
13
  #
14
14
  # class ApplicationController < ActionController::Base
15
15
  #
16
- # before_filter :configure_default_url_options!
16
+ # before_action :configure_default_url_options!
17
17
  #
18
18
  # protected
19
19
  # def configure_default_url_options!
@@ -31,7 +31,7 @@ unless defined?(DefaultUrlOptions)
31
31
  DefaultUrlOptions = Hash.new
32
32
 
33
33
  def DefaultUrlOptions.version
34
- '5.0.0'
34
+ '6.0.0'
35
35
  end
36
36
 
37
37
  def DefaultUrlOptions.dependencies
@@ -39,7 +39,7 @@ unless defined?(DefaultUrlOptions)
39
39
  end
40
40
 
41
41
 
42
- def DefaultUrlOptions.configure(request = {})
42
+ def DefaultUrlOptions.configure(request = {}, &block)
43
43
  default_url_options = DefaultUrlOptions
44
44
 
45
45
  default_url_options.clear
@@ -60,19 +60,15 @@ unless defined?(DefaultUrlOptions)
60
60
 
61
61
  normalize!
62
62
 
63
- # force action_mailer to not lick balls
63
+ # force action_mailer to not suck so bad
64
64
  #
65
65
  Rails.configuration.action_mailer.default_url_options = default_url_options
66
+
66
67
  if ActionMailer::Base.respond_to?('default_url_options=')
67
68
  ActionMailer::Base.default_url_options = default_url_options
68
69
  end
69
70
 
70
71
  default_url_options
71
- ensure
72
- keys.each do |key|
73
- next if key.is_a?(Symbol)
74
- self[key.to_s.to_sym] = self.fetch(key)
75
- end
76
72
  end
77
73
 
78
74
  def DefaultUrlOptions.configure!(request = {})
@@ -115,7 +111,18 @@ unless defined?(DefaultUrlOptions)
115
111
  delete(:port) if port.to_s == '80'
116
112
  end
117
113
 
118
- keys.each{|key| delete(key) if self[key].nil?}
114
+ keys.each do |key|
115
+ if self[key].nil?
116
+ delete(key)
117
+ next
118
+ end
119
+
120
+ if key.is_a?(Symbol)
121
+ next
122
+ end
123
+
124
+ self[key.to_s.to_sym] = self.delete(key)
125
+ end
119
126
 
120
127
  self
121
128
  end
@@ -132,56 +139,88 @@ unless defined?(DefaultUrlOptions)
132
139
  DefaultUrlOptions[:port]
133
140
  end
134
141
 
142
+ def DefaultUrlOptions.domain
143
+ case host
144
+ when '0.0.0.0', '127.0.0.1'
145
+ 'localhost'
146
+ when /\A[\d.]+\Z/iomx
147
+ host
148
+ else
149
+ host.split('.').last(2).join('.')
150
+ end
151
+ end
152
+
135
153
  def DefaultUrlOptions.to_yaml(*args, &block)
136
154
  Hash.new.update(self).to_yaml(*args, &block)
137
155
  end
138
156
 
157
+ def DefaultUrlOptions.callbacks
158
+ @callbacks ||= []
159
+ end
139
160
  end
140
161
 
141
162
 
142
163
  if defined?(Rails)
143
- ##
144
- #
145
- def DefaultUrlOptions.install_before_filter!
146
- DefaultUrlOptions.configure(
147
- :host => '127.0.0.1',
148
- :port => 3000
149
- ) unless DefaultUrlOptions.configured?
164
+ def DefaultUrlOptions.autoconfigure!(&block)
165
+ unless DefaultUrlOptions.configured?
166
+ DefaultUrlOptions.configure(
167
+ :host => 'localhost',
168
+ :port => 3000
169
+ )
170
+ end
171
+
172
+ if block
173
+ DefaultUrlOptions.callbacks.push(block)
174
+ end
175
+
176
+ DefaultUrlOptions.install_before_action!
177
+ end
178
+
179
+ def DefaultUrlOptions.autoconfigure(&block)
180
+ DefaultUrlOptions.autoconfigure!(&block)
181
+ end
150
182
 
183
+ def DefaultUrlOptions.install_before_action!
151
184
  if defined?(::ActionController::Base)
152
185
  ::ActionController::Base.module_eval do
153
- install_method = respond_to?(:prepend_before_filter) ? :prepend_before_filter : :prepend_before_action
154
-
155
- send(install_method) do |controller|
156
- unless controller.respond_to?(:configure_default_url_options!)
157
- unless DefaultUrlOptions.configured?
158
- request = controller.send(:request)
159
-
160
- if Rails.env.production?
161
- DefaultUrlOptions.configure!(request)
162
- else
163
- DefaultUrlOptions.configure(request)
164
- end
186
+ def configure_default_url_options!
187
+ unless DefaultUrlOptions.configured?
188
+ if Rails.env.production?
189
+ DefaultUrlOptions.configure!(request)
190
+ else
191
+ DefaultUrlOptions.configure(request)
192
+ end
193
+
194
+ DefaultUrlOptions.callbacks.each do |block|
195
+ block.call
165
196
  end
197
+
198
+ DefaultUrlOptions.callbacks.clear
166
199
  end
167
200
  end
201
+
202
+ prepend_before_action = respond_to?(:prepend_before_filter) ? :prepend_before_filter : :prepend_before_action
203
+
204
+ send(prepend_before_action, :configure_default_url_options!)
168
205
  end
169
206
  end
170
207
  end
171
208
 
172
- ##
209
+ =begin
173
210
  #
174
211
  if defined?(Rails::Engine)
175
212
  class Engine < Rails::Engine
176
213
  config.before_initialize do
177
214
  ActiveSupport.on_load(:action_controller) do
178
- DefaultUrlOptions.install_before_filter!
215
+ DefaultUrlOptions.install_before_action!
179
216
  end
180
217
  end
181
218
  end
182
219
  else
183
- DefaultUrlOptions.install_before_filter!
220
+ DefaultUrlOptions.install_before_action!
184
221
  end
222
+ =end
223
+
185
224
  end
186
225
 
187
226
  ::Rails_default_url_options = ::DefaultUrlOptions
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification::new do |spec|
5
5
  spec.name = "rails_default_url_options"
6
- spec.version = "5.0.0"
6
+ spec.version = "6.0.0"
7
7
  spec.platform = Gem::Platform::RUBY
8
8
  spec.summary = "rails_default_url_options"
9
9
  spec.description = "description: rails_default_url_options kicks the ass"
@@ -13,7 +13,6 @@ Gem::Specification::new do |spec|
13
13
  ["README.md",
14
14
  "Rakefile",
15
15
  "lib",
16
- "lib/rails_default_url_options",
17
16
  "lib/rails_default_url_options.rb",
18
17
  "rails_default_url_options.gemspec"]
19
18
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_default_url_options
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ara T. Howard
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-19 00:00:00.000000000 Z
11
+ date: 2020-10-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'description: rails_default_url_options kicks the ass'
14
14
  email: ara.t.howard@gmail.com
@@ -39,8 +39,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  requirements: []
42
- rubyforge_project: codeforpeople
43
- rubygems_version: 2.7.6
42
+ rubygems_version: 3.0.3
44
43
  signing_key:
45
44
  specification_version: 4
46
45
  summary: rails_default_url_options