unindentable 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/unindentable.rb +12 -2
- data/spec/unindentable_spec.rb +9 -0
- metadata +11 -4
data/lib/unindentable.rb
CHANGED
@@ -10,14 +10,24 @@ module Unindentable
|
|
10
10
|
# Returns the indent level of a string (with multiple lines)
|
11
11
|
def find_minimum_indent(string)
|
12
12
|
indents = []
|
13
|
-
string.each_line
|
13
|
+
string.each_line do |line|
|
14
|
+
unless line == "\n"
|
15
|
+
indents << line.index(/[^ ]/)
|
16
|
+
end
|
17
|
+
end
|
14
18
|
indents.min
|
15
19
|
end
|
16
20
|
|
17
21
|
# Trims the leftmost n characters from each line of a string
|
18
22
|
def left_trim(string, n)
|
19
23
|
new_string = ""
|
20
|
-
string.each_line
|
24
|
+
string.each_line do |line|
|
25
|
+
new_string << if line == "\n"
|
26
|
+
"\n"
|
27
|
+
else
|
28
|
+
line.slice(n, line.length)
|
29
|
+
end
|
30
|
+
end
|
21
31
|
new_string
|
22
32
|
end
|
23
33
|
|
data/spec/unindentable_spec.rb
CHANGED
@@ -63,4 +63,13 @@ c
|
|
63
63
|
x.should == "The first line\n The second line\n \nThe fourth line\n"
|
64
64
|
end
|
65
65
|
|
66
|
+
it "should not let blank lines break the indent" do
|
67
|
+
x = unindent <<-BLOCK
|
68
|
+
The first line
|
69
|
+
|
70
|
+
The third line
|
71
|
+
BLOCK
|
72
|
+
x.should == "The first line\n\nThe third line\n"
|
73
|
+
end
|
74
|
+
|
66
75
|
end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unindentable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- David James
|
@@ -41,18 +46,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
41
46
|
requirements:
|
42
47
|
- - ">="
|
43
48
|
- !ruby/object:Gem::Version
|
49
|
+
segments:
|
50
|
+
- 0
|
44
51
|
version: "0"
|
45
|
-
version:
|
46
52
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
47
53
|
requirements:
|
48
54
|
- - ">="
|
49
55
|
- !ruby/object:Gem::Version
|
56
|
+
segments:
|
57
|
+
- 0
|
50
58
|
version: "0"
|
51
|
-
version:
|
52
59
|
requirements: []
|
53
60
|
|
54
61
|
rubyforge_project:
|
55
|
-
rubygems_version: 1.3.
|
62
|
+
rubygems_version: 1.3.6
|
56
63
|
signing_key:
|
57
64
|
specification_version: 3
|
58
65
|
summary: With Unindentable, you can write heredocs without worry of wonky indentation.
|