sugar-high 0.1.8 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.8
1
+ 0.2.0
@@ -27,7 +27,7 @@ class Module
27
27
  options = args[1]
28
28
  end
29
29
 
30
- raise ArgumentError, "Name of method pattern to alias not specified. Please pass name as either first argument or as :before or :after option" if !name
30
+ raise ArgumentError, "Name of method pattern to alias not specified. Please pass name as either first argument or as :_before_ or :_after_ option" if !name
31
31
 
32
32
  options.delete(:_after_)
33
33
  options.delete(:_before_)
@@ -1,5 +1,6 @@
1
1
  require 'sugar-high/blank'
2
2
  require 'sugar-high/arguments'
3
+ require 'sugar-high/path'
3
4
 
4
5
  class File
5
6
  def self.delete! name
@@ -150,29 +151,3 @@ class Array
150
151
  self.map{|a| a.gsub( /(.*)\//, '').gsub(/\.#{Regexp.escape(ext)}/, '')}
151
152
  end
152
153
  end
153
-
154
- class String
155
- def path
156
- self.extend PathString
157
- end
158
- end
159
-
160
- module PathString
161
- def exists?
162
- File.exist? self
163
- end
164
-
165
- def up lv
166
- ('../' * lv) + self
167
- end
168
-
169
- def down lv
170
- up_dir = Regexp.escape('../')
171
- orig = self.clone
172
- lv.times do
173
- self.gsub! /^#{up_dir}/, ''
174
- return self if self == orig
175
- end
176
- self
177
- end
178
- end
@@ -1,9 +1,26 @@
1
1
  require 'active_support/inflector'
2
2
 
3
- def includes *module_names
4
- module_names.flatten.each do |name|
5
- class_eval %{
6
- include #{name.to_s.camelize}
7
- }
8
- end
9
- end
3
+ class Module
4
+ def includes *module_names
5
+ module_names.flatten.each do |name|
6
+ class_eval %{
7
+ include #{name.to_s.camelize}
8
+ }
9
+ end
10
+ end
11
+
12
+ def extends *module_names
13
+ module_names.flatten.each do |name|
14
+ class_eval %{
15
+ extend #{name.to_s.camelize}
16
+ }
17
+ end
18
+ end
19
+
20
+ def includes_and_extends *module_names
21
+ includes module_names
22
+ extends module_names
23
+ end
24
+
25
+ alias_method :extends_and_includes, :includes_and_extends
26
+ end
@@ -0,0 +1,37 @@
1
+ class String
2
+ def path
3
+ self.extend PathString
4
+ end
5
+ end
6
+
7
+ module PathString
8
+ def exists?
9
+ File.exist? self
10
+ end
11
+
12
+ def file?
13
+ File.file? self
14
+ end
15
+
16
+ def dir?
17
+ File.directory? self
18
+ end
19
+
20
+ def symlink?
21
+ File.symlink? self
22
+ end
23
+
24
+ def up lv
25
+ ('../' * lv) + self
26
+ end
27
+
28
+ def down lv
29
+ up_dir = Regexp.escape('../')
30
+ orig = self.clone
31
+ lv.times do
32
+ self.gsub! /^#{up_dir}/, ''
33
+ return self if self == orig
34
+ end
35
+ self
36
+ end
37
+ end
@@ -8,4 +8,11 @@ class Regexp
8
8
  def to_regexp
9
9
  self
10
10
  end
11
+ end
12
+
13
+ class Array
14
+ def grep_it expr
15
+ return self if !expr
16
+ self.grep(expr.to_regexp)
17
+ end
11
18
  end
@@ -43,33 +43,6 @@ describe "SugarHigh" do
43
43
  expr = fixtures_dir + '/*.txt'
44
44
  Dir.glob(expr).file_names('txt').should == ['empty', 'non-empty']
45
45
  end
46
- end
47
-
48
- describe 'String path ext' do
49
- describe '#path' do
50
- it "should return a String extended with PathString" do
51
- path_str = "a/b/c".path
52
- path_str.kind_of?(PathString).should be_true
53
- path_str.respond_to?(:up).should be_true
54
- path_str.respond_to?(:down).should be_true
55
- end
56
- end
57
- end
58
-
59
- describe 'PathString' do
60
- describe '#up' do
61
- it "should go up two folder levels" do
62
- up_path = "a/b/c".path.up(2)
63
- up_path.should == "../../a/b/c"
64
- end
65
- end
66
-
67
- describe '#down' do
68
- it "should go down two folder levels" do
69
- dwn_path = "../../a/b/c".path.down(2)
70
- dwn_path.should == "a/b/c"
71
- end
72
- end
73
- end
46
+ end
74
47
  end
75
48
 
@@ -0,0 +1,53 @@
1
+ require 'spec_helper'
2
+ require 'sugar-high/path'
3
+
4
+ describe 'String path ext' do
5
+ describe '#path' do
6
+ it "should return a String extended with PathString" do
7
+ path_str = "a/b/c".path
8
+ path_str.kind_of?(PathString).should be_true
9
+ path_str.respond_to?(:up).should be_true
10
+ path_str.respond_to?(:down).should be_true
11
+ end
12
+ end
13
+ end
14
+
15
+ describe 'PathString' do
16
+ describe '#up' do
17
+ it "should go up two folder levels" do
18
+ up_path = "a/b/c".path.up(2)
19
+ up_path.should == "../../a/b/c"
20
+ end
21
+ end
22
+
23
+ describe '#down' do
24
+ it "should go down two folder levels" do
25
+ dwn_path = "../../a/b/c".path.down(2)
26
+ dwn_path.should == "a/b/c"
27
+ end
28
+ end
29
+
30
+ describe '#exists?' do
31
+ it "should be true that this spec file exist" do
32
+ "#{__FILE__}".path.exists?.should be_true
33
+ end
34
+ end
35
+
36
+ describe '#file?' do
37
+ it "should be true that this spec file exist" do
38
+ "#{__FILE__}".path.file?.should be_true
39
+ end
40
+ end
41
+
42
+ describe '#dir?' do
43
+ it "should be false that this spec file is a directory" do
44
+ "#{__FILE__}".path.dir?.should be_false
45
+ end
46
+ end
47
+
48
+ describe '#symlink?' do
49
+ it "should be false that this spec file is a symlink" do
50
+ "#{__FILE__}".path.symlink?.should be_false
51
+ end
52
+ end
53
+ end
@@ -15,5 +15,13 @@ describe "SugarHigh" do
15
15
  /hello/.to_regexp.should be_a_kind_of Regexp
16
16
  end
17
17
  end
18
+
19
+ describe 'Array#grep_it' do
20
+ it "should grep using a regexp" do
21
+ ['hello', 'hello you', 'not you'].grep_it(/hello/).size.should == 2
22
+ ['hello', 'hello you', 'not you'].grep_it('hello').size.should == 2
23
+ ['hello', 'hello you', 'not you'].grep_it(nil).size.should == 3
24
+ end
25
+ end
18
26
  end
19
27
  end
data/sugar-high.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{sugar-high}
8
- s.version = "0.1.8"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kristian Mandrup"]
12
- s.date = %q{2010-09-03}
12
+ s.date = %q{2010-09-04}
13
13
  s.description = %q{More Ruby sugar - inspired by the 'zuker' project}
14
14
  s.email = %q{kmandrup@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -37,6 +37,7 @@ Gem::Specification.new do |s|
37
37
  "lib/sugar-high/methods.rb",
38
38
  "lib/sugar-high/module.rb",
39
39
  "lib/sugar-high/not.rb",
40
+ "lib/sugar-high/path.rb",
40
41
  "lib/sugar-high/regexp.rb",
41
42
  "lib/sugar-high/rspec/configure.rb",
42
43
  "lib/sugar-high/rspec/matchers/have_aliases.rb",
@@ -53,6 +54,7 @@ Gem::Specification.new do |s|
53
54
  "spec/sugar-high/kind_of_spec.rb",
54
55
  "spec/sugar-high/methods_spec.rb",
55
56
  "spec/sugar-high/module_spec.rb",
57
+ "spec/sugar-high/path_spec.rb",
56
58
  "spec/sugar-high/regexp_spec.rb",
57
59
  "sugar-high.gemspec"
58
60
  ]
@@ -73,6 +75,7 @@ Gem::Specification.new do |s|
73
75
  "spec/sugar-high/kind_of_spec.rb",
74
76
  "spec/sugar-high/methods_spec.rb",
75
77
  "spec/sugar-high/module_spec.rb",
78
+ "spec/sugar-high/path_spec.rb",
76
79
  "spec/sugar-high/regexp_spec.rb"
77
80
  ]
78
81
 
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 1
8
- - 8
9
- version: 0.1.8
7
+ - 2
8
+ - 0
9
+ version: 0.2.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Kristian Mandrup
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-09-03 00:00:00 +02:00
17
+ date: 2010-09-04 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -77,6 +77,7 @@ files:
77
77
  - lib/sugar-high/methods.rb
78
78
  - lib/sugar-high/module.rb
79
79
  - lib/sugar-high/not.rb
80
+ - lib/sugar-high/path.rb
80
81
  - lib/sugar-high/regexp.rb
81
82
  - lib/sugar-high/rspec/configure.rb
82
83
  - lib/sugar-high/rspec/matchers/have_aliases.rb
@@ -93,6 +94,7 @@ files:
93
94
  - spec/sugar-high/kind_of_spec.rb
94
95
  - spec/sugar-high/methods_spec.rb
95
96
  - spec/sugar-high/module_spec.rb
97
+ - spec/sugar-high/path_spec.rb
96
98
  - spec/sugar-high/regexp_spec.rb
97
99
  - sugar-high.gemspec
98
100
  has_rdoc: true
@@ -139,4 +141,5 @@ test_files:
139
141
  - spec/sugar-high/kind_of_spec.rb
140
142
  - spec/sugar-high/methods_spec.rb
141
143
  - spec/sugar-high/module_spec.rb
144
+ - spec/sugar-high/path_spec.rb
142
145
  - spec/sugar-high/regexp_spec.rb