merch_calendar 0.1.0.rc1 → 0.1.0.rc2

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: eb41f5342b94855990d76a316fd9fe32a059e2ea
4
- data.tar.gz: d16f77b34c7c286fae1a71795d00a2e87d034f8e
3
+ metadata.gz: 4258c9ca91b7427a13a40d020ea448f7a0bce7d3
4
+ data.tar.gz: e5892f68ea348e3901339aebdd186200773333bc
5
5
  SHA512:
6
- metadata.gz: 0523a60e48200560bfe2218f7bdfb05e41fe99d83460654ccc192b2229cc0ca6fded1fd2504c10c5c053879e6c4187e59bee73bef503f67f2730e286a76e0d8b
7
- data.tar.gz: 49e67aa34e6f46e62077d735fab174c6684b394c008b50377e9a451711c0b7da7fe18cace1f58790e181b518dc05759e013a58ce1d39f39abd809354e4faa7ea
6
+ metadata.gz: 50c31a68c19cc6edd3aecf26467788afd0c23d1f688c97d2d08ee1a06ebe2c2ea6cd67445f891a8b6f22371a509a7cb4779023f6d48e6022e54b2c4d1f5e9462
7
+ data.tar.gz: d5a02533ff081b5d4fe07b3ad80fd882a62834c19a79023351c3c079664b9b169fd5e7cfb2a8c5026aceb81e25e63637280dd0ed13402212df80530e47283e08
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- merch_calendar (0.1.0.rc1)
4
+ merch_calendar (0.1.0.rc2)
5
5
 
6
6
  GEM
7
7
  remote: https://www.rubygems.org/
data/README.md CHANGED
@@ -18,16 +18,6 @@ Add the following line to your `Gemfile`:
18
18
  gem "merch_calendar"
19
19
  ```
20
20
 
21
-
22
- ## Configuration
23
- ```ruby
24
- # NOTE: Configuration will be added soon, but is currently NOT available.
25
- MerchCalendar.configure do |config|
26
- # The month that Q1 begins. The default is 8 (August)
27
- config.quarter_start_month = 8
28
- end
29
- ```
30
-
31
21
  ## Usage
32
22
 
33
23
  For converting a date into a `MerchWeek` object.
@@ -1,3 +1,6 @@
1
+ require "merch_calendar/retail_calendar"
2
+ require "merch_calendar/fiscal_year_calendar"
3
+
1
4
  module MerchCalendar
2
5
 
3
6
  # Utility methods for the merch calendar
@@ -85,7 +88,7 @@ module MerchCalendar
85
88
  #
86
89
  # @return [Date] the starting date of the specified quarter
87
90
  def start_of_quarter(year, quarter)
88
- retail_calendar.start_of_quarter(year, quarter)
91
+ fiscal_year_calendar.start_of_quarter(year + 1, quarter)
89
92
  end
90
93
 
91
94
  # The end date of the quarter
@@ -95,7 +98,7 @@ module MerchCalendar
95
98
  #
96
99
  # @return [Date] the ending date of the specified quarter
97
100
  def end_of_quarter(year, quarter)
98
- retail_calendar.end_of_quarter(year, quarter)
101
+ fiscal_year_calendar.end_of_quarter(year + 1, quarter)
99
102
  end
100
103
 
101
104
 
@@ -175,6 +178,10 @@ module MerchCalendar
175
178
  @retail_calendar ||= RetailCalendar.new
176
179
  end
177
180
 
181
+ def fiscal_year_calendar
182
+ @fiscal_year_calendar ||= FiscalYearCalendar.new
183
+ end
184
+
178
185
  # Reads the provided parameter and converts the value
179
186
  # to a MERCH MONTH
180
187
  def get_merch_month_param(param)
@@ -199,6 +206,28 @@ module MerchCalendar
199
206
  # Load the utils into the MerchCalendar namespace
200
207
  class << self
201
208
  include Util
209
+ extend Gem::Deprecate
210
+
211
+ [
212
+ :start_of_week,
213
+ :end_of_week,
214
+ :start_of_month,
215
+ :end_of_month,
216
+ :start_of_year,
217
+ :end_of_year,
218
+ :weeks_in_year,
219
+ :merch_months_in,
220
+ ].each do |method|
221
+ deprecate method, "#{MerchCalendar::RetailCalendar}##{method}", DEPRECATION_DATE.year, DEPRECATION_DATE.month
222
+ end
223
+
224
+ [
225
+ :start_of_quarter,
226
+ :end_of_quarter
227
+ ].each do |method|
228
+ deprecate method, "#{MerchCalendar::FiscalYearCalendar}##{method}", DEPRECATION_DATE.year, DEPRECATION_DATE.month
229
+ end
230
+
202
231
  end
203
232
 
204
233
  end
@@ -1,3 +1,3 @@
1
1
  module MerchCalendar
2
- VERSION = '0.1.0.rc1'
2
+ VERSION = '0.1.0.rc2'
3
3
  end
@@ -1,13 +1,11 @@
1
1
 
2
2
  #
3
3
  module MerchCalendar
4
-
4
+ DEPRECATION_DATE = Date.new(2018, 1, 1)
5
5
  end
6
6
 
7
7
  require_relative 'merch_calendar/version'
8
8
  require_relative 'merch_calendar/util'
9
- require_relative 'merch_calendar/configurable'
10
- require_relative 'merch_calendar/configuration'
11
9
  require_relative 'merch_calendar/merch_week'
12
10
  require_relative 'merch_calendar/retail_calendar'
13
11
  require_relative 'merch_calendar/fiscal_year_calendar'
@@ -60,40 +60,86 @@ RSpec.describe MerchCalendar do
60
60
  end
61
61
  end
62
62
 
63
- it "#start_of_month" do
64
- expect(described_class.start_of_month(2014,1)).to be_a Date
63
+ describe "#start_of_month" do
64
+ it "returns the correct date for 2017-1" do
65
+ expect(described_class.start_of_month(2017, 1)).to eq Date.new(2017, 12, 31)
66
+ end
67
+
68
+ it "returns the correct date for 2017-5" do
69
+ expect(described_class.start_of_month(2017, 5)).to eq Date.new(2017, 4, 30)
70
+ end
71
+
72
+ it "returns the correct date for 2018-1" do
73
+ expect(described_class.start_of_month(2018, 1)).to eq Date.new(2019, 1, 6)
74
+ end
65
75
  end
66
76
 
67
- it "#end_of_month" do
68
- expect(described_class.end_of_month(2014,1)).to be_a Date
77
+ describe "#end_of_month" do
78
+ it "returns the correct date for 2017-1" do
79
+ expect(described_class.end_of_month(2017, 1)).to eq Date.new(2018, 2, 3)
80
+ end
81
+
82
+ it "returns the correct date for 2017-5" do
83
+ expect(described_class.end_of_month(2017, 5)).to eq Date.new(2017, 5, 27)
84
+ end
85
+
86
+ it "returns the correct date for 2018-1" do
87
+ expect(described_class.end_of_month(2018, 1)).to eq Date.new(2019, 2, 2)
88
+ end
69
89
  end
70
90
 
71
- it "#start_of_year" do
72
- expect(described_class.start_of_year(2014)).to be_a Date
91
+ describe "#start_of_year" do
92
+ it "returns the correct date for 2014" do
93
+ expect(described_class.start_of_year(2014)).to eq Date.new(2014, 2, 2)
94
+ end
95
+
96
+ it "returns the correct date for 2017" do
97
+ expect(described_class.start_of_year(2017)).to eq Date.new(2017, 1, 29)
98
+ end
73
99
  end
74
100
 
75
- it "#end_of_year" do
76
- expect(described_class.end_of_year(2014)).to be_a Date
101
+ describe "#end_of_year" do
102
+ it "returns the correct date for 2014" do
103
+ expect(described_class.end_of_year(2014)).to eq Date.new(2015, 1, 31)
104
+ end
105
+
106
+ it "returns the correct date for 2017" do
107
+ expect(described_class.end_of_year(2017)).to eq Date.new(2018, 2, 3)
108
+ end
77
109
  end
78
110
 
79
- it "#start_of_quarter" do
80
- expect(described_class.start_of_quarter(2014,1)).to be_a Date
111
+ describe "#start_of_quarter" do
112
+ it "returns the correct date for 2014-Q1" do
113
+ expect(described_class.start_of_quarter(2014,1)).to eq Date.new(2014, 8, 3)
114
+ end
81
115
  end
82
116
 
83
- it "#end_of_quarter" do
84
- expect(described_class.end_of_quarter(2014,1)).to be_a Date
117
+ describe "#end_of_quarter" do
118
+ it "returns the correct date for 2014-Q1" do
119
+ expect(described_class.end_of_quarter(2014,1)).to eq Date.new(2014, 11, 1)
120
+ end
85
121
  end
86
122
 
87
- it "#weeks_in_year" do
88
- expect(described_class.weeks_in_year(2014)).to be_a Fixnum
123
+ describe "#weeks_in_year" do
124
+ it "returns the right number of weeks for 2014" do
125
+ expect(described_class.weeks_in_year(2014)).to eq 52
126
+ end
127
+
128
+ it "returns the right number of weeks for 2017" do
129
+ expect(described_class.weeks_in_year(2017)).to eq 53
130
+ end
89
131
  end
90
132
 
91
- it "#merch_to_julian" do
92
- expect(described_class.merch_to_julian(1)).to be_a Fixnum
133
+ describe "#merch_to_julian" do
134
+ it "returns the right julian month" do
135
+ expect(described_class.merch_to_julian(1)).to eq 2
136
+ end
93
137
  end
94
138
 
95
- it "#julian_to_merch" do
96
- expect(described_class.julian_to_merch(1)).to be_a Fixnum
139
+ describe "#julian_to_merch" do
140
+ it "returns the right merch month" do
141
+ expect(described_class.julian_to_merch(1)).to eq 12
142
+ end
97
143
  end
98
144
 
99
145
  end
data/spec/spec_helper.rb CHANGED
@@ -14,4 +14,15 @@ RSpec.configure do |config|
14
14
  mocks_config.verify_doubled_constant_names = true
15
15
  mocks_config.verify_partial_doubles = true
16
16
  end
17
- end
17
+
18
+ config.around do |example|
19
+ # Hide deprecation warnings within this gem from showing up in tests
20
+ if Date.today < MerchCalendar::DEPRECATION_DATE
21
+ Gem::Deprecate.skip_during do
22
+ example.run
23
+ end
24
+ else
25
+ example.run
26
+ end
27
+ end
28
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: merch_calendar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.rc1
4
+ version: 0.1.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mitch Dempsey
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-06-30 00:00:00.000000000 Z
12
+ date: 2017-07-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -115,16 +115,12 @@ files:
115
115
  - README.md
116
116
  - Rakefile
117
117
  - lib/merch_calendar.rb
118
- - lib/merch_calendar/configurable.rb
119
- - lib/merch_calendar/configuration.rb
120
118
  - lib/merch_calendar/fiscal_year_calendar.rb
121
119
  - lib/merch_calendar/merch_week.rb
122
120
  - lib/merch_calendar/retail_calendar.rb
123
121
  - lib/merch_calendar/util.rb
124
122
  - lib/merch_calendar/version.rb
125
123
  - merch_calendar.gemspec
126
- - spec/merch_calendar/configurable_spec.rb
127
- - spec/merch_calendar/configuration_spec.rb
128
124
  - spec/merch_calendar/fiscal_year_calendar_spec.rb
129
125
  - spec/merch_calendar/merch_week_spec.rb
130
126
  - spec/merch_calendar/retail_calendar_spec.rb
@@ -156,8 +152,6 @@ signing_key:
156
152
  specification_version: 4
157
153
  summary: Utility for manipulating dates within a 4-5-4 retail calendar
158
154
  test_files:
159
- - spec/merch_calendar/configurable_spec.rb
160
- - spec/merch_calendar/configuration_spec.rb
161
155
  - spec/merch_calendar/fiscal_year_calendar_spec.rb
162
156
  - spec/merch_calendar/merch_week_spec.rb
163
157
  - spec/merch_calendar/retail_calendar_spec.rb
@@ -1,28 +0,0 @@
1
- module MerchCalendar
2
- class << self
3
-
4
- attr_writer :configuration
5
-
6
- # Returns the global configuration object
7
- #
8
- # @return [Configuration]
9
- def configuration
10
- @configuration ||= Configuration.new
11
- end
12
-
13
- # Used in initializers to set the global configuration
14
- #
15
- # @return [void]
16
- def configure
17
- yield(configuration)
18
- end
19
-
20
- # Resets the configuration to default values
21
- #
22
- # @return [void]
23
- def reset_config!
24
- @configuration = Configuration.new
25
- end
26
-
27
- end
28
- end
@@ -1,13 +0,0 @@
1
- module MerchCalendar
2
- # @note WARNING: THIS IS NOT BEING USED YET
3
- class Configuration
4
-
5
- # The JULIAN month of the quarter start
6
- attr_accessor :quarter_start_month
7
-
8
- def initialize
9
- @quarter_start_month = 8
10
- end
11
-
12
- end
13
- end
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
-
4
- describe MerchCalendar do
5
- describe "#reset_config!" do
6
- it "resets the configuration to defaults" do
7
- MerchCalendar.configure do |config|
8
- config.quarter_start_month = 1
9
- end
10
-
11
- MerchCalendar.reset_config!
12
-
13
- expect(MerchCalendar.configuration.quarter_start_month).to eq MerchCalendar::Configuration.new.quarter_start_month
14
-
15
- end
16
- end
17
-
18
-
19
- end
@@ -1,17 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe MerchCalendar::Configuration do
4
- describe "#quarter_start_month" do
5
- it "default value is 8" do
6
- expect(described_class.new.quarter_start_month).to eq 8
7
- end
8
- end
9
-
10
- describe "#quarter_start_month=" do
11
- it "can set value" do
12
- config = described_class.new
13
- config.quarter_start_month = 7
14
- expect(config.quarter_start_month).to eq 7
15
- end
16
- end
17
- end