tp_common 0.1.1 → 0.1.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
  SHA1:
3
- metadata.gz: 7ed27b3a106184d6ded87fd3e1e9c44e3b1472ac
4
- data.tar.gz: 180eae84761affca9fa2f8f393365db944acd879
3
+ metadata.gz: b356520bfa9dafe1b9d9faf0085ab4036e1e5dca
4
+ data.tar.gz: a015f6bd07598ffe465aa90e51730670e73ca2b5
5
5
  SHA512:
6
- metadata.gz: 85052c146352ec174b59140ebf194035559fa2890fa9c0c46bc36894065232e29599ce32738df489f6ed43867b92d4e80328f5a3404161546d01cf91e0dc9710
7
- data.tar.gz: cdef719622e6034ed4dd2a85d79fa15619870002b07d56f81ad0b9fccfde506fbbe9f09ce0182b86c1fa497b619ea96262a21b15793e4e4b908d97797c9ad03f
6
+ metadata.gz: 2bb409e4a85367d909016d000374132818be6ea00c9f18b5dfa9c2ce554ead08144ecdd9d8d7255a2775f28ffcdb3c86fca45a9a3701c2850afb67b05c6738d7
7
+ data.tar.gz: c7dbe6e37ca7f854a9883f2550fa7c4b3b992b95820cb20e965f0728157e398b519386e3afa61cc7edc273be672b4682ce001d2335a2593d59b6aebb16477858
@@ -0,0 +1,7 @@
1
+ module TpCommon
2
+ class Railtie < ::Rails::Railtie
3
+ config.after_initialize do
4
+ TpCommon::Timezones::Config.config
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,38 @@
1
+ module TpCommon
2
+ module Timezones
3
+ class Config
4
+ def self.config
5
+ return if TpCommon::Timezones.const_defined?("LIST_ZONES")
6
+ if defined?(::Rails::Railtie)
7
+ begin
8
+ TpCommon::Timezones.const_set("LIST_ZONES", Rails.application.config_for(:timezones))
9
+ return
10
+ rescue NameError, NoMethodError
11
+ puts "Couldn't load Rails or config methods. Use default."
12
+ rescue StandardError
13
+ puts "Couldn't load file config/timezones.yml. Use default."
14
+ end
15
+ end
16
+
17
+ TpCommon::Timezones.const_set("LIST_ZONES", load_default_timezones)
18
+ end
19
+
20
+ def self.load_default_timezones
21
+ file_path = File.join(File.dirname(__FILE__),"config/timezones.yml")
22
+ yaml = Pathname.new(file_path)
23
+
24
+ if yaml.exist?
25
+ require "erb"
26
+ (YAML.load(ERB.new(yaml.read).result) || {})["all_zones"] || {}
27
+ else
28
+ raise "Could not load configuration. No such file - #{yaml}"
29
+ end
30
+ rescue Psych::SyntaxError => e
31
+ raise "YAML syntax error occurred while parsing #{yaml}. ",
32
+ "Please note that YAML must be consistently indented using spaces. Tabs are not allowed. ",
33
+ "Error: #{e.message}"
34
+ end
35
+ private_class_method :load_default_timezones
36
+ end
37
+ end
38
+ end
@@ -2,7 +2,6 @@ module TpCommon
2
2
  module Timezones
3
3
  class Zone
4
4
  SECONDS_IN_AN_HOUR = 3600
5
- DAY_LIGHT_SAVING_ZONES = ['Etc/GMT+9', 'Etc/GMT+8', 'Etc/GMT+7', 'Etc/GMT+6', 'Etc/GMT+5'].freeze
6
5
 
7
6
  attr_reader :key
8
7
 
@@ -30,14 +29,12 @@ module TpCommon
30
29
 
31
30
  private
32
31
 
33
- attr_reader :time, :name
34
-
35
32
  def gmt_12
36
- time.in_time_zone('Etc/GMT-12')
33
+ @time.in_time_zone('Etc/GMT-12')
37
34
  end
38
35
 
39
36
  def organization_time
40
- time.in_time_zone(name)
37
+ @time.in_time_zone(@name)
41
38
  end
42
39
 
43
40
  def time_difference_in_seconds
@@ -1,6 +1,8 @@
1
+ require 'tp_common/timezones/config'
2
+
1
3
  module TpCommon
2
4
  module Timezones
3
- LIST_ZONES = TpCommon.load_timezones.freeze
5
+ # LIST_ZONES = # Dynamic defined in TpCommon::Timezones::Config
4
6
 
5
7
  def self.current_date_in_time_zone(time_zone_key)
6
8
  self.converted_time(Time.now, time_zone_key).strftime('%Y-%m-%d %H:%M:%S').to_date
@@ -1,3 +1,3 @@
1
1
  module TpCommon
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
data/lib/tp_common.rb CHANGED
@@ -3,24 +3,13 @@ require 'active_support/all'
3
3
  require 'psych'
4
4
  require 'yaml'
5
5
 
6
- # require 'pry-byebug'
6
+ require 'pry-byebug'
7
7
 
8
- module TpCommon
9
- def self.load_timezones
10
- file_path = File.join(File.dirname(__FILE__),"config/timezones.yml")
11
- yaml = Pathname.new(file_path)
8
+ if defined?(::Rails::Railtie)
9
+ require 'tp_common/railtie'
10
+ end
12
11
 
13
- if yaml.exist?
14
- require "erb"
15
- (YAML.load(ERB.new(yaml.read).result) || {})["all_zones"] || {}
16
- else
17
- raise "Could not load configuration. No such file - #{yaml}"
18
- end
19
- rescue Psych::SyntaxError => e
20
- raise "YAML syntax error occurred while parsing #{yaml}. ",
21
- "Please note that YAML must be consistently indented using spaces. Tabs are not allowed. ",
22
- "Error: #{e.message}"
23
- end
12
+ module TpCommon
24
13
  end
25
14
 
26
15
  require "tp_common/timezones"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tp_common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - An Vo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-15 00:00:00.000000000 Z
11
+ date: 2017-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -153,9 +153,11 @@ files:
153
153
  - Rakefile
154
154
  - bin/console
155
155
  - bin/setup
156
- - lib/config/timezones.yml
157
156
  - lib/tp_common.rb
157
+ - lib/tp_common/railtie.rb
158
158
  - lib/tp_common/timezones.rb
159
+ - lib/tp_common/timezones/config.rb
160
+ - lib/tp_common/timezones/config/timezones.yml
159
161
  - lib/tp_common/timezones/zone.rb
160
162
  - lib/tp_common/version.rb
161
163
  - tp_common.gemspec