accept_timezone 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []