fat_core 2.0.1 → 3.0.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.
@@ -1,5 +1,7 @@
1
1
  # coding: utf-8
2
- require 'spec_helper'
2
+ #require 'spec_helper'
3
+
4
+ require 'fat_core/date'
3
5
 
4
6
  describe Date do
5
7
  before :each do
@@ -624,27 +626,6 @@ describe Date do
624
626
  }.to raise_error(ArgumentError)
625
627
  end
626
628
 
627
- it 'should know how to expand to chunk periods' do
628
- expect(Date.parse('2013-07-04').expand_to_period(:year))
629
- .to eq Period.new('2013-01-01', '2013-12-31')
630
- expect(Date.parse('2013-07-04').expand_to_period(:half))
631
- .to eq Period.new('2013-07-01', '2013-12-31')
632
- expect(Date.parse('2013-07-04').expand_to_period(:quarter))
633
- .to eq Period.new('2013-07-01', '2013-09-30')
634
- expect(Date.parse('2013-07-04').expand_to_period(:bimonth))
635
- .to eq Period.new('2013-07-01', '2013-08-31')
636
- expect(Date.parse('2013-07-04').expand_to_period(:month))
637
- .to eq Period.new('2013-07-01', '2013-07-31')
638
- expect(Date.parse('2013-07-04').expand_to_period(:semimonth))
639
- .to eq Period.new('2013-07-01', '2013-07-15')
640
- expect(Date.parse('2013-07-04').expand_to_period(:biweek))
641
- .to eq Period.new('2013-07-01', '2013-07-14')
642
- expect(Date.parse('2013-07-04').expand_to_period(:week))
643
- .to eq Period.new('2013-07-01', '2013-07-07')
644
- expect(Date.parse('2013-07-04').expand_to_period(:day))
645
- .to eq Period.new('2013-07-04', '2013-07-04')
646
- end
647
-
648
629
  it "should know if it's within 6 months of another date" do
649
630
  # This uses Section 16's logic that one date is "within a
650
631
  # period of less than six months" of another date only if it
@@ -833,16 +814,16 @@ describe Date do
833
814
  expect(Date.parse('2014-11-22')).to be_nyse_holiday
834
815
  expect(Date.parse('2014-11-23')).to be_nyse_holiday
835
816
 
817
+ # 9-11 Attacks
818
+ expect(Date.parse('2001-09-11')).to be_nyse_holiday
819
+ expect(Date.parse('2001-09-14')).to be_nyse_holiday
820
+
836
821
  # 1968 Paperwork Crisis (Closed every Wed unless other holiday in
837
822
  # week) from June 12 to December 31, 1968
838
823
  expect(Date.parse('1968-06-12')).to be_nyse_holiday
839
824
  expect(Date.parse('1968-07-03')).not_to be_nyse_holiday
840
825
  expect(Date.parse('1968-08-21')).to be_nyse_holiday
841
826
 
842
- # 9-11 Attacks
843
- expect(Date.parse('2001-09-11')).to be_nyse_holiday
844
- expect(Date.parse('2001-09-14')).to be_nyse_holiday
845
-
846
827
  # Hurricane Sandy
847
828
  expect(Date.parse('2012-10-29')).to be_nyse_holiday
848
829
  expect(Date.parse('2012-10-30')).to be_nyse_holiday
@@ -1,10 +1,35 @@
1
1
  require 'spec_helper'
2
2
 
3
+ require 'fat_core/enumerable'
4
+
3
5
  describe Enumerable do
4
6
  it 'should be able to emit in groups of size k' do
5
7
  letters = ('a'..'z').to_a
6
8
  letters.groups_of(3).each do |k, grp|
7
- expect(grp.join).to match(/\A[a-z]{1,3}\z/)
9
+ expect(grp.class).to eq Array
10
+ if grp.last == 'z'
11
+ expect(grp.size).to eq(2)
12
+ expect(grp).to eq(['y', 'z'])
13
+ else
14
+ expect(grp.size).to eq(3)
15
+ expect(grp.join).to match(/\A[a-z]{3}\z/)
16
+ end
17
+ end
18
+ end
19
+
20
+ it 'should be able to yield each with flags' do
21
+ letters = ('a'..'z').to_a
22
+ letters.each_with_flags do |l, first, last|
23
+ if l == 'a'
24
+ expect(first).to eq true
25
+ expect(last).to eq false
26
+ elsif l == 'z'
27
+ expect(first).to eq false
28
+ expect(last).to eq true
29
+ else
30
+ expect(first).to eq false
31
+ expect(last).to eq false
32
+ end
8
33
  end
9
34
  end
10
35
  end
@@ -1,5 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
+ require 'fat_core/hash'
4
+
3
5
  describe Hash do
4
6
  it 'should be able to find keys with a value == to X' do
5
7
  hh = { :a => 1, :b => 2, :c => 1 }
@@ -1,5 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
+ require 'fat_core/kernel'
4
+
3
5
  describe Kernel do
4
6
  it 'should know how to time a block of code' do
5
7
  $stdout = StringIO.new
data/spec/lib/nil_spec.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
+ require 'fat_core/nil'
4
+
3
5
  describe NilClass do
4
6
  it 'should respond to entitle' do
5
7
  expect(nil.entitle).to eq ''
@@ -8,4 +10,8 @@ describe NilClass do
8
10
  it 'should respond to tex_quote' do
9
11
  expect(nil.tex_quote).to eq ''
10
12
  end
13
+
14
+ it 'should respond to commas' do
15
+ expect(nil.commas).to eq ''
16
+ end
11
17
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(File.absolute_path(__FILE__)) + '/../spec_helper.rb'
1
+ require 'fat_core/numeric'
2
2
 
3
3
  describe Numeric do
4
4
  it 'should implement signum function' do
@@ -17,10 +17,6 @@ describe Numeric do
17
17
  expect(195.45.tex_quote).to eq '195.45'
18
18
  end
19
19
 
20
- it 'should provide a human-readable inspect for BigDecimal' do
21
- expect(BigDecimal('33.45').inspect).to eq '33.45'
22
- end
23
-
24
20
  it 'should be able to report if its a whole number' do
25
21
  expect(236.whole?).to be true
26
22
  expect(236.5555.whole?).to be false
@@ -1,4 +1,4 @@
1
- require File.dirname(File.absolute_path(__FILE__)) + '/../spec_helper.rb'
1
+ require 'fat_core/range'
2
2
 
3
3
  describe Range do
4
4
  describe 'set operations' do
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'fat_core/string'
2
2
 
3
3
  describe String do
4
4
  before do
@@ -172,11 +172,6 @@ the people, for the people, shall not perish from the earth."
172
172
  expect('Hello:world'.fuzzy_match('hel:ox')).to be_falsy
173
173
  end
174
174
 
175
- it 'should be able to fuzzy match colon-separated parts' do
176
- expect('Hello:world'.fuzzy_match('hel:or')).to be_truthy
177
- expect('Hello:world'.fuzzy_match('hel:ox')).to be_falsy
178
- end
179
-
180
175
  it 'should return the matched text' do
181
176
  expect('Hello:world'.fuzzy_match('hel')).to eq('Hel')
182
177
  expect('Hello:world'.fuzzy_match('hel:or')).to eq('Hello:wor')
@@ -1,4 +1,4 @@
1
- require 'spec_helper'
1
+ require 'fat_core/symbol'
2
2
 
3
3
  describe Symbol do
4
4
  it 'should be able to convert to a capitalized string' do
data/spec/spec_helper.rb CHANGED
@@ -5,8 +5,6 @@ SimpleCov.start
5
5
  require 'bundler/setup'
6
6
  Bundler.setup
7
7
 
8
- require 'fat_core'
9
-
10
8
  require 'pry'
11
9
  require 'byebug'
12
10
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fat_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel E. Doherty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-25 00:00:00.000000000 Z
11
+ date: 2017-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simplecov
@@ -182,6 +182,7 @@ description: Write a longer description. Optional.
182
182
  email:
183
183
  - ded@ddoherty.net
184
184
  executables:
185
+ - console
185
186
  - easters
186
187
  extensions: []
187
188
  extra_rdoc_files: []
@@ -197,33 +198,33 @@ files:
197
198
  - README.md
198
199
  - Rakefile
199
200
  - TODO.org
201
+ - bin/console
200
202
  - bin/easters
201
203
  - fat_core.gemspec
202
204
  - lib/core_extensions/date/fat_core.rb
203
205
  - lib/fat_core.rb
204
206
  - lib/fat_core/ChangeLog
207
+ - lib/fat_core/all.rb
205
208
  - lib/fat_core/array.rb
206
- - lib/fat_core/boolean.rb
209
+ - lib/fat_core/big_decimal.rb
207
210
  - lib/fat_core/date.rb
208
211
  - lib/fat_core/enumerable.rb
209
212
  - lib/fat_core/hash.rb
210
213
  - lib/fat_core/kernel.rb
211
- - lib/fat_core/latex_eruby.rb
212
214
  - lib/fat_core/nil.rb
213
215
  - lib/fat_core/numeric.rb
214
- - lib/fat_core/period.rb
215
216
  - lib/fat_core/range.rb
216
217
  - lib/fat_core/string.rb
217
218
  - lib/fat_core/symbol.rb
218
219
  - lib/fat_core/version.rb
219
220
  - spec/lib/array_spec.rb
221
+ - spec/lib/big_decimal_spec.rb
220
222
  - spec/lib/date_spec.rb
221
223
  - spec/lib/enumerable_spec.rb
222
224
  - spec/lib/hash_spec.rb
223
225
  - spec/lib/kernel_spec.rb
224
226
  - spec/lib/nil_spec.rb
225
227
  - spec/lib/numeric_spec.rb
226
- - spec/lib/period_spec.rb
227
228
  - spec/lib/range_spec.rb
228
229
  - spec/lib/string_spec.rb
229
230
  - spec/lib/symbol_spec.rb
@@ -240,7 +241,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
240
241
  requirements:
241
242
  - - ">="
242
243
  - !ruby/object:Gem::Version
243
- version: '0'
244
+ version: 2.3.1
244
245
  required_rubygems_version: !ruby/object:Gem::Requirement
245
246
  requirements:
246
247
  - - ">="
@@ -254,13 +255,13 @@ specification_version: 4
254
255
  summary: fat_core provides some useful core extensions
255
256
  test_files:
256
257
  - spec/lib/array_spec.rb
258
+ - spec/lib/big_decimal_spec.rb
257
259
  - spec/lib/date_spec.rb
258
260
  - spec/lib/enumerable_spec.rb
259
261
  - spec/lib/hash_spec.rb
260
262
  - spec/lib/kernel_spec.rb
261
263
  - spec/lib/nil_spec.rb
262
264
  - spec/lib/numeric_spec.rb
263
- - spec/lib/period_spec.rb
264
265
  - spec/lib/range_spec.rb
265
266
  - spec/lib/string_spec.rb
266
267
  - spec/lib/symbol_spec.rb
@@ -1,25 +0,0 @@
1
- class TrueClass
2
- def format_by(fmt = 'T')
3
- case fmt
4
- when /^[tf]/i
5
- 'T'
6
- when /^[yn]/i
7
- 'Y'
8
- else
9
- 'T'
10
- end
11
- end
12
- end
13
-
14
- class FalseClass
15
- def format_by(fmt = 'T')
16
- case fmt
17
- when /^[tf]/i
18
- 'F'
19
- when /^[yn]/i
20
- 'N'
21
- else
22
- 'F'
23
- end
24
- end
25
- end
@@ -1,11 +0,0 @@
1
- require 'erubis'
2
- require 'erubis/enhancer'
3
- require 'erubis/helper'
4
-
5
- class LaTeXEruby < Erubis::Eruby
6
- include Erubis::EscapeEnhancer
7
-
8
- def escaped_expr(code)
9
- code.nil? ? '' : "(#{code}).tex_quote"
10
- end
11
- end