files 0.3.0 → 0.3.1

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.
Files changed (3) hide show
  1. data/lib/files.rb +15 -16
  2. data/lib/files/version.rb +1 -1
  3. metadata +4 -4
@@ -1,19 +1,19 @@
1
1
  require "files/version"
2
2
 
3
- module Files
3
+ module Files
4
4
 
5
5
  # class methods
6
-
6
+
7
7
  def self.default_options level = 2
8
8
  {:remove => true, :name => called_from(level)}
9
9
  end
10
-
10
+
11
11
  def self.called_from level = 1
12
12
  line = caller[level]
13
13
  line.gsub!(/^.:/, '') # correct for leading Windows C:
14
14
  File.basename line.split(':').first, ".rb"
15
15
  end
16
-
16
+
17
17
  def self.create options = default_options, &block
18
18
  require 'tmpdir'
19
19
  require 'fileutils'
@@ -31,28 +31,27 @@ module Files
31
31
  end
32
32
 
33
33
  path = File.join(root, "#{name}_#{Time.now.to_i}_#{rand(1000)}")
34
- d{path}
35
34
  Files.new path, block, options
36
35
  end
37
-
36
+
38
37
  # mixin methods
39
38
  def files options = ::Files.default_options # todo: block
40
39
  @files ||= ::Files.create(options)
41
40
  end
42
-
41
+
43
42
  def file *args, &block
44
43
  files.file *args, &block
45
44
  end
46
-
45
+
47
46
  def dir *args, &block
48
47
  files.dir *args, &block
49
48
  end
50
-
51
- # concrete class for creating files and dirs under a temporary directory
49
+
50
+ # concrete class for creating files and dirs under a temporary directory
52
51
  class Files
53
-
52
+
54
53
  attr_reader :root
55
-
54
+
56
55
  def initialize path, block, options
57
56
  @root = path
58
57
  @dirs = []
@@ -81,7 +80,7 @@ module Files
81
80
  @dirs.pop
82
81
  path
83
82
  end
84
-
83
+
85
84
  def file name, contents = "contents of #{name}"
86
85
  if name.is_a? File
87
86
  FileUtils.cp name.path, current
@@ -98,16 +97,16 @@ module Files
98
97
  path
99
98
  end
100
99
  end
101
-
100
+
102
101
  def remove
103
102
  FileUtils.rm_rf(@root) if File.exists?(@root)
104
103
  end
105
-
104
+
106
105
  private
107
106
  def current
108
107
  File.join @root, *@dirs
109
108
  end
110
-
109
+
111
110
  end
112
111
  end
113
112
 
@@ -1,3 +1,3 @@
1
1
  module Files
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: files
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-13 00:00:00.000000000 Z
12
+ date: 2012-10-15 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Ever want to create a whole bunch of files at once? Like when you're
15
15
  writing tests for a tool that processes files? The Files gem lets you cleanly specify
@@ -45,7 +45,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
45
45
  version: '0'
46
46
  segments:
47
47
  - 0
48
- hash: -3557681526261230673
48
+ hash: 1058874154212753118
49
49
  required_rubygems_version: !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
@@ -54,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
54
54
  version: '0'
55
55
  segments:
56
56
  - 0
57
- hash: -3557681526261230673
57
+ hash: 1058874154212753118
58
58
  requirements: []
59
59
  rubyforge_project: files
60
60
  rubygems_version: 1.8.24