dir_dsl 1.0.0 → 1.0.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.
- 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
|