writer 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,10 +1,10 @@
1
- require "writer/overwrite_prevention"
1
+ require "writer/file_namer"
2
2
 
3
3
  module Writer
4
4
  class FileCreator
5
5
  class << self
6
6
  def create!(filename, content)
7
- name = OverwritePrevention.adjust(filename)
7
+ name = FileNamer.name_for(filename)
8
8
  content = content
9
9
 
10
10
  create_file(name, content)
@@ -1,11 +1,10 @@
1
1
  module Writer
2
- class OverwritePrevention
2
+ class FileNamer
3
3
  class << self
4
- def adjust(filename)
4
+ def name_for(filename)
5
5
  name = fix_standard(filename)
6
- name ||= fix_no_extension(filename)
7
- name ||= fix_no_base(filename)
8
- name ||= fix_no_dots(filename)
6
+ name ||= fix_no_ext(filename)
7
+ name ||= prevent_overwrite(filename)
9
8
  name
10
9
  end
11
10
 
@@ -15,32 +14,19 @@ module Writer
15
14
  basename = parts[0..-2].join('.')
16
15
  extension = parts.last
17
16
 
18
- fix_name(name, basename, extension)
17
+ prevent_overwrite(name, basename, extension)
19
18
  end
20
19
  end
21
20
 
22
- def fix_no_extension(name)
21
+ def fix_no_ext(name)
23
22
  if /\.$/ =~ name
24
23
  basename = name.gsub('.', '')
25
24
 
26
- fix_name(name, basename)
25
+ prevent_overwrite(name, basename)
27
26
  end
28
27
  end
29
28
 
30
- def fix_no_base(name)
31
- if /^\./ =~ name
32
- fix_name(name)
33
- end
34
- end
35
-
36
- def fix_no_dots(name)
37
- unless name.include?('.')
38
- fix_name(name)
39
- end
40
- end
41
-
42
- private
43
- def fix_name(name, base = nil, ext = nil)
29
+ def prevent_overwrite(name, base = nil, ext = nil)
44
30
  to_fix = base || name
45
31
  count = 1
46
32
 
@@ -52,6 +38,7 @@ module Writer
52
38
  name
53
39
  end
54
40
 
41
+ private
55
42
  def append_count(name, count)
56
43
  name = name.gsub(/--\d*$/, '')
57
44
  [name, "--", count].join
@@ -1,3 +1,3 @@
1
1
  module Writer
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: writer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-07-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70289521172480 !ruby/object:Gem::Requirement
16
+ requirement: &70238314665740 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70289521172480
24
+ version_requirements: *70238314665740
25
25
  description: Easily start a new file to write in.
26
26
  email:
27
27
  - joe@joesak.com
@@ -41,7 +41,7 @@ files:
41
41
  - lib/writer.rb
42
42
  - lib/writer/configuration.rb
43
43
  - lib/writer/file_creator.rb
44
- - lib/writer/overwrite_prevention.rb
44
+ - lib/writer/file_namer.rb
45
45
  - lib/writer/version.rb
46
46
  - spec/.gitkeep
47
47
  - spec/writer_spec.rb