modalsupport 0.9.1 → 0.9.2

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.1
1
+ 0.9.2
data/lib/modalsupport.rb CHANGED
@@ -8,6 +8,7 @@ require 'modalsupport/file'
8
8
  require 'modalsupport/array'
9
9
  require 'modalsupport/hash'
10
10
  require 'modalsupport/basic_object'
11
+ require 'modalsupport/pathname'
11
12
 
12
13
  module ModalSupport
13
14
  end
@@ -0,0 +1,14 @@
1
+ require 'pathname'
2
+
3
+ unless Pathname.instance_methods.any?{|m| m.to_s=='sub_ext'}
4
+ class Pathname
5
+ # This method is available in Ruby >= 1.9.1
6
+ def sub_ext(new_ext)
7
+ # this is how I would do it:
8
+ # new_ext = ".#{new_ext}" unless new_ext[0,1]=='.'
9
+ # Pathname.new to_s[/.*(?=\..+$)/]+new_ext
10
+ # but we'll try to be compatible with the standars library method
11
+ Pathname(self.to_s.chomp(extname) + new_ext)
12
+ end
13
+ end
14
+ end
data/modalsupport.gemspec CHANGED
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "modalsupport"
8
- s.version = "0.9.1"
7
+ s.name = %q{modalsupport}
8
+ s.version = "0.9.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Javier Goizueta"]
12
- s.date = "2012-05-14"
13
- s.description = "additional support extensions to ActiveSupport and HoboSupport"
14
- s.email = "jgoizueta@gmail.com"
12
+ s.date = %q{2012-09-05}
13
+ s.description = %q{additional support extensions to ActiveSupport and HoboSupport}
14
+ s.email = %q{jgoizueta@gmail.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
17
  "README.rdoc"
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
32
32
  "lib/modalsupport/methodcall.rb",
33
33
  "lib/modalsupport/mixins/bracket_constructor.rb",
34
34
  "lib/modalsupport/mixins/state_equivalent.rb",
35
+ "lib/modalsupport/pathname.rb",
35
36
  "lib/modalsupport/recursive_map.rb",
36
37
  "lib/modalsupport/regexp.rb",
37
38
  "lib/modalsupport/ruby_engine.rb",
@@ -52,6 +53,7 @@ Gem::Specification.new do |s|
52
53
  "test/test_match.rb",
53
54
  "test/test_methodcall.rb",
54
55
  "test/test_paralell_each.rb",
56
+ "test/test_pathname.rb",
55
57
  "test/test_product.rb",
56
58
  "test/test_recursive_map.rb",
57
59
  "test/test_relative_path.rb",
@@ -62,15 +64,16 @@ Gem::Specification.new do |s|
62
64
  "test/test_unindent.rb",
63
65
  "test/test_unwrap.rb"
64
66
  ]
65
- s.homepage = "http://github.com/jgoizueta/modalsupport"
67
+ s.homepage = %q{http://github.com/jgoizueta/modalsupport}
66
68
  s.require_paths = ["lib"]
67
- s.rubygems_version = "1.8.23"
68
- s.summary = "simple extensions to core classes"
69
+ s.rubygems_version = %q{1.3.6}
70
+ s.summary = %q{simple extensions to core classes}
69
71
 
70
72
  if s.respond_to? :specification_version then
73
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
71
74
  s.specification_version = 3
72
75
 
73
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
76
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
74
77
  s.add_development_dependency(%q<shoulda>, [">= 0"])
75
78
  else
76
79
  s.add_dependency(%q<shoulda>, [">= 0"])
@@ -0,0 +1,47 @@
1
+ require 'helper'
2
+
3
+ class TestPatname < Test::Unit::TestCase
4
+
5
+ context "Pathname#sub_ext should be available" do
6
+
7
+ should "substitute filename extensions" do
8
+ assert_equal "/dsfsdfs/aaa.bbb/ccc.doc", Pathname('/dsfsdfs/aaa.bbb/ccc.txt').sub_ext('.doc').to_s
9
+ assert_equal "/dsfsdfs/aaa.bbb/cccdoc", Pathname('/dsfsdfs/aaa.bbb/ccc.txt').sub_ext('doc').to_s
10
+ assert_equal "/dsfsdfs/aaa.bbb/zzz.ccc.doc", Pathname('/dsfsdfs/aaa.bbb/zzz.ccc.txt').sub_ext('.doc').to_s
11
+ assert_equal "zzz.ccc.doc", Pathname('zzz.ccc.txt').sub_ext('.doc').to_s
12
+ assert_equal "zzzccc.doc", Pathname('zzzccc.txt').sub_ext('.doc').to_s
13
+ assert_equal "/dsfsdfs/aaa.bbb/ccc.doc", Pathname('/dsfsdfs/aaa.bbb/ccc.txt').sub_ext('.doc').to_s
14
+ assert_equal "C:/dsfsdfs/aaa.bbb/ccc.doc", Pathname('C:/dsfsdfs/aaa.bbb/ccc.txt').sub_ext('.doc').to_s
15
+ end
16
+
17
+ should "append filename extensions" do
18
+ assert_equal "/dsfsdfs/aaa.bbb/ccc.doc", Pathname('/dsfsdfs/aaa.bbb/ccc').sub_ext('.doc').to_s
19
+ assert_equal "/dsfsdfs/aaa.bbb/cccdoc", Pathname('/dsfsdfs/aaa.bbb/ccc').sub_ext('doc').to_s
20
+ assert_equal "zzzccc.doc", Pathname('zzzccc').sub_ext('.doc').to_s
21
+ assert_equal "/dsfsdfs/aaa.bbb/ccc.doc", Pathname('/dsfsdfs/aaa.bbb/ccc').sub_ext('.doc').to_s
22
+ assert_equal "C:/dsfsdfs/aaa.bbb/ccc.doc", Pathname('C:/dsfsdfs/aaa.bbb/ccc').sub_ext('.doc').to_s
23
+
24
+ assert_equal "/dsfsdfs/aaa.bbb/ccc..doc", Pathname('/dsfsdfs/aaa.bbb/ccc.').sub_ext('.doc').to_s
25
+
26
+ assert_equal "/dsfsdfs/aaa/.doc", Pathname('/dsfsdfs/aaa/').sub_ext('.doc').to_s
27
+ assert_equal ".doc", Pathname('').sub_ext('.doc').to_s
28
+
29
+ # To be strict with Pathname we could require:
30
+ # assert_equal "/dsfsdfs/aaa.doc", Pathname('/dsfsdfs/aaa.bbb/').sub_ext('.doc').to_s
31
+ # But we won't; (current implementation returns '/dsfsdfs/aaa.bbb/.doc'
32
+
33
+ end
34
+
35
+ should "remove filename extensions" do
36
+ assert_equal "/dsfsdfs/aaa.bbb/ccc", Pathname('/dsfsdfs/aaa.bbb/ccc.txt').sub_ext('').to_s
37
+ assert_equal "/dsfsdfs/aaa.bbb/zzz.ccc", Pathname('/dsfsdfs/aaa.bbb/zzz.ccc.txt').sub_ext('').to_s
38
+ assert_equal "/dsfsdfs/aaa.bbb/ccc.", Pathname('/dsfsdfs/aaa.bbb/ccc.').sub_ext('').to_s
39
+ assert_equal "zzz.ccc", Pathname('zzz.ccc.txt').sub_ext('').to_s
40
+ assert_equal "zzzccc", Pathname('zzzccc.txt').sub_ext('').to_s
41
+ assert_equal "/dsfsdfs/aaa.bbb/ccc", Pathname('/dsfsdfs/aaa.bbb/ccc.txt').sub_ext('').to_s
42
+ assert_equal "C:/dsfsdfs/aaa.bbb/ccc", Pathname('C:/dsfsdfs/aaa.bbb/ccc.txt').sub_ext('').to_s
43
+ end
44
+
45
+ end
46
+
47
+ end
metadata CHANGED
@@ -1,40 +1,44 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: modalsupport
3
- version: !ruby/object:Gem::Version
4
- version: 0.9.1
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 9
8
+ - 2
9
+ version: 0.9.2
6
10
  platform: ruby
7
- authors:
11
+ authors:
8
12
  - Javier Goizueta
9
13
  autorequire:
10
14
  bindir: bin
11
15
  cert_chain: []
12
- date: 2012-05-14 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
16
+
17
+ date: 2012-09-05 00:00:00 +02:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: shoulda
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :development
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :development
31
+ version_requirements: *id001
30
32
  description: additional support extensions to ActiveSupport and HoboSupport
31
33
  email: jgoizueta@gmail.com
32
34
  executables: []
35
+
33
36
  extensions: []
34
- extra_rdoc_files:
37
+
38
+ extra_rdoc_files:
35
39
  - LICENSE
36
40
  - README.rdoc
37
- files:
41
+ files:
38
42
  - .document
39
43
  - LICENSE
40
44
  - README.rdoc
@@ -50,6 +54,7 @@ files:
50
54
  - lib/modalsupport/methodcall.rb
51
55
  - lib/modalsupport/mixins/bracket_constructor.rb
52
56
  - lib/modalsupport/mixins/state_equivalent.rb
57
+ - lib/modalsupport/pathname.rb
53
58
  - lib/modalsupport/recursive_map.rb
54
59
  - lib/modalsupport/regexp.rb
55
60
  - lib/modalsupport/ruby_engine.rb
@@ -70,6 +75,7 @@ files:
70
75
  - test/test_match.rb
71
76
  - test/test_methodcall.rb
72
77
  - test/test_paralell_each.rb
78
+ - test/test_pathname.rb
73
79
  - test/test_product.rb
74
80
  - test/test_recursive_map.rb
75
81
  - test/test_relative_path.rb
@@ -79,28 +85,35 @@ files:
79
85
  - test/test_state_equivalent.rb
80
86
  - test/test_unindent.rb
81
87
  - test/test_unwrap.rb
88
+ has_rdoc: true
82
89
  homepage: http://github.com/jgoizueta/modalsupport
83
90
  licenses: []
91
+
84
92
  post_install_message:
85
93
  rdoc_options: []
86
- require_paths:
94
+
95
+ require_paths:
87
96
  - lib
88
- required_ruby_version: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- required_rubygems_version: !ruby/object:Gem::Requirement
95
- none: false
96
- requirements:
97
- - - ! '>='
98
- - !ruby/object:Gem::Version
99
- version: '0'
97
+ required_ruby_version: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ segments:
102
+ - 0
103
+ version: "0"
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ segments:
109
+ - 0
110
+ version: "0"
100
111
  requirements: []
112
+
101
113
  rubyforge_project:
102
- rubygems_version: 1.8.23
114
+ rubygems_version: 1.3.6
103
115
  signing_key:
104
116
  specification_version: 3
105
117
  summary: simple extensions to core classes
106
118
  test_files: []
119
+