epitools 0.4.44 → 0.4.45

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.44
1
+ 0.4.45
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{epitools}
8
- s.version = "0.4.44"
8
+ s.version = "0.4.45"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["epitron"]
12
- s.date = %q{2011-06-15}
12
+ s.date = %q{2011-06-23}
13
13
  s.description = %q{Miscellaneous utility libraries to make my life easier.}
14
14
  s.email = %q{chris@ill-logic.com}
15
15
  s.extra_rdoc_files = [
@@ -385,8 +385,7 @@ module Enumerable
385
385
  alias_method :all, :to_a
386
386
 
387
387
  #
388
- # Split this enumerable into an array of pieces given some
389
- # boundary condition.
388
+ # Split this enumerable into chunks, given some boundary condition. (Returns an array of arrays.)
390
389
  #
391
390
  # Options:
392
391
  # :include_boundary => true #=> include the element that you're splitting at in the results
@@ -404,10 +403,9 @@ module Enumerable
404
403
  # chapters = File.read("ebook.txt").split(/Chapter \d+/, :include_boundary=>true)
405
404
  # #=> [ ["Chapter 1", ...], ["Chapter 2", ...], etc. ]
406
405
  #
407
- # TODO:
408
- # - Ruby 1.9 returns Enumerators for everything now. Maybe do that?
409
- #
410
406
  def split_at(matcher=nil, options={}, &block)
407
+ # TODO: Ruby 1.9 returns Enumerators for everything now. Maybe use that?
408
+
411
409
  return self unless self.any?
412
410
 
413
411
  include_boundary = options[:include_boundary] || false
@@ -458,7 +456,7 @@ module Enumerable
458
456
  end
459
457
 
460
458
  #
461
- # Split the array into chunks, with the boundaries being after the element to split on.
459
+ # Split the array into chunks, cutting between the matched element and the next element.
462
460
  #
463
461
  # Example:
464
462
  # [1,2,3,4].split_after{|e| e == 3 } #=> [ [1,2,3], [4] ]
@@ -470,7 +468,7 @@ module Enumerable
470
468
  end
471
469
 
472
470
  #
473
- # Split the array into chunks. The boundaries will lie before the element to split on.
471
+ # Split the array into chunks, cutting between the matched element and the previous element.
474
472
  #
475
473
  # Example:
476
474
  # [1,2,3,4].split_before{|e| e == 3 } #=> [ [1,2], [3,4] ]
@@ -87,7 +87,7 @@ class Browser
87
87
  #body = compressed_body
88
88
  body = Zlib::Inflate.inflate(compressed_body)
89
89
 
90
- if content_type =~ /^(text\/html)|(application\/xhtml\+xml)/i
90
+ if content_type =~ %r{^(text/html|text/xml|application/xhtml\+xml)}i
91
91
  Mechanize::Page.new(
92
92
  #initialize(uri=nil, response=nil, body=nil, code=nil, mech=nil)
93
93
  URI.parse(url),
@@ -57,51 +57,50 @@ class Numeric
57
57
 
58
58
  tens, hunds = nil, nil
59
59
 
60
- chars = triplet.chars.to_a
60
+ digits = triplet.chars.to_a
61
61
 
62
- raise "Error: Not a triplet: #{triplet}" if chars.size > 3 or chars.size < 1
62
+ raise "Error: Not a triplet: #{triplet}" if digits.size > 3 or digits.size < 1
63
63
 
64
- if chars.size == 3
65
- n = chars.shift.to_i
66
- hunds = NAMES_SMALL[n] + "-hundred" if n > 0
67
- chars.shift if chars.first == '0'
64
+ if digits.size == 3
65
+ digit = digits.shift.to_i
66
+ hunds = NAMES_SMALL[digit] + "-hundred" if digit > 0
67
+ digits.shift if digits.first == '0'
68
68
  end
69
69
 
70
- if chars.size == 2
71
- n = chars.join('').to_i
70
+ if digits.size == 2
71
+ n = digits.join('').to_i
72
72
 
73
73
  if n > 0 and n < 20
74
74
  tens = NAMES_SMALL[n]
75
75
  elsif n > 0
76
- tens = NAMES_MEDIUM[chars.shift.to_i - 2]
77
- if chars.first != '0'
78
- tens += "-" + NAMES_SMALL[chars.shift.to_i]
76
+ tens = NAMES_MEDIUM[digits.shift.to_i - 2]
77
+ if digits.first != '0'
78
+ tens += "-" + NAMES_SMALL[digits.shift.to_i]
79
79
  else
80
- chars.shift
80
+ digits.shift
81
81
  end
82
82
  end
83
83
  end
84
84
 
85
- if chars.size == 1
86
- n = chars.join('').to_i
85
+ if digits.size == 1
86
+ n = digits.join('').to_i
87
87
  tens = NAMES_SMALL[n] if n > 0
88
88
  end
89
-
90
-
89
+
91
90
  if hunds
92
91
  if tens
93
92
  result << "#{hunds} and #{tens}"
94
- else
93
+ else
95
94
  result << hunds
96
95
  end
97
96
  else
98
97
  result << tens if tens
99
98
  end
100
-
99
+
101
100
  magnitude = (num_triplets - i)
102
101
  result << NAMES_LARGE[magnitude-2] if magnitude > 1
103
102
 
104
- whole_thing << result.join(' ')
103
+ whole_thing << result.join(' ') if result.any?
105
104
  end
106
105
 
107
106
  whole_thing.join ', '
@@ -15,7 +15,12 @@ module Sys
15
15
  return @os if @os
16
16
 
17
17
  require 'rbconfig'
18
- host_os = Config::CONFIG['host_os']
18
+ if defined? RbConfig
19
+ host_os = RbConfig::CONFIG['host_os']
20
+ else
21
+ host_os = Config::CONFIG['host_os']
22
+ end
23
+
19
24
  case host_os
20
25
  when /darwin/
21
26
  @os = "Darwin"
@@ -28,4 +28,8 @@ describe Numeric do
28
28
  lambda { 10.googol }.should raise_error
29
29
  end
30
30
 
31
+ it "handles 1.thousand.to_words properly" do
32
+ 1.thousand.to_words.should == "one thousand"
33
+ end
34
+
31
35
  end
metadata CHANGED
@@ -1,61 +1,58 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: epitools
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.45
4
5
  prerelease:
5
- version: 0.4.44
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - epitron
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-06-15 00:00:00 -04:00
12
+ date: 2011-06-23 00:00:00.000000000 -04:00
14
13
  default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
17
16
  name: rspec
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &85952530 !ruby/object:Gem::Requirement
20
18
  none: false
21
- requirements:
19
+ requirements:
22
20
  - - ~>
23
- - !ruby/object:Gem::Version
21
+ - !ruby/object:Gem::Version
24
22
  version: 2.2.0
25
23
  type: :development
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: mechanize
29
24
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *85952530
26
+ - !ruby/object:Gem::Dependency
27
+ name: mechanize
28
+ requirement: &85952230 !ruby/object:Gem::Requirement
31
29
  none: false
32
- requirements:
30
+ requirements:
33
31
  - - ~>
34
- - !ruby/object:Gem::Version
32
+ - !ruby/object:Gem::Version
35
33
  version: 1.0.0
36
34
  type: :development
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: sqlite3-ruby
40
35
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *85952230
37
+ - !ruby/object:Gem::Dependency
38
+ name: sqlite3-ruby
39
+ requirement: &85951950 !ruby/object:Gem::Requirement
42
40
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
47
45
  type: :development
48
- version_requirements: *id003
46
+ prerelease: false
47
+ version_requirements: *85951950
49
48
  description: Miscellaneous utility libraries to make my life easier.
50
49
  email: chris@ill-logic.com
51
50
  executables: []
52
-
53
51
  extensions: []
54
-
55
- extra_rdoc_files:
52
+ extra_rdoc_files:
56
53
  - LICENSE
57
54
  - README.rdoc
58
- files:
55
+ files:
59
56
  - .document
60
57
  - LICENSE
61
58
  - README.rdoc
@@ -102,31 +99,28 @@ files:
102
99
  - spec/zopen_spec.rb
103
100
  has_rdoc: true
104
101
  homepage: http://github.com/epitron/epitools
105
- licenses:
102
+ licenses:
106
103
  - WTFPL
107
104
  post_install_message:
108
105
  rdoc_options: []
109
-
110
- require_paths:
106
+ require_paths:
111
107
  - lib
112
- required_ruby_version: !ruby/object:Gem::Requirement
108
+ required_ruby_version: !ruby/object:Gem::Requirement
113
109
  none: false
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: "0"
118
- required_rubygems_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ! '>='
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
119
115
  none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: "0"
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
124
120
  requirements: []
125
-
126
121
  rubyforge_project:
127
122
  rubygems_version: 1.6.2
128
123
  signing_key:
129
124
  specification_version: 3
130
125
  summary: NOT UTILS... METILS!
131
126
  test_files: []
132
-