dir_dsl 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.idea/dir_dsl.iml +0 -1
- data/CHANGES +4 -0
- data/Gemfile +0 -1
- data/Gemfile.lock +0 -2
- data/Rakefile +5 -0
- data/dir_dsl.gemspec +24 -0
- data/lib/dir_dsl/dir_dsl.rb +27 -39
- data/lib/dir_dsl/version.rb +1 -1
- data/spec/dir_dsl_spec.rb +7 -6
- metadata +3 -16
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MzE5NmM3YjgxNjFiNzA2NWVmZThhNjk2NmM1NWFjMjE1NmZiZWFiMw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NGUzNjZjMGJlZjgyNDY3ODNjM2IwMTJkMjMxOGQyN2ViZjgwMTYyNQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
N2ZjNWQ2NWYwOTBhMDIwMmM3YTM5YWFiYjgwYjhiZjUwMWI4MTYwODdkZmQw
|
10
|
+
N2U2MzgzZmY0ZGRjMDkxYWYyZTRmMjUwNmE5OTZlMTBkMjBjYzk5NjMyNTIx
|
11
|
+
NTAyZDA2ZTMyYTI4NWEyMDljNTFmMTcwYzQyNWNjNDVkMGVhNGU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YThlYWYzZTE2YmIxMjgwZTJiZWVhYzI1OTNlZWZkNjBiMGM0ODE0N2RmZWFh
|
14
|
+
Yzk1NmY0NDA4OWE4MmIxMTM3ODk2MWE5Njg0ZWUwNzc1MTZhZjkxYWYxZTI2
|
15
|
+
MzBmODE1ZjhhMmY5NDY2ODQ2MzAyZjlhZjk4YWFjMWYzMzI4OGY=
|
data/.idea/dir_dsl.iml
CHANGED
@@ -18,7 +18,6 @@
|
|
18
18
|
<orderEntry type="library" scope="PROVIDED" name="file_utils (v1.0.7, RVM: ruby-1.9.3-p448 [dir_dsl]) [gem]" level="application" />
|
19
19
|
<orderEntry type="library" scope="PROVIDED" name="gemcutter (v0.7.1, RVM: ruby-1.9.3-p448 [dir_dsl]) [gem]" level="application" />
|
20
20
|
<orderEntry type="library" scope="PROVIDED" name="gemspec_deps_gen (v1.1.2, RVM: ruby-1.9.3-p448 [dir_dsl]) [gem]" level="application" />
|
21
|
-
<orderEntry type="library" scope="PROVIDED" name="meta_methods (v1.0.5, RVM: ruby-1.9.3-p448 [dir_dsl]) [gem]" level="application" />
|
22
21
|
<orderEntry type="library" scope="PROVIDED" name="metaclass (v0.0.1, RVM: ruby-1.9.3-p448 [dir_dsl]) [gem]" level="application" />
|
23
22
|
<orderEntry type="library" scope="PROVIDED" name="mocha (v0.14.0, RVM: ruby-1.9.3-p448 [dir_dsl]) [gem]" level="application" />
|
24
23
|
<orderEntry type="library" scope="PROVIDED" name="rspec (v2.14.1, RVM: ruby-1.9.3-p448 [dir_dsl]) [gem]" level="application" />
|
data/CHANGES
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -7,7 +7,6 @@ GEM
|
|
7
7
|
gemspec_deps_gen (1.1.2)
|
8
8
|
bundler
|
9
9
|
file_utils
|
10
|
-
meta_methods (1.0.5)
|
11
10
|
metaclass (0.0.1)
|
12
11
|
mocha (0.14.0)
|
13
12
|
metaclass (~> 0.0.1)
|
@@ -27,6 +26,5 @@ DEPENDENCIES
|
|
27
26
|
file_utils
|
28
27
|
gemcutter
|
29
28
|
gemspec_deps_gen
|
30
|
-
meta_methods
|
31
29
|
mocha
|
32
30
|
rspec
|
data/Rakefile
CHANGED
@@ -35,3 +35,8 @@ RSpec::Core::RakeTask.new do |task|
|
|
35
35
|
task.pattern = 'spec/**/*_spec.rb'
|
36
36
|
task.verbose = false
|
37
37
|
end
|
38
|
+
|
39
|
+
task :fix_debug do
|
40
|
+
system "mkdir -p $GEM_HOME/gems/debugger-ruby_core_source-1.2.3/lib"
|
41
|
+
system "cp -R ~/debugger-ruby_core_source/lib $GEM_HOME/gems/debugger-ruby_core_source-1.2.3"
|
42
|
+
end
|
data/dir_dsl.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
require File.expand_path(File.dirname(__FILE__) + '/lib/dir_dsl/version')
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "dir_dsl"
|
7
|
+
spec.summary = %q{Library for working with files and directories file in DSL-way }
|
8
|
+
spec.description = %q{Library for working with files and directories in DSL-way }
|
9
|
+
spec.email = "alexander.shvets@gmail.com"
|
10
|
+
spec.authors = ["Alexander Shvets"]
|
11
|
+
spec.homepage = "http://github.com/shvets/dir_dsl"
|
12
|
+
|
13
|
+
spec.files = `git ls-files`.split($\)
|
14
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
15
|
+
spec.require_paths = ["lib"]
|
16
|
+
spec.version = DirDSL::VERSION
|
17
|
+
|
18
|
+
|
19
|
+
spec.add_runtime_dependency "file_utils", [">= 0"]
|
20
|
+
spec.add_development_dependency "gemspec_deps_gen", [">= 0"]
|
21
|
+
spec.add_development_dependency "gemcutter", [">= 0"]
|
22
|
+
|
23
|
+
end
|
24
|
+
|
data/lib/dir_dsl/dir_dsl.rb
CHANGED
@@ -1,27 +1,25 @@
|
|
1
1
|
require 'file_utils/file_utils'
|
2
|
-
require 'meta_methods'
|
3
2
|
|
4
3
|
class DirDSL
|
5
4
|
include FileUtils
|
6
|
-
include MetaMethods
|
7
5
|
|
8
|
-
|
9
|
-
@name = name
|
10
|
-
@basedir = File.expand_path(basedir)
|
11
|
-
end
|
6
|
+
attr_reader :from_root, :to_root
|
12
7
|
|
13
|
-
def
|
14
|
-
|
8
|
+
def initialize from_root, to_root
|
9
|
+
@from_root = File.expand_path(from_root)
|
10
|
+
@to_root = File.expand_path(to_root)
|
11
|
+
end
|
15
12
|
|
16
|
-
|
13
|
+
def build(&block)
|
14
|
+
self.instance_eval(&block)
|
17
15
|
end
|
18
16
|
|
19
17
|
def entry_exist? entry_name
|
20
|
-
File.exist?
|
18
|
+
File.exist? "#{to_root}/#{entry_name}"
|
21
19
|
end
|
22
20
|
|
23
21
|
def entries_size
|
24
|
-
list = Dir.glob("#{
|
22
|
+
list = Dir.glob("#{to_root}/**/*")
|
25
23
|
|
26
24
|
cnt = 0
|
27
25
|
list.each do |name|
|
@@ -32,19 +30,19 @@ class DirDSL
|
|
32
30
|
end
|
33
31
|
|
34
32
|
def list dir="."
|
35
|
-
list = pattern_to_files
|
33
|
+
list = pattern_to_files"#{from_root}/#{dir}", "**/*"
|
36
34
|
|
37
35
|
list.each_with_index do |name, index|
|
38
|
-
list[index] = name[
|
36
|
+
list[index] = name["#{from_root}/#{dir}".length+1..-1]
|
39
37
|
end
|
40
38
|
end
|
41
39
|
|
42
40
|
def file params
|
43
|
-
to_dir = to_dir(params[:
|
41
|
+
to_dir = to_dir(params[:to_dir], params[:name])
|
44
42
|
|
45
|
-
create_directory
|
43
|
+
create_directory to_dir unless File.exist? to_dir
|
46
44
|
|
47
|
-
write_to_file
|
45
|
+
write_to_file "#{from_root}/#{params[:name]}", "#{to_dir}/#{File.basename(params[:name])}"
|
48
46
|
end
|
49
47
|
|
50
48
|
def content params
|
@@ -53,52 +51,42 @@ class DirDSL
|
|
53
51
|
stream = source.kind_of?(String) ? StringIO.new(source) : source
|
54
52
|
content = stream.read
|
55
53
|
|
56
|
-
to_dir = to_dir(params[:
|
54
|
+
to_dir = to_dir(params[:to_dir], params[:name])
|
57
55
|
|
58
|
-
create_directory
|
56
|
+
create_directory to_dir unless File.exist? to_dir
|
59
57
|
|
60
|
-
write_content_to_file content,
|
58
|
+
write_content_to_file content, "#{to_dir}/#{File.basename(params[:name])}"
|
61
59
|
end
|
62
60
|
|
63
61
|
def directory params
|
64
62
|
if params[:from_dir].nil?
|
65
|
-
|
63
|
+
to_dir = "#{to_root}/#{params[:to_dir]}"
|
64
|
+
|
65
|
+
create_directory to_dir unless File.exist? to_dir
|
66
66
|
else
|
67
67
|
if params[:to_dir] == "." || params[:to_dir].nil?
|
68
|
-
to_dir =
|
68
|
+
to_dir = params[:from_dir]
|
69
69
|
else
|
70
|
-
to_dir =
|
70
|
+
to_dir = params[:to_dir]
|
71
71
|
end
|
72
72
|
|
73
73
|
filter = params[:filter].nil? ? "**/*" : params[:filter]
|
74
74
|
|
75
|
-
copy_files
|
75
|
+
copy_files "#{from_root}/#{params[:from_dir]}", "#{to_root}/#{to_dir}", filter
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
79
|
private
|
80
80
|
|
81
|
-
def to_dir
|
81
|
+
def to_dir dir, name
|
82
82
|
if dir.nil?
|
83
83
|
from_dir = File.dirname(name)
|
84
|
-
(from_dir == ".") ?
|
84
|
+
to_dir = (from_dir == ".") ? to_root : "#{to_root}/#{from_dir}"
|
85
85
|
else
|
86
|
-
(dir == ".") ?
|
86
|
+
to_dir = (dir == ".") ? to_root : "#{to_root}/#{dir}"
|
87
87
|
end
|
88
|
-
end
|
89
|
-
|
90
|
-
def create_empty_directory dir
|
91
|
-
to_dir = (dir == ".") ? @name : "#@name/#{dir}"
|
92
|
-
|
93
|
-
create_directory full_name(to_dir)
|
94
|
-
end
|
95
|
-
|
96
|
-
def full_name? name
|
97
|
-
File.expand_path(name) == name
|
98
|
-
end
|
99
88
|
|
100
|
-
|
101
|
-
full_name?(name) ? name : "#@basedir/#{name}"
|
89
|
+
to_dir
|
102
90
|
end
|
103
91
|
|
104
92
|
end
|
data/lib/dir_dsl/version.rb
CHANGED
data/spec/dir_dsl_spec.rb
CHANGED
@@ -6,12 +6,13 @@ require 'file_utils/file_utils'
|
|
6
6
|
describe DirDSL do
|
7
7
|
include FileUtils
|
8
8
|
|
9
|
-
let(:
|
9
|
+
let(:from_basedir) { "#{File.dirname(__FILE__)}/.." }
|
10
|
+
let(:to_basedir) { "#{File.dirname(__FILE__)}/../build" }
|
10
11
|
|
11
|
-
subject { DirDSL.new(
|
12
|
+
subject { DirDSL.new(from_basedir, to_basedir) }
|
12
13
|
|
13
14
|
after do
|
14
|
-
delete_directory "#{
|
15
|
+
delete_directory "#{to_basedir}"
|
15
16
|
end
|
16
17
|
|
17
18
|
it "should create new directory with files at particular folder" do
|
@@ -38,7 +39,7 @@ describe DirDSL do
|
|
38
39
|
end
|
39
40
|
|
40
41
|
it "should create new directory with file created from file" do
|
41
|
-
src = File.open("#{
|
42
|
+
src = File.open("#{from_basedir}/Rakefile")
|
42
43
|
subject.build do
|
43
44
|
content :name => "Rakefile", :source => src
|
44
45
|
end
|
@@ -68,7 +69,7 @@ describe DirDSL do
|
|
68
69
|
directory :from_dir => "spec"
|
69
70
|
end
|
70
71
|
|
71
|
-
subject.list.should include "spec_helper.rb"
|
72
|
+
subject.list("spec").should include "spec_helper.rb"
|
72
73
|
end
|
73
74
|
|
74
75
|
it "should display files in specified subdirectory" do
|
@@ -76,7 +77,7 @@ describe DirDSL do
|
|
76
77
|
directory :from_dir => "lib"
|
77
78
|
end
|
78
79
|
|
79
|
-
subject.list("dir_dsl").first.should =~ %r{dir_dsl.rb}
|
80
|
+
subject.list("lib/dir_dsl").first.should =~ %r{dir_dsl.rb}
|
80
81
|
end
|
81
82
|
|
82
83
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dir_dsl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Shvets
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: meta_methods
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ! '>='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ! '>='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: file_utils
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,6 +75,7 @@ files:
|
|
89
75
|
- LICENSE
|
90
76
|
- README.md
|
91
77
|
- Rakefile
|
78
|
+
- dir_dsl.gemspec
|
92
79
|
- dir_dsl.gemspec.erb
|
93
80
|
- lib/dir_dsl.rb
|
94
81
|
- lib/dir_dsl/dir_dsl.rb
|