accept_timezone 0.1.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8811ffd5cc1200ed8796475de608e34660e89959
4
+ data.tar.gz: ec38c3d6d2617b6b79d88615cf19c52b596169e5
5
+ SHA512:
6
+ metadata.gz: 9cf6f1771929443ef8b8fdfa7bdd9828f2e1e62cc54fc39ef21fa008c1acaec641f091f05a101d76dfd27f6a8658c95a7b35ff95921a8e62740cfd9f0c30aa8e
7
+ data.tar.gz: 3a747bc5c6e1bca9f64efbd94ec5e195e4b8cd7e3d38e7eb2d445492375d22368333821d57d226539233a7997edb111e05b7426d20a1f44a2f0b99ae76975901
@@ -0,0 +1,5 @@
1
+ require 'accept_timezone/railtie'
2
+ require 'accept_timezone/application_controller'
3
+
4
+ module AcceptTimezone
5
+ end
@@ -0,0 +1,22 @@
1
+ module AcceptTimezone
2
+ module ApplicationController
3
+ extend ActiveSupport::Concern
4
+
5
+ # note: don't specify included or ClassMethods if unused
6
+
7
+ included do
8
+ before_action :set_timezone
9
+ end
10
+
11
+ private
12
+
13
+ def set_timezone
14
+ timezone = request.headers.env['HTTP_ACCEPT_TIMEZONE']
15
+ if timezone.present? && ActiveSupport::TimeZone[timezone].present?
16
+ Time.zone = ActiveSupport::TimeZone[timezone]
17
+ else
18
+ Time.zone = ActiveSupport::TimeZone[Rails.application.config.time_zone]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,9 @@
1
+ module AcceptTimezone
2
+ class Railtie < Rails::Railtie
3
+ initializer "accept_timezone.configure_rails_initialization" do
4
+ ActiveSupport.on_load(:action_controller) do
5
+ include AcceptTimezone::ApplicationController
6
+ end
7
+ end
8
+ end
9
+ end
metadata ADDED
@@ -0,0 +1,60 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: accept_timezone
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Eric Saupe
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-07-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: Use Accept-Timezone header to set Time.zone
28
+ email: ericsaupe@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - lib/accept_timezone.rb
34
+ - lib/accept_timezone/application_controller.rb
35
+ - lib/accept_timezone/railtie.rb
36
+ homepage: https://github.com/ericsaupe/accept-timezone-ruby
37
+ licenses:
38
+ - MIT
39
+ metadata: {}
40
+ post_install_message:
41
+ rdoc_options: []
42
+ require_paths:
43
+ - lib
44
+ required_ruby_version: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ requirements: []
55
+ rubyforge_project:
56
+ rubygems_version: 2.6.12
57
+ signing_key:
58
+ specification_version: 4
59
+ summary: Use Accept-Timezone header to set Time.zone
60
+ test_files: []