writer 0.1.1 → 0.2.0

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.
@@ -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