dusel 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,7 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ .yardoc
6
+ growl
7
+ doc
data/Gemfile CHANGED
@@ -1,14 +1,4 @@
1
1
  source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
5
2
 
6
- # Add dependencies to develop your gem here.
7
- # Include everything needed to run rake, tests, features, etc.
8
- group :development do
9
- gem "rspec", "~> 2.3.0"
10
- gem "yard", "~> 0.6.0"
11
- gem "bundler", "~> 1.0.0"
12
- gem "jeweler", "~> 1.6.4"
13
- gem "rcov", ">= 0"
14
- end
3
+ # Specify your gem's dependencies in dusel.gemspec
4
+ gemspec
data/Guardfile ADDED
@@ -0,0 +1,9 @@
1
+ guard 'bundler' do
2
+ watch('Gemfile')
3
+ end
4
+
5
+ guard 'rspec', :cli => '--options spec/.rspec' do
6
+ watch(%r{^spec/.+_spec\.rb$})
7
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
8
+ watch('spec/spec_helper.rb') { "spec" }
9
+ end
File without changes
data/README.md ADDED
@@ -0,0 +1,41 @@
1
+ # Dusel
2
+
3
+ A tiny DSL to create, if desired temporary structures, of nested folders and
4
+ files
5
+
6
+
7
+ ## Installation
8
+
9
+ Run in your shell:
10
+
11
+ ```
12
+ gem install dusel
13
+ ```
14
+
15
+ In your application:
16
+
17
+ ```
18
+ require 'dusel'
19
+ ```
20
+
21
+
22
+ ## Documentation
23
+
24
+ Documentation is provided in the Yardoc format by the nice folks at
25
+ [rubydoc.info](http://rubydoc.info/):
26
+
27
+ [http://rubydoc.info/github/johannesh/dusel/master/frames](dusel @ rubydoc.info)
28
+
29
+
30
+ ## Contribution
31
+
32
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
33
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
34
+ * Fork the project and submit a pull request from a feature or bugfix branch
35
+ * Please include specs. This is important so we don't break your changes unintentionally in a future version.
36
+ * Please don't modify the Rakefile, version, or history. If you do change these files, please isolate a separate commit so we can cherry-pick around it.
37
+
38
+
39
+ ## Copyright
40
+
41
+ Copyright (c) 2011 Johannes Huning. See LICENSE for further details.
data/Rakefile CHANGED
@@ -1,44 +1 @@
1
- # encoding: utf-8
2
-
3
- require 'rubygems'
4
- require 'bundler'
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
11
- end
12
- require 'rake'
13
-
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20
17
- # for more options
18
- gem.name = "dusel"
19
- gem.homepage = "https://github.com/johannesh/dusel"
20
- gem.license = "MIT"
21
- gem.summary = %Q{Tiny DSL to create (temporary) files and folders}
22
- gem.description = %Q{Dusel is a tiny DSL to create (nested) folders and
23
- directories}
24
- gem.email = "hi@johanneshuning.com"
25
- gem.authors = ["Johannes Huning"]
26
- # dependencies defined in Gemfile
27
- end
28
- Jeweler::RubygemsDotOrgTasks.new
29
-
30
- require 'rspec/core'
31
- require 'rspec/core/rake_task'
32
- RSpec::Core::RakeTask.new(:spec) do |spec|
33
- spec.pattern = FileList['spec/**/*_spec.rb']
34
- end
35
-
36
- RSpec::Core::RakeTask.new(:rcov) do |spec|
37
- spec.pattern = 'spec/**/*_spec.rb'
38
- spec.rcov = true
39
- end
40
-
41
- task :default => :spec
42
-
43
- require 'yard'
44
- YARD::Rake::YardocTask.new
1
+ require "bundler/gem_tasks"
data/dusel.gemspec ADDED
@@ -0,0 +1,37 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "dusel/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "dusel"
7
+ s.version = Dusel::VERSION
8
+ s.authors = ["Johannes Huning"]
9
+ s.email = ["johannesh@allnightdrive.com"]
10
+ s.homepage = "https://github.com/johannesh/dusel"
11
+ s.summary = 'Tiny DSL to create (temporary) structures files and folders'
12
+ s.description = "A tiny DSL to create, if desired temporary, " +
13
+ "structures of nested folders and files"
14
+
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ s.executables =
18
+ `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # Specify any dependencies here
22
+ %w{rspec guard guard-rspec guard-bundler rb-readline}.each { |dep|
23
+ s.add_development_dependency dep
24
+ }
25
+
26
+ if RUBY_PLATFORM =~ /darwin/
27
+ %w{rb-fsevent growl}.each { |dep|
28
+ s.add_development_dependency dep
29
+ }
30
+ end
31
+
32
+ if RUBY_PLATFORM =~ /linux/
33
+ %w{rb-inotify libnotify}.each { |dep|
34
+ s.add_development_dependency dep
35
+ }
36
+ end
37
+ end
data/lib/dusel.rb CHANGED
@@ -1,40 +1,128 @@
1
- libdir = File.dirname(__FILE__)
2
- $:.unshift libdir unless $:.include?(libdir)
1
+ $:.push File.expand_path('..', __FILE__)
3
2
 
4
3
  require 'tmpdir'
5
4
  require 'securerandom'
6
-
7
5
  require 'dusel/instance_methods'
8
6
  require 'dusel/version'
9
7
 
8
+
9
+ # @author Johannes Huning
10
+ # @version 1.1
10
11
  module Dusel
12
+ # Creates a new directory
13
+ #
14
+ # @version 1.0
15
+ # @since 0.0.1
16
+ #
17
+ # @note When using an implicit parent, the parent will not be removed
18
+ # during {InstanceMethods#collapse}
19
+ #
20
+ # @param [optional, String] name
21
+ # the new directory's name, leave blank to create a directory
22
+ # with a random name
23
+ # @param [optional, String, Dir] parent
24
+ # the new directory's parent directory, leave blank to create an implicit
25
+ # temporary directory as the parent
26
+ # @param [optional, Block] block
27
+ # block to yield the new directory to
28
+ # @return [Dir]
29
+ # the new directory itself *or* if an block of arity +> 1+ was passed,
30
+ # the block's return value
31
+ #
32
+ # @yieldparam [optional, Dir] dir the new directory
33
+ #
34
+ # @example
35
+ # Dusel.dir
36
+ # # => #<Dir:...1dt72r3/df9b27558ec7e828>
37
+ #
38
+ # Dusel.dir('foo')
39
+ # # => #<Dir:...1222-80088-1d4rxor/foo>
40
+ #
41
+ # Dusel.dir('foo', '/tmp')
42
+ # # => #<Dir:/tmp/foo>
43
+ #
44
+ # Dusel.dir('foo', '/tmp') { |dir| puts "Inside #{dir.path}" }
45
+ # # Inside /tmp/foo
46
+ # # => nil
11
47
  def self.dir(name = nil, parent = nil, &block)
12
48
  parent ||= Dir.mktmpdir()
13
49
  parent = parent.path if parent.kind_of?(Dir)
14
50
  Dir.open(parent).dir(name, &block)
15
51
  end
16
52
 
53
+
54
+ # Creates a new file
55
+ #
56
+ # @version 1.0
57
+ # @since 0.0.1
58
+ #
59
+ # @note When using an implicit parent, the parent will not be removed
60
+ # during {InstanceMethods#collapse}
61
+ #
62
+ # @note In case a block of arity +== 0+ is passed, the block's value will be
63
+ # written to the file. The file is rewinded afterwards
64
+ #
65
+ # @param [optional, String] name
66
+ # the new file's name, leave blank to create a file
67
+ # with a random name
68
+ # @param [optional, String, Dir] parent
69
+ # the new file's parent directory, leave blank to create an implicit
70
+ # temporary directory as the parent
71
+ # @param [optional, Block] block
72
+ # block to yield the new file to
73
+ # @return [File]
74
+ # the new file itself *or* if an block of arity +== 1+ was passed,
75
+ # the block's return value
76
+ #
77
+ # @yieldparam [optional, File] file the new file
78
+ #
79
+ # @example
80
+ # Dusel.file
81
+ # # => #<File:...612-iscq6w/1dee3c34>
82
+ #
83
+ # Dusel.file('foo')
84
+ # # => #<File:...612-1wanjci/foo>
85
+ #
86
+ # Dusel.file('foo', '/tmp')
87
+ # # => #<File:/tmp/foo>
88
+ #
89
+ # Dusel.file('foo', '/tmp') { |file| puts "File #{file.path}" }
90
+ # # File /tmp/fooo
91
+ # # => nil
92
+ #
93
+ # file = Dusel.file { "bar" }
94
+ # # => #<File:...612-1s02yue/61b9ef62>
95
+ # file.read
96
+ # # => "bar"
17
97
  def self.file(name = nil, parent = nil, &block)
18
98
  parent ||= Dir.mktmpdir()
19
99
  parent = parent.path if parent.kind_of?(Dir)
20
100
  Dir.open(parent).file(name, &block)
21
101
  end
22
102
 
23
- def self.rm!(tree)
24
- tree.rm!
25
- end
26
-
27
- def self.included(base)
28
- base.__send__(:include, InstanceMethods)
29
- end
30
103
 
31
104
  private
32
105
 
33
- def self.random_name(length = 16)
34
- SecureRandom.hex(length / 2)
106
+ # Generates a random string usable as a file name
107
+ #
108
+ # @version 1.0
109
+ # @since 0.0.1
110
+ #
111
+ # @param [optional, Fixnum] length
112
+ # the string's desired length
113
+ # @return [String]
114
+ # the random string
115
+ def self.random_name(length = 8)
116
+ SecureRandom.hex((length / 2) + 1)[0..(length - 1)]
35
117
  end
36
118
  end
37
119
 
120
+
121
+ # TODO: Document!
122
+ #
123
+ # @version 1.0
124
+ # @since 0.0.1
38
125
  class Dir
39
- include Dusel
126
+ # Add dusel's capabilities to Dir
127
+ include Dusel::InstanceMethods
40
128
  end
@@ -1,14 +1,64 @@
1
1
  require 'tmpdir'
2
2
 
3
+
4
+ # @author Johannes Huning
5
+ # @version 1.0
3
6
  module Dusel
4
7
  module InstanceMethods
8
+ # Creates a new directory inside the parent
9
+ #
10
+ # @version 1.0
11
+ # @since 0.0.1
12
+ #
13
+ # @param [optional, String] name
14
+ # the new directory's name, leave blank to create a directory
15
+ # with a random name
16
+ # @param [optional, Block] block
17
+ # block to yield the new directory to
18
+ # @return [Dir]
19
+ # the new directory itself *or* if an block of arity +> 1+ was passed,
20
+ # the block's return value
21
+ #
22
+ # @yieldparam [optional, Dir] dir the new directory
23
+ #
24
+ # @example
25
+ # parent = Dusel.dir
26
+ # # => #<Dir:...829-7r79si/df71aead>
27
+ #
28
+ # parent.dir('foo')
29
+ # # => #<Dir:...829-7r79si/df71aead/foo>
30
+ #
31
+ # parent.dir('bar').dir('baz')
32
+ # # => #<Dir:...829-7r79si/df71aead/bar/baz>
33
+ #
34
+ # child = parent.dir {
35
+ # dir {
36
+ # dir {
37
+ # dir {
38
+ # file { 'contents' }
39
+ # }
40
+ # }
41
+ # dir {
42
+ # file { 'contents' }
43
+ # }
44
+ # }
45
+ # }
46
+ #
47
+ # puts `tree #{child.path}`
48
+ # # ...829-7r79si/df71aead/70b3a439
49
+ # # `-- ade003c9
50
+ # # |-- 5f8b5c3e
51
+ # # | `-- 07c89af4
52
+ # # | `-- ab8e7c24
53
+ # # `-- 863be86f
54
+ # # `-- 1f925fc1
5
55
  def dir(name = nil, &block)
6
- new_path = __named_path(name)
56
+ new_path = named_path_(name)
7
57
  Dir.mkdir new_path
8
58
  new_dir = Dir.new(new_path)
9
59
 
10
- @__dusel_dirs ||= []
11
- @__dusel_dirs << new_dir
60
+ @dusel_dirs ||= []
61
+ @dusel_dirs << new_dir
12
62
 
13
63
  if block
14
64
  if block.arity < 1
@@ -22,12 +72,50 @@ module Dusel
22
72
  end
23
73
  end
24
74
 
75
+
76
+ # Creates a new file
77
+ #
78
+ # @version 1.0
79
+ # @since 0.0.1
80
+ #
81
+ # @note In case a block of arity +== 0+ is passed, the block's value will be
82
+ # written to the file. The file is rewinded afterwards
83
+ #
84
+ # @param [optional, String] name
85
+ # the new file's name, leave blank to create a file
86
+ # with a random name
87
+ # @param [optional, Block] block
88
+ # block to yield the new file to
89
+ # @return [File]
90
+ # the new file itself *or* if an block of arity +== 1+ was passed,
91
+ # the block's return value
92
+ #
93
+ # @yieldparam [optional, File] file the new file
94
+ #
95
+ # @example
96
+ # Dusel.file
97
+ # # => #<File:...612-iscq6w/1dee3c34>
98
+ #
99
+ # Dusel.file('foo')
100
+ # # => #<File:...612-1wanjci/foo>
101
+ #
102
+ # Dusel.file('foo', '/tmp')
103
+ # # => #<File:/tmp/foo>
104
+ #
105
+ # Dusel.file('foo', '/tmp') { |file| puts "File #{file.path}" }
106
+ # # File /tmp/fooo
107
+ # # => nil
108
+ #
109
+ # file = Dusel.file { "bar" }
110
+ # # => #<File:...612-1s02yue/61b9ef62>
111
+ # file.read
112
+ # # => "bar"
25
113
  def file(name = nil, &block)
26
- new_path = __named_path(name)
114
+ new_path = named_path_(name)
27
115
  new_file = File.open(new_path, "w+")
28
116
 
29
- @__dusel_files ||= []
30
- @__dusel_files << new_file
117
+ @dusel_files ||= []
118
+ @dusel_files << new_file
31
119
 
32
120
  if block
33
121
  if block.arity < 1
@@ -42,15 +130,48 @@ module Dusel
42
130
  end
43
131
  end
44
132
 
45
- def rm!
46
- @__dusel_files.each { |file| File.delete(file.path) } if @__dusel_files
47
- @__dusel_dirs.each { |dir| dir.rm! } if @__dusel_dirs
133
+
134
+ # Recursively removes this directory and all it's children
135
+ #
136
+ # @version 1.0
137
+ # @since 0.0.1
138
+ #
139
+ # @return result of +Dir#rmdir+ for this directory
140
+ #
141
+ # @example
142
+ # parent = Dusel.dir {
143
+ # dir {
144
+ # dir {
145
+ # dir {
146
+ # file { 'contents' }
147
+ # }
148
+ # }
149
+ # dir {
150
+ # file { 'contents' }
151
+ # }
152
+ # }
153
+ # }
154
+ # # => #<Dir:...222-82137-ue6ci2/5e1cb6fe>
155
+ # parent.collapse
156
+ # # => 0
157
+ # puts `file #{parent.path}`
158
+ # # ...5e1cb6fe: cannot open `...5e1cb6fe' (No such file or directory)
159
+ def collapse
160
+ @dusel_files.each { |file| File.delete(file.path) } if @dusel_files
161
+ @dusel_dirs.each { |dir| dir.collapse } if @dusel_dirs
48
162
  Dir.rmdir(self.path())
49
163
  end
50
164
 
165
+
51
166
  private
52
167
 
53
- def __named_path(name = nil)
168
+ # Appends the given name onto this directory's path
169
+ #
170
+ # @version 1.0
171
+ # @since 0.0.1
172
+ #
173
+ # @return this directory's path appended by the new files name
174
+ def named_path_(name = nil)
54
175
  name ||= Dusel.__send__(:random_name)
55
176
  File.join(self.path, name)
56
177
  end
data/lib/dusel/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dusel
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/spec/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color --format progress --fail-fast
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  describe 'Dusel' do
4
4
  describe '.dir' do
@@ -17,6 +17,7 @@ describe 'Dusel' do
17
17
  end
18
18
  end
19
19
 
20
+
20
21
  describe '.file' do
21
22
  it "should create a file inside a random directory if no parent given" do
22
23
  first_path = Dusel.file { |f| File.dirname(f.path) }
@@ -33,6 +34,7 @@ describe 'Dusel' do
33
34
  end
34
35
  end
35
36
 
37
+
36
38
  describe ".random_name" do
37
39
  it "should generate random strings" do
38
40
  Dusel.__send__(:random_name).should_not eq(Dusel.__send__(:random_name))
@@ -43,6 +45,7 @@ describe 'Dusel' do
43
45
  end
44
46
  end
45
47
 
48
+
46
49
  describe '#dir' do
47
50
  it "should create a folder with random name if none given" do
48
51
  Dusel.dir { |d|
@@ -66,6 +69,7 @@ describe 'Dusel' do
66
69
  end
67
70
  end
68
71
 
72
+
69
73
  describe '#file' do
70
74
  it "should create a file with random name if none given" do
71
75
  Dusel.dir { |d|
@@ -97,13 +101,14 @@ describe 'Dusel' do
97
101
  end
98
102
  end
99
103
 
100
- describe '#remove' do
104
+
105
+ describe '#collapse' do
101
106
  it "should close and remove all directories and files recusively" do
102
107
  dir = Dusel.dir {
103
108
  file
104
109
  dir { file }
105
110
  }
106
- Dusel.rm!(dir)
111
+ dir.collapse
107
112
  File.exist?(dir.path).should be_false
108
113
  end
109
114
  end
data/spec/spec_helper.rb CHANGED
@@ -1,11 +1,9 @@
1
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
- $LOAD_PATH.unshift(File.dirname(__FILE__))
3
- require 'rspec'
4
1
  require 'dusel'
5
2
 
6
- # Requires supporting files with custom matchers and macros, etc,
7
- # in ./support/ and its subdirectories.
8
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
3
+ # Requires supporting ruby files with custom matchers and macros, etc,
4
+ # in spec/support/ and its subdirectories.
5
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
9
6
 
10
7
  RSpec.configure do |config|
8
+ config.mock_with :rspec
11
9
  end
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dusel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,55 +9,55 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-06 00:00:00.000000000Z
12
+ date: 2011-12-22 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &18440160 !ruby/object:Gem::Requirement
16
+ requirement: &9084680 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.3.0
21
+ version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *18440160
24
+ version_requirements: *9084680
25
25
  - !ruby/object:Gem::Dependency
26
- name: yard
27
- requirement: &18439580 !ruby/object:Gem::Requirement
26
+ name: guard
27
+ requirement: &9084470 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
- - - ~>
30
+ - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
- version: 0.6.0
32
+ version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *18439580
35
+ version_requirements: *9084470
36
36
  - !ruby/object:Gem::Dependency
37
- name: bundler
38
- requirement: &18438900 !ruby/object:Gem::Requirement
37
+ name: guard-rspec
38
+ requirement: &9084210 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
- - - ~>
41
+ - - ! '>='
42
42
  - !ruby/object:Gem::Version
43
- version: 1.0.0
43
+ version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *18438900
46
+ version_requirements: *9084210
47
47
  - !ruby/object:Gem::Dependency
48
- name: jeweler
49
- requirement: &18438240 !ruby/object:Gem::Requirement
48
+ name: guard-bundler
49
+ requirement: &9083950 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
- - - ~>
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
- version: 1.6.4
54
+ version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *18438240
57
+ version_requirements: *9083950
58
58
  - !ruby/object:Gem::Dependency
59
- name: rcov
60
- requirement: &18437660 !ruby/object:Gem::Requirement
59
+ name: rb-readline
60
+ requirement: &9083690 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,30 +65,55 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *18437660
69
- description: ! "Dusel is a tiny DSL to create (nested) folders and\n directories"
70
- email: hi@johanneshuning.com
68
+ version_requirements: *9083690
69
+ - !ruby/object:Gem::Dependency
70
+ name: rb-fsevent
71
+ requirement: &9083380 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *9083380
80
+ - !ruby/object:Gem::Dependency
81
+ name: growl
82
+ requirement: &9083180 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *9083180
91
+ description: A tiny DSL to create, if desired temporary, structures of nested folders
92
+ and files
93
+ email:
94
+ - johannesh@allnightdrive.com
71
95
  executables: []
72
96
  extensions: []
73
- extra_rdoc_files:
74
- - LICENSE.txt
75
- - README.markdown
97
+ extra_rdoc_files: []
76
98
  files:
77
- - .document
99
+ - .gitignore
78
100
  - .rspec
79
101
  - Gemfile
80
- - LICENSE.txt
81
- - README.markdown
102
+ - Guardfile
103
+ - LICENSE
104
+ - README.md
82
105
  - Rakefile
83
106
  - VERSION
107
+ - dusel.gemspec
84
108
  - lib/dusel.rb
85
109
  - lib/dusel/instance_methods.rb
86
110
  - lib/dusel/version.rb
87
- - spec/dusel_spec.rb
111
+ - spec/.rspec
112
+ - spec/lib/dusel_spec.rb
88
113
  - spec/spec_helper.rb
114
+ - spec/support/.gitkeep
89
115
  homepage: https://github.com/johannesh/dusel
90
- licenses:
91
- - MIT
116
+ licenses: []
92
117
  post_install_message:
93
118
  rdoc_options: []
94
119
  require_paths:
@@ -99,9 +124,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
99
124
  - - ! '>='
100
125
  - !ruby/object:Gem::Version
101
126
  version: '0'
102
- segments:
103
- - 0
104
- hash: -602893548499290189
105
127
  required_rubygems_version: !ruby/object:Gem::Requirement
106
128
  none: false
107
129
  requirements:
@@ -113,5 +135,9 @@ rubyforge_project:
113
135
  rubygems_version: 1.8.10
114
136
  signing_key:
115
137
  specification_version: 3
116
- summary: Tiny DSL to create (temporary) files and folders
117
- test_files: []
138
+ summary: Tiny DSL to create (temporary) structures files and folders
139
+ test_files:
140
+ - spec/lib/dusel_spec.rb
141
+ - spec/spec_helper.rb
142
+ - spec/support/.gitkeep
143
+ has_rdoc:
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/README.markdown DELETED
@@ -1,17 +0,0 @@
1
- # Dusel
2
-
3
- Tiny DSL to create (temporary) files and folders
4
-
5
- ## Contributing to Dusel
6
-
7
- * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
8
- * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
9
- * Fork the project
10
- * Start a feature/bugfix branch
11
- * Commit and push until you are happy with your contribution
12
- * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
- * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
14
-
15
- ## Copyright
16
-
17
- Copyright (c) 2011 Johannes Huning. See LICENSE.txt for further details.