retail_calendar 1.1.1 → 1.2.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
  SHA1:
3
- metadata.gz: 1650f5f1b7949233618b8380c2cfd80f6c138859
4
- data.tar.gz: ff01f022beb26e8d1f7bc8071a29cd51eb5f49d6
3
+ metadata.gz: 2b596b4c676c6b516d7caee5653bdc18187a8969
4
+ data.tar.gz: d30c9dcbc1b8ff952dffee20c0af3308da3b39f2
5
5
  SHA512:
6
- metadata.gz: 536e727d75424225b63802af043fe344e64f414b47c11c0149c31644dc38fd3181d7afcac8d10161a8292c3b52213389cf8b28e7d7f3c585034cf8c27f9ac0bb
7
- data.tar.gz: 09552efd38ef7e5b9f57a4741de9b740544eae592c6ee88a0c4b32137e1e7375036d8a30aff7d4d24f4f60e698a9128ccc277f15ffc656b3737e2b1e02d6ff31
6
+ metadata.gz: 6bfc13386f7def9cedef9cd79d488b2cc7340f5a592b87774338d7932e73b5934264e49ab08490e963dacc5876e6ead134380747352c28a08df326cf5845309b
7
+ data.tar.gz: 9e49f270957ae2459b5d05ebdfd41f8b6ab737c13b88d322518214047d78ba35a4c615495cdd33568b6b2d72516b36c68c37e3021ce063c24fcc836fc69c7c46
data/README.md CHANGED
@@ -41,8 +41,8 @@ Instantiate RetailCalendar::Finder object to get start and end dates for weeks/p
41
41
  Instantiate with time zone
42
42
 
43
43
  ```ruby
44
- > cal = RetailCalendar::Finder.new('+7000')
45
- => #<RetailCalendar::Finder:0x000001021a3328 @offset="+7000">
44
+ > cal = RetailCalendar::Finder.new('PST')
45
+ => #<RetailCalendar::Finder:0x000001021a3328 @offset="PST">
46
46
  ```
47
47
 
48
48
  ### Functions
@@ -71,17 +71,15 @@ module RetailCalendar
71
71
  end
72
72
 
73
73
  def last_year
74
- previous_year = DateTime.now.change(:offset => @offset).year - 1
75
- year(previous_year)
74
+ year(determine_current_year - 1)
76
75
  end
77
76
 
78
77
  def this_year
79
- previous_year = DateTime.now.change(:offset => @offset).year
80
- year(previous_year)
78
+ year(determine_current_year)
81
79
  end
82
80
 
83
81
  def last_season
84
- current_year = DateTime.now.change(:offset => @offset).year
82
+ current_year = determine_current_year
85
83
  current_season = get_season
86
84
  if current_season == 1
87
85
  previous_year = current_year - 1
@@ -94,13 +92,13 @@ module RetailCalendar
94
92
  end
95
93
 
96
94
  def this_season
97
- current_year = DateTime.now.change(:offset => @offset).year
95
+ current_year = determine_current_year
98
96
  current_season = get_season
99
97
  season(current_year, current_season)
100
98
  end
101
99
 
102
100
  def last_quarter
103
- current_year = DateTime.now.change(:offset => @offset).year
101
+ current_year = determine_current_year
104
102
  current_quarter = get_quarter
105
103
  if current_quarter == 1
106
104
  previous_year = current_year - 1
@@ -113,13 +111,13 @@ module RetailCalendar
113
111
  end
114
112
 
115
113
  def this_quarter
116
- current_year = DateTime.now.change(:offset => @offset).year
114
+ current_year = determine_current_year
117
115
  current_quarter = get_quarter
118
116
  quarter(current_year, current_quarter)
119
117
  end
120
118
 
121
119
  def last_period
122
- current_year = DateTime.now.change(:offset => @offset).year
120
+ current_year = determine_current_year
123
121
  current_period = get_period
124
122
  if current_period == 1
125
123
  previous_year = current_year - 1
@@ -131,8 +129,19 @@ module RetailCalendar
131
129
  period(previous_year, previous_period)
132
130
  end
133
131
 
132
+ def determine_current_year(curr_date = DateTime.now.change(:offset => @offset))
133
+ curr_date_year = DateTime.now.change(:offset => @offset).year
134
+ if (curr_date >= year(curr_date_year).start_date && curr_date <= year(curr_date_year).end_date)
135
+ return curr_date_year
136
+ elsif curr_date < year(curr_date_year).start_date
137
+ return curr_date_year - 1
138
+ elsif curr_date > year(curr_date_year).end_date
139
+ return curr_date_year + 1
140
+ end
141
+ end
142
+
134
143
  def this_period
135
- current_year = DateTime.now.change(:offset => @offset).year
144
+ current_year = determine_current_year
136
145
  current_period = get_period
137
146
  period(current_year, current_period)
138
147
  end
@@ -162,13 +171,13 @@ module RetailCalendar
162
171
  private
163
172
 
164
173
  def get_season(curr_date = DateTime.now.change(:offset => @offset))
165
- start_date = start_time_for_year(curr_date.year)
174
+ start_date = start_time_for_year(determine_current_year(curr_date))
166
175
  days_passed = (curr_date.to_date - start_date.to_date).to_i
167
176
  days_passed < SEASON_LENGTH ? 1 : 2
168
177
  end
169
178
 
170
179
  def get_quarter(curr_date = DateTime.now.change(:offset => @offset))
171
- start_date = start_time_for_year(curr_date.year)
180
+ start_date = start_time_for_year(determine_current_year(curr_date))
172
181
  days_passed = (curr_date.to_date - start_date.to_date).to_i
173
182
  case days_passed
174
183
  when 0..91
@@ -183,7 +192,7 @@ module RetailCalendar
183
192
  end
184
193
 
185
194
  def get_period(curr_date = DateTime.now.change(:offset => @offset))
186
- start_date = start_time_for_year(curr_date.year)
195
+ start_date = start_time_for_year(determine_current_year(curr_date))
187
196
  period = 1
188
197
  while start_date < curr_date
189
198
  no_weeks = weeks_in_month(period + 1)
@@ -1,3 +1,3 @@
1
1
  module RetailCalendar
2
- VERSION = "1.1.1"
2
+ VERSION = "1.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: retail_calendar
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aditya Raghuwanshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-04 00:00:00.000000000 Z
11
+ date: 2015-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler