helpy 0.1.1 → 0.1.3

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.
data/Rakefile CHANGED
@@ -15,7 +15,7 @@ require 'jeweler'
15
15
  Jeweler::Tasks.new do |gem|
16
16
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
17
  gem.name = "helpy"
18
- gem.version = "0.1.1"
18
+ gem.version = "0.1.3"
19
19
  gem.homepage = "http://github.com/corsonx/helpy"
20
20
  gem.license = "MIT"
21
21
  gem.summary = "Extensions to strings and numbers to enable phone formatting, money formatting, and true/false testing"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.3
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "helpy"
8
- s.version = "0.1.1"
8
+ s.version = "0.1.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Brad Corson"]
12
- s.date = "2013-04-08"
12
+ s.date = "2013-09-25"
13
13
  s.description = "Check out then readme!"
14
14
  s.email = "nucleardragoninc@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -1,7 +1,7 @@
1
1
  module Boolinators
2
2
  def truey?
3
3
  (self == true || ## TrueClass
4
- !(self.to_s.strip =~ /^true$|^yes$|^t$|^y$|^1$/i).nil? || ## Strings
4
+ !(self.to_s.strip =~ /^true$|^yes$|^t$|^y$|^on$|^1$/i).nil? || ## Strings
5
5
  (self == 1 rescue false) ## Integers
6
6
  ) ? true : false
7
7
  end
@@ -9,9 +9,9 @@ module Boolinators
9
9
  def falsey?
10
10
  (self == false || ## FalseClass
11
11
  (self.to_s.empty? rescue false) || ## Empty Strings
12
- !(self.to_s.strip =~ /^false$|^no$|^f$|^n$|^0$/i).nil? || ## Strings
12
+ !(self.to_s.strip =~ /^false$|^no$|^f$|^n$|^off$|^0$/i).nil? || ## Strings
13
13
  (self == 0 rescue false) || ## Integers
14
14
  (self.to_f > 1 rescue false )
15
15
  ) ? true : false
16
16
  end
17
- end
17
+ end
@@ -1,10 +1,13 @@
1
1
  module PhoneFuncs
2
2
  def phone(options={})
3
- options = {:area_sep => '-', :num_sep => '-', :exceptions => true}.merge(options)
3
+ options = {:area_sep => '-', :num_sep => '-', :exceptions => false}.merge(options)
4
4
  ph = self.to_s.gsub(/[^0-9]/, '')
5
5
  area = ''
6
6
  unless ph.length > 0; return ph; end
7
- if ph.length == 10
7
+ if ph.length == 11
8
+ area = options[:area_sep] == '(' ? ph[0..0]+'('+ph[1..3]+')' : ph[0..0] + options[:num_sep] + ph[1..3]+options[:area_sep]
9
+ ph = [ph[4..6],ph[7..10]].join(options[:num_sep])
10
+ elsif ph.length == 10
8
11
  area = options[:area_sep] == '(' ? '('+ph[0..2]+')' : ph[0..2]+options[:area_sep]
9
12
  ph = [ph[3..5],ph[6..9]].join(options[:num_sep])
10
13
  elsif ph.length == 7
@@ -12,11 +15,11 @@ module PhoneFuncs
12
15
  else
13
16
  if options[:exceptions]
14
17
  raise ArgumentError, 'Invalid number of digits for a phone number', caller
15
- else
16
- area = ''
17
- ph = ''
18
+ #else
19
+ #area = ''
20
+ #ph = ''
18
21
  end
19
22
  end
20
23
  area+ph
21
24
  end
22
- end
25
+ end
@@ -119,7 +119,7 @@ describe Bignum do
119
119
  (2**(0.size * 8 -2)).monetize({:no_decimal => true}).include?('.00').should eq(false)
120
120
 
121
121
  res = (2**(0.size * 8 -2)).monetize({:currency_before => false})
122
- res[res.length-1].should eq('$')
122
+ res[res.length-1,1].should eq('$')
123
123
  end
124
124
  end
125
125
 
@@ -20,7 +20,7 @@ describe String do
20
20
  end
21
21
 
22
22
  it "should raise an exception for too-short input" do
23
- expect { '551234'.phone }.should raise_exception
23
+ expect { '551234'.phone({:exceptions => true}) }.should raise_exception
24
24
  end
25
25
 
26
26
  it "should allow options" do
@@ -28,7 +28,7 @@ describe String do
28
28
  '8005551234'.phone({:area_sep => '('}).should eq('(800)555-1234')
29
29
  '8005551234'.phone({:num_sep => '.'}).should eq('800-555.1234')
30
30
  expect { '551234'.phone({:exceptions => false}) }.should_not raise_exception
31
- '551234'.phone({:exceptions => false}).should eq('')
31
+ '551234'.phone({:exceptions => false}).should eq('551234')
32
32
  end
33
33
 
34
34
  end
@@ -45,13 +45,21 @@ describe Fixnum do
45
45
  it "should default correctly" do
46
46
  5551234.phone.should eq('555-1234')
47
47
  end
48
+
49
+ it "should default correctly for full numbers" do
50
+ 18005551234.phone.should eq('1-800-555-1234')
51
+ end
52
+
53
+ it "should use area seperator correctly" do
54
+ 18005551234.phone({:area_sep => '('}).should eq('1(800)555-1234')
55
+ end
48
56
 
49
- it "should raise an exception, because a full 10 digit number is a Bignum" do
50
- expect { 8005551234.phone }.should raise_exception
57
+ it "should not raise an exception, because a full 10 digit number is valid" do
58
+ expect { 8005551234.phone({:exceptions => true}) }.should_not raise_exception
51
59
  end
52
60
 
53
61
  it "should raise an exception for a too-short number" do
54
- expect { 551234.phone }.should raise_exception
62
+ expect { 551234.phone({:exceptions => true}) }.should raise_exception
55
63
  end
56
64
 
57
65
  end
@@ -68,16 +76,16 @@ describe Float do
68
76
  555123.4.phone.should eq('555-1234')
69
77
  end
70
78
 
71
- it "should raise an exception, because a full 10 digit number is a Bignum" do
72
- expect { 8005551234.3.phone }.should raise_exception
79
+ it "should raise an exception, 12 digit number is invalid" do
80
+ expect { 8005551234.93.phone({:exceptions => true}) }.should raise_exception
73
81
  end
74
82
 
75
83
  it "should raise an exception for a too-short number" do
76
- expect { 5512.2.phone }.should raise_exception
84
+ expect { 5512.2.phone({:exceptions => true}) }.should raise_exception
77
85
  end
78
86
 
79
87
  it "should raise an exception for a too-long number" do
80
- expect { 5551234.2.phone }.should raise_exception
88
+ expect { 5551234.2.phone({:exceptions => true}) }.should raise_exception
81
89
  end
82
90
 
83
91
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helpy
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brad Corson
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-04-08 00:00:00 Z
18
+ date: 2013-09-25 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  requirement: &id001 !ruby/object:Gem::Requirement