letters 0.2.5 → 0.2.6

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.
@@ -74,7 +74,10 @@ module Letters
74
74
  def f(opts={})
75
75
  opts = { format: "yaml", name: "log" }.merge opts
76
76
  tap do |o|
77
- File.open(opts[:name], "w+") do |file|
77
+ suffixes = [""] + (1..50).to_a
78
+ deduper = suffixes.detect {|x| !File.directory? "#{opts[:name]}#{x}" }
79
+
80
+ File.open("#{opts[:name]}#{deduper}", "w+") do |file|
78
81
  # Override :stream
79
82
  opts.merge! :stream => file
80
83
  Helpers.message opts
@@ -1,3 +1,3 @@
1
1
  module Letters
2
- VERSION = "0.2.5"
2
+ VERSION = "0.2.6"
3
3
  end
@@ -120,6 +120,17 @@ module Letters
120
120
  File.read("log").chomp.should == hash.awesome_inspect
121
121
  end
122
122
  end
123
+
124
+ describe "when 'log' is a directory" do
125
+ before { FileUtils.mkdir "log" }
126
+ after { FileUtils.rm_rf "log" }
127
+
128
+ it "appends the first integer that de-dupes the name" do
129
+ File.exist?("log1").should be_false
130
+ lambda { hash.f }.should_not raise_error
131
+ File.exist?("log1").should be_true
132
+ end
133
+ end
123
134
  end
124
135
 
125
136
  describe "#j (jump)" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: letters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-02 00:00:00.000000000Z
12
+ date: 2012-10-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: awesome_print
16
- requirement: &70197105220140 !ruby/object:Gem::Requirement
16
+ requirement: &70247244545360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70197105220140
24
+ version_requirements: *70247244545360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &70197105219700 !ruby/object:Gem::Requirement
27
+ requirement: &70247244544900 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70197105219700
35
+ version_requirements: *70247244544900
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: xml-simple
38
- requirement: &70197105219280 !ruby/object:Gem::Requirement
38
+ requirement: &70247244544420 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70197105219280
46
+ version_requirements: *70247244544420
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: colorize
49
- requirement: &70197105218860 !ruby/object:Gem::Requirement
49
+ requirement: &70247244543900 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70197105218860
57
+ version_requirements: *70247244543900
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: debugger
60
- requirement: &70197105218440 !ruby/object:Gem::Requirement
60
+ requirement: &70247244543400 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70197105218440
68
+ version_requirements: *70247244543400
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: timecop
71
- requirement: &70197105218020 !ruby/object:Gem::Requirement
71
+ requirement: &70247244542980 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70197105218020
79
+ version_requirements: *70247244542980
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec
82
- requirement: &70197089101100 !ruby/object:Gem::Requirement
82
+ requirement: &70247244542520 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70197089101100
90
+ version_requirements: *70247244542520
91
91
  description: Letters brings Ruby debugging into the 21st century. It leverages print,
92
92
  the debugger, control transfer, even computer beeps to let you see into your code's
93
93
  state.