zip_dsl 1.0.6 → 1.0.8
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.
- data/.idea/workspace.xml +173 -90
- data/.idea/zip_dsl.iml +3 -3
- data/Gemfile +1 -1
- data/Rakefile +4 -0
- data/lib/zip_dsl/version.rb +1 -1
- data/spec/directory_builder_spec.rb +3 -3
- data/spec/zip_builder_spec.rb +1 -1
- data/test.zip +0 -0
- data/zip_dsl.gemspec +0 -1
- metadata +3 -27
- data/build/test/directory_builder.rb +0 -105
- data/build/test/version.rb +0 -3
- data/build/test/zip_dsl/version.rb +0 -3
- data/build/test/zip_dsl/zip_dsl.rb +0 -45
- data/build/test/zip_dsl/zip_reader.rb +0 -65
- data/build/test/zip_dsl/zip_writer.rb +0 -108
- data/build/test/zip_dsl.rb +0 -3
- data/build/test/zip_reader.rb +0 -65
- data/build/test/zip_writer.rb +0 -108
data/.idea/workspace.xml
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<project version="4">
|
|
3
3
|
<component name="ChangeListManager">
|
|
4
|
-
<list default="true" id="aafa5aec-b597-47d5-af91-f7b63300321f" name="Default" comment=""
|
|
5
|
-
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/zip_dsl/version.rb" afterPath="$PROJECT_DIR$/lib/zip_dsl/version.rb" />
|
|
6
|
-
</list>
|
|
4
|
+
<list default="true" id="aafa5aec-b597-47d5-af91-f7b63300321f" name="Default" comment="" />
|
|
7
5
|
<ignored path="zip_dsl.iws" />
|
|
8
6
|
<ignored path=".idea/workspace.xml" />
|
|
9
7
|
<option name="TRACKING_ENABLED" value="true" />
|
|
@@ -24,28 +22,91 @@
|
|
|
24
22
|
</component>
|
|
25
23
|
<component name="FileEditorManager">
|
|
26
24
|
<leaf>
|
|
27
|
-
<file leaf-file-name="
|
|
25
|
+
<file leaf-file-name="zip_writer.rb" pinned="false" current="false" current-in-tab="false">
|
|
26
|
+
<entry file="file://$PROJECT_DIR$/lib/zip_dsl/zip_writer.rb">
|
|
27
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
28
|
+
<state line="21" column="19" selection-start="418" selection-end="418" vertical-scroll-proportion="0.0">
|
|
29
|
+
<folding />
|
|
30
|
+
</state>
|
|
31
|
+
</provider>
|
|
32
|
+
</entry>
|
|
33
|
+
</file>
|
|
34
|
+
<file leaf-file-name="Rakefile" pinned="false" current="false" current-in-tab="false">
|
|
35
|
+
<entry file="file://$PROJECT_DIR$/Rakefile">
|
|
36
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
37
|
+
<state line="21" column="0" selection-start="414" selection-end="414" vertical-scroll-proportion="0.0">
|
|
38
|
+
<folding />
|
|
39
|
+
</state>
|
|
40
|
+
</provider>
|
|
41
|
+
</entry>
|
|
42
|
+
</file>
|
|
43
|
+
<file leaf-file-name="monitor.rb" pinned="false" current="false" current-in-tab="false">
|
|
44
|
+
<entry file="file://$USER_HOME$/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb">
|
|
45
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
46
|
+
<state line="212" column="0" selection-start="4856" selection-end="4856" vertical-scroll-proportion="0.0">
|
|
47
|
+
<folding />
|
|
48
|
+
</state>
|
|
49
|
+
</provider>
|
|
50
|
+
</entry>
|
|
51
|
+
</file>
|
|
52
|
+
<file leaf-file-name="zip_dsl.gemspec" pinned="false" current="false" current-in-tab="false">
|
|
53
|
+
<entry file="file://$PROJECT_DIR$/zip_dsl.gemspec">
|
|
54
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
55
|
+
<state line="12" column="24" selection-start="493" selection-end="505" vertical-scroll-proportion="0.0">
|
|
56
|
+
<folding />
|
|
57
|
+
</state>
|
|
58
|
+
</provider>
|
|
59
|
+
</entry>
|
|
60
|
+
</file>
|
|
61
|
+
<file leaf-file-name="directory_builder_spec.rb" pinned="false" current="true" current-in-tab="true">
|
|
28
62
|
<entry file="file://$PROJECT_DIR$/spec/directory_builder_spec.rb">
|
|
29
63
|
<provider selected="true" editor-type-id="text-editor">
|
|
30
|
-
<state line="
|
|
64
|
+
<state line="1" column="36" selection-start="66" selection-end="66" vertical-scroll-proportion="0.026890757">
|
|
31
65
|
<folding />
|
|
32
66
|
</state>
|
|
33
67
|
</provider>
|
|
34
68
|
</entry>
|
|
35
69
|
</file>
|
|
36
|
-
<file leaf-file-name="version.rb" pinned="false" current="
|
|
70
|
+
<file leaf-file-name="version.rb" pinned="false" current="false" current-in-tab="false">
|
|
37
71
|
<entry file="file://$PROJECT_DIR$/lib/zip_dsl/version.rb">
|
|
38
72
|
<provider selected="true" editor-type-id="text-editor">
|
|
39
|
-
<state line="
|
|
73
|
+
<state line="3" column="36" selection-start="38" selection-end="38" vertical-scroll-proportion="0.0">
|
|
74
|
+
<folding />
|
|
75
|
+
</state>
|
|
76
|
+
</provider>
|
|
77
|
+
</entry>
|
|
78
|
+
</file>
|
|
79
|
+
<file leaf-file-name="zip_builder_spec.rb" pinned="false" current="false" current-in-tab="false">
|
|
80
|
+
<entry file="file://$PROJECT_DIR$/spec/zip_builder_spec.rb">
|
|
81
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
82
|
+
<state line="3" column="22" selection-start="85" selection-end="85" vertical-scroll-proportion="0.0">
|
|
83
|
+
<folding />
|
|
84
|
+
</state>
|
|
85
|
+
</provider>
|
|
86
|
+
</entry>
|
|
87
|
+
</file>
|
|
88
|
+
<file leaf-file-name="Gemfile" pinned="false" current="false" current-in-tab="false">
|
|
89
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
|
90
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
91
|
+
<state line="4" column="2" selection-start="59" selection-end="59" vertical-scroll-proportion="0.0">
|
|
92
|
+
<folding />
|
|
93
|
+
</state>
|
|
94
|
+
</provider>
|
|
95
|
+
</entry>
|
|
96
|
+
</file>
|
|
97
|
+
<file leaf-file-name="gemspec_deps_gen.rb" pinned="false" current="false" current-in-tab="false">
|
|
98
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-1.9.3-p194@zip_dsl/gems/gemspec_deps_gen-1.0.2/lib/gemspec_deps_gen/gemspec_deps_gen.rb">
|
|
99
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
100
|
+
<state line="13" column="70" selection-start="305" selection-end="369" vertical-scroll-proportion="0.0">
|
|
40
101
|
<folding />
|
|
41
102
|
</state>
|
|
42
103
|
</provider>
|
|
43
104
|
</entry>
|
|
44
105
|
</file>
|
|
45
|
-
<file leaf-file-name="
|
|
46
|
-
<entry file="file://$
|
|
106
|
+
<file leaf-file-name="file_utils.rb" pinned="false" current="false" current-in-tab="false">
|
|
107
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-1.9.3-p194@zip_dsl/gems/file_utils-1.0.4/lib/file_utils/file_utils.rb">
|
|
47
108
|
<provider selected="true" editor-type-id="text-editor">
|
|
48
|
-
<state line="
|
|
109
|
+
<state line="18" column="0" selection-start="326" selection-end="326" vertical-scroll-proportion="0.0">
|
|
49
110
|
<folding />
|
|
50
111
|
</state>
|
|
51
112
|
</provider>
|
|
@@ -65,16 +126,16 @@
|
|
|
65
126
|
<option name="changedFiles">
|
|
66
127
|
<list>
|
|
67
128
|
<option value="$PROJECT_DIR$/.rvmrc" />
|
|
68
|
-
<option value="$PROJECT_DIR$/Rakefile" />
|
|
69
129
|
<option value="$PROJECT_DIR$/lib/zip_dsl.rb" />
|
|
70
130
|
<option value="$PROJECT_DIR$/spec/spec_helper.rb" />
|
|
71
131
|
<option value="$PROJECT_DIR$/lib/zip_dsl/zip_writer.rb" />
|
|
72
|
-
<option value="$PROJECT_DIR$/zip_dsl.gemspec" />
|
|
73
132
|
<option value="$PROJECT_DIR$/zip_dsl.gemspec.erb" />
|
|
74
133
|
<option value="$PROJECT_DIR$/lib/zip_dsl/zip_dsl.rb" />
|
|
134
|
+
<option value="$PROJECT_DIR$/lib/directory_builder.rb" />
|
|
135
|
+
<option value="$PROJECT_DIR$/Rakefile" />
|
|
136
|
+
<option value="$PROJECT_DIR$/zip_dsl.gemspec" />
|
|
75
137
|
<option value="$PROJECT_DIR$/Gemfile" />
|
|
76
138
|
<option value="$PROJECT_DIR$/spec/zip_builder_spec.rb" />
|
|
77
|
-
<option value="$PROJECT_DIR$/lib/directory_builder.rb" />
|
|
78
139
|
<option value="$PROJECT_DIR$/spec/directory_builder_spec.rb" />
|
|
79
140
|
<option value="$PROJECT_DIR$/lib/zip_dsl/version.rb" />
|
|
80
141
|
</list>
|
|
@@ -82,7 +143,7 @@
|
|
|
82
143
|
</component>
|
|
83
144
|
<component name="ProjectFrameBounds">
|
|
84
145
|
<option name="x" value="332" />
|
|
85
|
-
<option name="y" value="
|
|
146
|
+
<option name="y" value="142" />
|
|
86
147
|
<option name="width" value="1588" />
|
|
87
148
|
<option name="height" value="1058" />
|
|
88
149
|
</component>
|
|
@@ -112,7 +173,6 @@
|
|
|
112
173
|
<sortByType />
|
|
113
174
|
</navigator>
|
|
114
175
|
<panes>
|
|
115
|
-
<pane id="Scope" />
|
|
116
176
|
<pane id="ProjectPane">
|
|
117
177
|
<subPane>
|
|
118
178
|
<PATH>
|
|
@@ -145,44 +205,14 @@
|
|
|
145
205
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
146
206
|
</PATH_ELEMENT>
|
|
147
207
|
</PATH>
|
|
148
|
-
<PATH>
|
|
149
|
-
<PATH_ELEMENT>
|
|
150
|
-
<option name="myItemId" value="zip_dsl" />
|
|
151
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
152
|
-
</PATH_ELEMENT>
|
|
153
|
-
<PATH_ELEMENT>
|
|
154
|
-
<option name="myItemId" value="zip_dsl" />
|
|
155
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
156
|
-
</PATH_ELEMENT>
|
|
157
|
-
<PATH_ELEMENT>
|
|
158
|
-
<option name="myItemId" value="lib" />
|
|
159
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
160
|
-
</PATH_ELEMENT>
|
|
161
|
-
</PATH>
|
|
162
|
-
<PATH>
|
|
163
|
-
<PATH_ELEMENT>
|
|
164
|
-
<option name="myItemId" value="zip_dsl" />
|
|
165
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
166
|
-
</PATH_ELEMENT>
|
|
167
|
-
<PATH_ELEMENT>
|
|
168
|
-
<option name="myItemId" value="zip_dsl" />
|
|
169
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
170
|
-
</PATH_ELEMENT>
|
|
171
|
-
<PATH_ELEMENT>
|
|
172
|
-
<option name="myItemId" value="lib" />
|
|
173
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
174
|
-
</PATH_ELEMENT>
|
|
175
|
-
<PATH_ELEMENT>
|
|
176
|
-
<option name="myItemId" value="zip_dsl" />
|
|
177
|
-
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
178
|
-
</PATH_ELEMENT>
|
|
179
|
-
</PATH>
|
|
180
208
|
</subPane>
|
|
181
209
|
</pane>
|
|
210
|
+
<pane id="Scope" />
|
|
182
211
|
</panes>
|
|
183
212
|
</component>
|
|
184
213
|
<component name="PropertiesComponent">
|
|
185
214
|
<property name="recentsLimit" value="5" />
|
|
215
|
+
<property name="restartRequiresConfirmation" value="true" />
|
|
186
216
|
<property name="GoToClass.includeJavaFiles" value="false" />
|
|
187
217
|
</component>
|
|
188
218
|
<component name="RecentsManager">
|
|
@@ -356,6 +386,28 @@
|
|
|
356
386
|
<ConfigurationWrapper RunnerId="RubyRunner" />
|
|
357
387
|
<method />
|
|
358
388
|
</configuration>
|
|
389
|
+
<configuration default="true" type="RakeRunConfigurationType" factoryName="Rake">
|
|
390
|
+
<module name="" />
|
|
391
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
|
392
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
|
393
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
394
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
395
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
|
396
|
+
<envs />
|
|
397
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
|
398
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
|
399
|
+
<COVERAGE_PATTERN ENABLED="true">
|
|
400
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
|
401
|
+
</COVERAGE_PATTERN>
|
|
402
|
+
</EXTENSION>
|
|
403
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="" />
|
|
404
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
|
|
405
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE="" />
|
|
406
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
|
|
407
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
|
|
408
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
|
|
409
|
+
<method />
|
|
410
|
+
</configuration>
|
|
359
411
|
<configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
|
|
360
412
|
<predefined_log_file id="RUBY_RSPEC" enabled="true" />
|
|
361
413
|
<module name="" />
|
|
@@ -426,28 +478,54 @@
|
|
|
426
478
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
|
|
427
479
|
<method />
|
|
428
480
|
</configuration>
|
|
429
|
-
<
|
|
481
|
+
<configuration default="false" name="rake" type="RakeRunConfigurationType" factoryName="Rake">
|
|
482
|
+
<module name="zip_dsl" />
|
|
483
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
|
484
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
|
|
485
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
486
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
487
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
|
488
|
+
<envs />
|
|
489
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
|
490
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
|
491
|
+
<COVERAGE_PATTERN ENABLED="true">
|
|
492
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
|
493
|
+
</COVERAGE_PATTERN>
|
|
494
|
+
</EXTENSION>
|
|
495
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="build" />
|
|
496
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
|
|
497
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE="" />
|
|
498
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
|
|
499
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
|
|
500
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
|
|
501
|
+
<RunnerSettings RunnerId="RubyDebugRunner" />
|
|
502
|
+
<ConfigurationWrapper RunnerId="RubyDebugRunner" />
|
|
503
|
+
<method />
|
|
504
|
+
</configuration>
|
|
505
|
+
<list size="6">
|
|
430
506
|
<item index="0" class="java.lang.String" itemvalue="RSpec.DirectoryBuilder should create new zip file with file created from string" />
|
|
431
507
|
<item index="1" class="java.lang.String" itemvalue="RSpec.DirectoryBuilder should create new zip file with new empty folder" />
|
|
432
508
|
<item index="2" class="java.lang.String" itemvalue="RSpec.DirectoryBuilder should display files in current directory" />
|
|
433
|
-
<item index="3" class="java.lang.String" itemvalue="
|
|
434
|
-
<item index="4" class="java.lang.String" itemvalue="RSpec.
|
|
509
|
+
<item index="3" class="java.lang.String" itemvalue="Rake.rake" />
|
|
510
|
+
<item index="4" class="java.lang.String" itemvalue="RSpec.zip_builder_spec" />
|
|
511
|
+
<item index="5" class="java.lang.String" itemvalue="RSpec.directory_builder_spec" />
|
|
435
512
|
</list>
|
|
436
513
|
<recent_temporary>
|
|
437
514
|
<list size="5">
|
|
438
515
|
<item index="0" class="java.lang.String" itemvalue="RSpec.directory_builder_spec" />
|
|
439
|
-
<item index="1" class="java.lang.String" itemvalue="RSpec.
|
|
440
|
-
<item index="2" class="java.lang.String" itemvalue="RSpec.
|
|
441
|
-
<item index="3" class="java.lang.String" itemvalue="RSpec.
|
|
442
|
-
<item index="4" class="java.lang.String" itemvalue="RSpec.
|
|
516
|
+
<item index="1" class="java.lang.String" itemvalue="RSpec.zip_builder_spec" />
|
|
517
|
+
<item index="2" class="java.lang.String" itemvalue="RSpec.zip_builder_spec" />
|
|
518
|
+
<item index="3" class="java.lang.String" itemvalue="RSpec.directory_builder_spec" />
|
|
519
|
+
<item index="4" class="java.lang.String" itemvalue="RSpec.zip_builder_spec" />
|
|
443
520
|
</list>
|
|
444
521
|
</recent_temporary>
|
|
445
522
|
</component>
|
|
446
523
|
<component name="ShelveChangesManager" show_recycled="false" />
|
|
447
524
|
<component name="ToolWindowManager">
|
|
448
|
-
<frame x="332" y="
|
|
449
|
-
<editor active="
|
|
525
|
+
<frame x="332" y="142" width="1588" height="1058" extended-state="0" />
|
|
526
|
+
<editor active="false" />
|
|
450
527
|
<layout>
|
|
528
|
+
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298647" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
451
529
|
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298647" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
452
530
|
<window_info id="CSS-X-Fire" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
453
531
|
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
|
@@ -457,13 +535,12 @@
|
|
|
457
535
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39958376" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
|
458
536
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
|
459
537
|
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
|
460
|
-
<window_info id="Run" active="
|
|
538
|
+
<window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.3298647" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
|
461
539
|
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
462
540
|
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
|
463
541
|
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
464
542
|
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
465
543
|
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
466
|
-
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298647" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
467
544
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
468
545
|
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
|
469
546
|
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
|
@@ -552,53 +629,52 @@
|
|
|
552
629
|
<url>file://$PROJECT_DIR$/spec/directory_builder_spec.rb</url>
|
|
553
630
|
<line>30</line>
|
|
554
631
|
</line-breakpoint>
|
|
632
|
+
<line-breakpoint enabled="true" type="ruby-line">
|
|
633
|
+
<url>file://$PROJECT_DIR$/Rakefile</url>
|
|
634
|
+
<line>17</line>
|
|
635
|
+
</line-breakpoint>
|
|
555
636
|
</breakpoints>
|
|
556
637
|
</breakpoint-manager>
|
|
557
638
|
</component>
|
|
558
639
|
<component name="editorHistoryManager">
|
|
559
|
-
<entry file="file://$
|
|
640
|
+
<entry file="file://$PROJECT_DIR$/lib/directory_builder.rb">
|
|
560
641
|
<provider selected="true" editor-type-id="text-editor">
|
|
561
|
-
<state line="
|
|
642
|
+
<state line="37" column="66" selection-start="738" selection-end="783" vertical-scroll-proportion="0.0">
|
|
562
643
|
<folding />
|
|
563
644
|
</state>
|
|
564
645
|
</provider>
|
|
565
646
|
</entry>
|
|
566
|
-
<entry file="file://$PROJECT_DIR$/Gemfile">
|
|
647
|
+
<entry file="file://$PROJECT_DIR$/Gemfile.lock">
|
|
567
648
|
<provider selected="true" editor-type-id="text-editor">
|
|
568
|
-
<state line="
|
|
649
|
+
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
|
569
650
|
<folding />
|
|
570
651
|
</state>
|
|
571
652
|
</provider>
|
|
572
653
|
</entry>
|
|
573
|
-
<entry file="file://$
|
|
654
|
+
<entry file="file://$PROJECT_DIR$/lib/zip_dsl.rb">
|
|
574
655
|
<provider selected="true" editor-type-id="text-editor">
|
|
575
|
-
<state line="
|
|
656
|
+
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
|
576
657
|
<folding />
|
|
577
658
|
</state>
|
|
578
659
|
</provider>
|
|
579
660
|
</entry>
|
|
580
|
-
<entry file="file://$
|
|
661
|
+
<entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
|
|
581
662
|
<provider selected="true" editor-type-id="text-editor">
|
|
582
|
-
<state line="
|
|
663
|
+
<state line="1" column="28" selection-start="0" selection-end="59" vertical-scroll-proportion="0.01713062">
|
|
583
664
|
<folding />
|
|
584
665
|
</state>
|
|
585
666
|
</provider>
|
|
586
667
|
</entry>
|
|
587
|
-
<entry file="file://$
|
|
588
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
589
|
-
<state line="34" column="0" selection-start="594" selection-end="594" vertical-scroll-proportion="0.32090762" />
|
|
590
|
-
</provider>
|
|
591
|
-
</entry>
|
|
592
|
-
<entry file="file://$USER_HOME$/.rvm/gems/ruby-1.9.3-p194@zip_dsl/gems/rubyzip-0.9.8/lib/zip/zip_output_stream.rb">
|
|
668
|
+
<entry file="file://$PROJECT_DIR$/lib/zip_dsl/zip_dsl.rb">
|
|
593
669
|
<provider selected="true" editor-type-id="text-editor">
|
|
594
|
-
<state line="
|
|
670
|
+
<state line="45" column="28" selection-start="1218" selection-end="1218" vertical-scroll-proportion="0.0">
|
|
595
671
|
<folding />
|
|
596
672
|
</state>
|
|
597
673
|
</provider>
|
|
598
674
|
</entry>
|
|
599
|
-
<entry file="file://$
|
|
675
|
+
<entry file="file://$PROJECT_DIR$/lib/zip_dsl/zip_reader.rb">
|
|
600
676
|
<provider selected="true" editor-type-id="text-editor">
|
|
601
|
-
<state line="
|
|
677
|
+
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
|
602
678
|
<folding />
|
|
603
679
|
</state>
|
|
604
680
|
</provider>
|
|
@@ -610,58 +686,65 @@
|
|
|
610
686
|
</state>
|
|
611
687
|
</provider>
|
|
612
688
|
</entry>
|
|
613
|
-
<entry file="file://$
|
|
689
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-1.9.3-p194@zip_dsl/gems/gemspec_deps_gen-1.0.2/lib/gemspec_deps_gen/gemspec_deps_gen.rb">
|
|
614
690
|
<provider selected="true" editor-type-id="text-editor">
|
|
615
|
-
<state line="
|
|
691
|
+
<state line="13" column="70" selection-start="305" selection-end="369" vertical-scroll-proportion="0.0">
|
|
616
692
|
<folding />
|
|
617
693
|
</state>
|
|
618
694
|
</provider>
|
|
619
695
|
</entry>
|
|
620
|
-
<entry file="file://$USER_HOME$/.rvm/gems/ruby-1.9.3-p194@zip_dsl/gems/
|
|
696
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-1.9.3-p194@zip_dsl/gems/file_utils-1.0.4/lib/file_utils/file_utils.rb">
|
|
621
697
|
<provider selected="true" editor-type-id="text-editor">
|
|
622
|
-
<state line="
|
|
698
|
+
<state line="18" column="0" selection-start="326" selection-end="326" vertical-scroll-proportion="0.0">
|
|
623
699
|
<folding />
|
|
624
700
|
</state>
|
|
625
701
|
</provider>
|
|
626
702
|
</entry>
|
|
627
|
-
<entry file="file://$USER_HOME$/.rvm/
|
|
703
|
+
<entry file="file://$USER_HOME$/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb">
|
|
628
704
|
<provider selected="true" editor-type-id="text-editor">
|
|
629
|
-
<state line="
|
|
705
|
+
<state line="212" column="0" selection-start="4856" selection-end="4856" vertical-scroll-proportion="0.0">
|
|
630
706
|
<folding />
|
|
631
707
|
</state>
|
|
632
708
|
</provider>
|
|
633
709
|
</entry>
|
|
634
|
-
<entry file="file://$
|
|
710
|
+
<entry file="file://$PROJECT_DIR$/Rakefile">
|
|
635
711
|
<provider selected="true" editor-type-id="text-editor">
|
|
636
|
-
<state line="
|
|
712
|
+
<state line="21" column="0" selection-start="414" selection-end="414" vertical-scroll-proportion="0.0">
|
|
637
713
|
<folding />
|
|
638
714
|
</state>
|
|
639
715
|
</provider>
|
|
640
716
|
</entry>
|
|
641
|
-
<entry file="file://$PROJECT_DIR$/
|
|
717
|
+
<entry file="file://$PROJECT_DIR$/zip_dsl.gemspec">
|
|
642
718
|
<provider selected="true" editor-type-id="text-editor">
|
|
643
|
-
<state line="
|
|
719
|
+
<state line="12" column="24" selection-start="493" selection-end="505" vertical-scroll-proportion="0.0">
|
|
644
720
|
<folding />
|
|
645
721
|
</state>
|
|
646
722
|
</provider>
|
|
647
723
|
</entry>
|
|
648
|
-
<entry file="file://$PROJECT_DIR$/
|
|
724
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
|
649
725
|
<provider selected="true" editor-type-id="text-editor">
|
|
650
|
-
<state line="
|
|
726
|
+
<state line="4" column="2" selection-start="59" selection-end="59" vertical-scroll-proportion="0.0">
|
|
651
727
|
<folding />
|
|
652
728
|
</state>
|
|
653
729
|
</provider>
|
|
654
730
|
</entry>
|
|
655
|
-
<entry file="file://$PROJECT_DIR$/spec/
|
|
731
|
+
<entry file="file://$PROJECT_DIR$/spec/zip_builder_spec.rb">
|
|
656
732
|
<provider selected="true" editor-type-id="text-editor">
|
|
657
|
-
<state line="
|
|
733
|
+
<state line="3" column="22" selection-start="85" selection-end="85" vertical-scroll-proportion="0.0">
|
|
658
734
|
<folding />
|
|
659
735
|
</state>
|
|
660
736
|
</provider>
|
|
661
737
|
</entry>
|
|
662
738
|
<entry file="file://$PROJECT_DIR$/lib/zip_dsl/version.rb">
|
|
663
739
|
<provider selected="true" editor-type-id="text-editor">
|
|
664
|
-
<state line="
|
|
740
|
+
<state line="3" column="36" selection-start="38" selection-end="38" vertical-scroll-proportion="0.0">
|
|
741
|
+
<folding />
|
|
742
|
+
</state>
|
|
743
|
+
</provider>
|
|
744
|
+
</entry>
|
|
745
|
+
<entry file="file://$PROJECT_DIR$/spec/directory_builder_spec.rb">
|
|
746
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
747
|
+
<state line="1" column="36" selection-start="66" selection-end="66" vertical-scroll-proportion="0.026890757">
|
|
665
748
|
<folding />
|
|
666
749
|
</state>
|
|
667
750
|
</provider>
|
data/.idea/zip_dsl.iml
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
<orderEntry type="sourceFolder" forTests="false" />
|
|
7
7
|
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.1.3, RVM: ruby-1.9.3-p194 [zip_dsl]) [gem]" level="application" />
|
|
8
8
|
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.1.3, RVM: ruby-1.9.3-p194 [zip_dsl]) [gem]" level="application" />
|
|
9
|
-
<orderEntry type="library" scope="PROVIDED" name="file_utils (v1.0.
|
|
9
|
+
<orderEntry type="library" scope="PROVIDED" name="file_utils (v1.0.4, RVM: ruby-1.9.3-p194 [zip_dsl]) [gem]" level="application" />
|
|
10
10
|
<orderEntry type="library" scope="PROVIDED" name="gemcutter (v0.7.1, RVM: ruby-1.9.3-p194 [zip_dsl]) [gem]" level="application" />
|
|
11
|
-
<orderEntry type="library" scope="PROVIDED" name="gemspec_deps_gen (v1.0.
|
|
12
|
-
<orderEntry type="library" scope="PROVIDED" name="meta_methods (v1.0.
|
|
11
|
+
<orderEntry type="library" scope="PROVIDED" name="gemspec_deps_gen (v1.0.2, RVM: ruby-1.9.3-p194 [zip_dsl]) [gem]" level="application" />
|
|
12
|
+
<orderEntry type="library" scope="PROVIDED" name="meta_methods (v1.0.3, RVM: ruby-1.9.3-p194 [zip_dsl]) [gem]" level="application" />
|
|
13
13
|
<orderEntry type="library" scope="PROVIDED" name="metaclass (v0.0.1, RVM: ruby-1.9.3-p194 [zip_dsl]) [gem]" level="application" />
|
|
14
14
|
<orderEntry type="library" scope="PROVIDED" name="mocha (v0.10.3, RVM: ruby-1.9.3-p194 [zip_dsl]) [gem]" level="application" />
|
|
15
15
|
<orderEntry type="library" scope="PROVIDED" name="rspec (v2.9.0, RVM: ruby-1.9.3-p194 [zip_dsl]) [gem]" level="application" />
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
data/lib/zip_dsl/version.rb
CHANGED
|
@@ -6,10 +6,10 @@ require 'file_utils/file_utils'
|
|
|
6
6
|
describe DirectoryBuilder do
|
|
7
7
|
include FileUtils
|
|
8
8
|
|
|
9
|
-
let(:basedir) { File.
|
|
10
|
-
subject { DirectoryBuilder.new("build/test",
|
|
9
|
+
let(:basedir) { "#{File.dirname(__FILE__)}/.." }
|
|
10
|
+
subject { DirectoryBuilder.new("build/test", basedir) }
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
after do
|
|
13
13
|
delete_directory "#{basedir}/build"
|
|
14
14
|
end
|
|
15
15
|
|
data/spec/zip_builder_spec.rb
CHANGED
data/test.zip
ADDED
|
Binary file
|
data/zip_dsl.gemspec
CHANGED
|
@@ -17,7 +17,6 @@ Gem::Specification.new do |spec|
|
|
|
17
17
|
|
|
18
18
|
spec.add_runtime_dependency "meta_methods", [">= 0"]
|
|
19
19
|
spec.add_runtime_dependency "zip", [">= 0"]
|
|
20
|
-
spec.add_runtime_dependency "rubyzip", ["= 0.9.8"]
|
|
21
20
|
spec.add_runtime_dependency "file_utils", [">= 0"]
|
|
22
21
|
spec.add_development_dependency "gemspec_deps_gen", [">= 0"]
|
|
23
22
|
spec.add_development_dependency "gemcutter", [">= 0"]
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zip_dsl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.8
|
|
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-06-
|
|
12
|
+
date: 2012-06-16 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: meta_methods
|
|
@@ -43,22 +43,6 @@ dependencies:
|
|
|
43
43
|
- - ! '>='
|
|
44
44
|
- !ruby/object:Gem::Version
|
|
45
45
|
version: '0'
|
|
46
|
-
- !ruby/object:Gem::Dependency
|
|
47
|
-
name: rubyzip
|
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
|
-
requirements:
|
|
51
|
-
- - '='
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: 0.9.8
|
|
54
|
-
type: :runtime
|
|
55
|
-
prerelease: false
|
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
|
-
requirements:
|
|
59
|
-
- - '='
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.9.8
|
|
62
46
|
- !ruby/object:Gem::Dependency
|
|
63
47
|
name: file_utils
|
|
64
48
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -129,15 +113,6 @@ files:
|
|
|
129
113
|
- LICENSE
|
|
130
114
|
- README.md
|
|
131
115
|
- Rakefile
|
|
132
|
-
- build/test/directory_builder.rb
|
|
133
|
-
- build/test/version.rb
|
|
134
|
-
- build/test/zip_dsl.rb
|
|
135
|
-
- build/test/zip_dsl/version.rb
|
|
136
|
-
- build/test/zip_dsl/zip_dsl.rb
|
|
137
|
-
- build/test/zip_dsl/zip_reader.rb
|
|
138
|
-
- build/test/zip_dsl/zip_writer.rb
|
|
139
|
-
- build/test/zip_reader.rb
|
|
140
|
-
- build/test/zip_writer.rb
|
|
141
116
|
- lib/directory_builder.rb
|
|
142
117
|
- lib/zip_dsl.rb
|
|
143
118
|
- lib/zip_dsl/version.rb
|
|
@@ -147,6 +122,7 @@ files:
|
|
|
147
122
|
- spec/directory_builder_spec.rb
|
|
148
123
|
- spec/spec_helper.rb
|
|
149
124
|
- spec/zip_builder_spec.rb
|
|
125
|
+
- test.zip
|
|
150
126
|
- zip_dsl.gemspec
|
|
151
127
|
- zip_dsl.gemspec.erb
|
|
152
128
|
homepage: http://github.com/shvets/zip_dsl
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
require 'file_utils/file_utils'
|
|
2
|
-
require 'meta_methods'
|
|
3
|
-
|
|
4
|
-
class DirectoryBuilder
|
|
5
|
-
include FileUtils
|
|
6
|
-
include MetaMethods
|
|
7
|
-
|
|
8
|
-
def initialize name, basedir
|
|
9
|
-
@name = name
|
|
10
|
-
@basedir = File.expand_path(basedir)
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def build(name=nil, &execute_block)
|
|
14
|
-
name = name.nil? ? @name : name
|
|
15
|
-
|
|
16
|
-
evaluate_dsl(self, nil, execute_block)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def entry_exist? entry_name
|
|
20
|
-
File.exist? full_name("#@name/#{entry_name}")
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def entries_size
|
|
24
|
-
list = Dir.glob("#{full_name(@name)}/**/*")
|
|
25
|
-
|
|
26
|
-
cnt = 0
|
|
27
|
-
list.each do |name|
|
|
28
|
-
cnt += 1 if File.file?(name)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
cnt
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def list dir="."
|
|
35
|
-
list = pattern_to_files full_name("#@name/#{dir}"), "**/*"
|
|
36
|
-
|
|
37
|
-
list.each_with_index do |name, index|
|
|
38
|
-
list[index] = name[full_name("#@name/#{dir}").length+1..-1]
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def file params
|
|
43
|
-
to_dir = to_dir(params[:name], params[:to_dir])
|
|
44
|
-
|
|
45
|
-
create_directory full_name(to_dir)
|
|
46
|
-
|
|
47
|
-
write_to_file full_name(params[:name]), full_name("#{to_dir}/#{File.basename(params[:name])}")
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def content params
|
|
51
|
-
source = params[:source]
|
|
52
|
-
|
|
53
|
-
stream = source.kind_of?(String) ? StringIO.new(source) : source
|
|
54
|
-
content = stream.read
|
|
55
|
-
|
|
56
|
-
to_dir = to_dir(params[:name], params[:to_dir])
|
|
57
|
-
|
|
58
|
-
create_directory full_name(to_dir)
|
|
59
|
-
|
|
60
|
-
write_content_to_file content, full_name("#{to_dir}/#{File.basename(params[:name])}")
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def directory params
|
|
64
|
-
if params[:from_dir].nil?
|
|
65
|
-
create_empty_directory params[:to_dir]
|
|
66
|
-
else
|
|
67
|
-
if params[:to_dir] == "." || params[:to_dir].nil?
|
|
68
|
-
to_dir = "#@name"
|
|
69
|
-
else
|
|
70
|
-
to_dir = "#@name/#{params[:to_dir]}"
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
filter = params[:filter].nil? ? "**/*" : params[:filter]
|
|
74
|
-
|
|
75
|
-
copy_files full_name(params[:from_dir]), full_name(to_dir), filter
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
private
|
|
80
|
-
|
|
81
|
-
def to_dir name, dir
|
|
82
|
-
if dir.nil?
|
|
83
|
-
from_dir = File.dirname(name)
|
|
84
|
-
(from_dir == ".") ? @name : "#@name/#{from_dir}"
|
|
85
|
-
else
|
|
86
|
-
(dir == ".") ? @name : "#@name/#{dir}"
|
|
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
|
-
|
|
100
|
-
def full_name name
|
|
101
|
-
full_name?(name) ? name : "#@basedir/#{name}"
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
end
|
|
105
|
-
|
data/build/test/version.rb
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
require 'meta_methods'
|
|
2
|
-
|
|
3
|
-
class Zip::DSL
|
|
4
|
-
include MetaMethods
|
|
5
|
-
|
|
6
|
-
def initialize name, basedir
|
|
7
|
-
@name = File.expand_path(name)
|
|
8
|
-
@basedir = File.expand_path(basedir)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def build(name=nil, &execute_block)
|
|
12
|
-
name = name.nil? ? @name : name
|
|
13
|
-
|
|
14
|
-
create_block = lambda { Zip::Writer.new(name, @basedir) }
|
|
15
|
-
destroy_block = lambda {|writer| writer.close }
|
|
16
|
-
|
|
17
|
-
evaluate_dsl(create_block, destroy_block, execute_block)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def entry_exist? entry_name
|
|
21
|
-
create_block = lambda { Zip::Reader.new(@name) }
|
|
22
|
-
destroy_block = lambda {|reader| reader.close }
|
|
23
|
-
execute_block = lambda { |reader| reader.entry_exist?(entry_name) }
|
|
24
|
-
|
|
25
|
-
evaluate_dsl(create_block, destroy_block, execute_block)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def entries_size
|
|
29
|
-
create_block = lambda { Zip::Reader.new(@name) }
|
|
30
|
-
destroy_block = lambda {|reader| reader.close }
|
|
31
|
-
execute_block = lambda { |reader| reader.entries_size }
|
|
32
|
-
|
|
33
|
-
evaluate_dsl(create_block, destroy_block, execute_block)
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def list dir="."
|
|
37
|
-
create_block = lambda { Zip::Reader.new(@name) }
|
|
38
|
-
destroy_block = lambda {|reader| reader.close }
|
|
39
|
-
execute_block = lambda { |reader| reader.list(dir) }
|
|
40
|
-
|
|
41
|
-
evaluate_dsl(create_block, destroy_block, execute_block)
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
end
|
|
45
|
-
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
require 'zip/zip'
|
|
2
|
-
|
|
3
|
-
class Zip::Reader
|
|
4
|
-
include Enumerable
|
|
5
|
-
|
|
6
|
-
def initialize name
|
|
7
|
-
@zis = Zip::ZipInputStream.new(name)
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def each(&block)
|
|
11
|
-
@zis.rewind
|
|
12
|
-
|
|
13
|
-
while (entry = @zis.get_next_entry)
|
|
14
|
-
block.call(entry)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def close
|
|
19
|
-
@zis.close
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def entry_exist? entry_name
|
|
23
|
-
found = false
|
|
24
|
-
|
|
25
|
-
self.each do |entry|
|
|
26
|
-
if (entry.name == "./#{entry_name}") ||
|
|
27
|
-
(entry.name == entry_name) ||
|
|
28
|
-
!!(entry.name =~ /^#{entry_name}/)
|
|
29
|
-
found = true
|
|
30
|
-
break
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
found
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def entries_size
|
|
38
|
-
cnt = 0
|
|
39
|
-
|
|
40
|
-
self.each { |_| cnt +=1 }
|
|
41
|
-
|
|
42
|
-
cnt
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def list dir="."
|
|
46
|
-
entries = []
|
|
47
|
-
|
|
48
|
-
self.each do |entry|
|
|
49
|
-
if entry.name =~ /#{dir}/
|
|
50
|
-
name = (entry.name[0..1] == './') ? entry.name[2..-1] : entry.name
|
|
51
|
-
|
|
52
|
-
entries << name
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
entries
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
private
|
|
60
|
-
|
|
61
|
-
def dir_entry? entry
|
|
62
|
-
(%r{\/$} =~ entry.name)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
end
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
require 'zip/zip'
|
|
2
|
-
|
|
3
|
-
class Zip::Writer
|
|
4
|
-
|
|
5
|
-
def initialize file_name, basedir
|
|
6
|
-
@zos = Zip::ZipOutputStream.new(file_name)
|
|
7
|
-
@basedir = basedir
|
|
8
|
-
|
|
9
|
-
@compression_level = Zlib::BEST_COMPRESSION
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def close
|
|
13
|
-
@zos.close
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def file params
|
|
17
|
-
to_dir = params[:to_dir].nil? ? File.dirname(params[:name]) : strip_dot(params[:to_dir])
|
|
18
|
-
|
|
19
|
-
add_file full_name(params[:name]), to_dir
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def content params
|
|
23
|
-
to_dir = params[:to_dir].nil? ? File.dirname(params[:name]) : params[:to_dir]
|
|
24
|
-
|
|
25
|
-
add params[:name], to_dir, params[:source]
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def directory params
|
|
29
|
-
if params[:from_dir].nil?
|
|
30
|
-
add_empty_directory params[:to_dir]
|
|
31
|
-
else
|
|
32
|
-
if params[:to_dir].nil?
|
|
33
|
-
to_dir = params[:from_dir]
|
|
34
|
-
else
|
|
35
|
-
to_dir = params[:to_dir]
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
filter = params[:filter].nil? ? "**/*" : params[:filter]
|
|
39
|
-
|
|
40
|
-
add_directory params[:from_dir], to_dir, filter
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
private
|
|
45
|
-
|
|
46
|
-
def add_file name, to_dir = nil
|
|
47
|
-
add name, to_dir, File.open(name)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def add_directory from_dir, to_dir, filter="**/*"
|
|
51
|
-
patterns = filter.kind_of?(String) ? [filter] : filter
|
|
52
|
-
|
|
53
|
-
patterns.each do |pattern|
|
|
54
|
-
files = pattern_to_files full_name(from_dir), pattern
|
|
55
|
-
|
|
56
|
-
files.each do |file_name|
|
|
57
|
-
suffix = File.dirname(file_name)["#@basedir/#{from_dir}".size+1..-1]
|
|
58
|
-
dir = suffix.nil? ? to_dir : "#{to_dir}/#{suffix}"
|
|
59
|
-
|
|
60
|
-
if File.file?(file_name)
|
|
61
|
-
add_file file_name, dir
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def pattern_to_files dir, pattern
|
|
68
|
-
Dir.glob("#{dir}/#{pattern}")
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def add_empty_directory(name)
|
|
72
|
-
entry = Zip::ZipStreamableDirectory.new "", "#{name}/"
|
|
73
|
-
|
|
74
|
-
@zos.put_next_entry entry
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def add name, to_dir, source
|
|
78
|
-
create_new_entry("#{to_dir}/#{File.basename(name)}", source)
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def create_new_entry(name, source)
|
|
82
|
-
stream = source.kind_of?(String) ? StringIO.new(source) : source
|
|
83
|
-
content = stream.read
|
|
84
|
-
|
|
85
|
-
entry = Zip::ZipEntry.new("", name)
|
|
86
|
-
|
|
87
|
-
@zos.put_next_entry entry, @compression_level
|
|
88
|
-
|
|
89
|
-
@zos.write content
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
def strip_dot name
|
|
93
|
-
if name[name.length-2..-1] == "/."
|
|
94
|
-
name = name[0..name.length-3]
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
name
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
def full_name? name
|
|
101
|
-
File.expand_path(name) == name
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
def full_name name
|
|
105
|
-
full_name?(name) ? name : "#@basedir/#{name}"
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
end
|
data/build/test/zip_dsl.rb
DELETED
data/build/test/zip_reader.rb
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
require 'zip/zip'
|
|
2
|
-
|
|
3
|
-
class Zip::Reader
|
|
4
|
-
include Enumerable
|
|
5
|
-
|
|
6
|
-
def initialize name
|
|
7
|
-
@zis = Zip::ZipInputStream.new(name)
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def each(&block)
|
|
11
|
-
@zis.rewind
|
|
12
|
-
|
|
13
|
-
while (entry = @zis.get_next_entry)
|
|
14
|
-
block.call(entry)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def close
|
|
19
|
-
@zis.close
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def entry_exist? entry_name
|
|
23
|
-
found = false
|
|
24
|
-
|
|
25
|
-
self.each do |entry|
|
|
26
|
-
if (entry.name == "./#{entry_name}") ||
|
|
27
|
-
(entry.name == entry_name) ||
|
|
28
|
-
!!(entry.name =~ /^#{entry_name}/)
|
|
29
|
-
found = true
|
|
30
|
-
break
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
found
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def entries_size
|
|
38
|
-
cnt = 0
|
|
39
|
-
|
|
40
|
-
self.each { |_| cnt +=1 }
|
|
41
|
-
|
|
42
|
-
cnt
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def list dir="."
|
|
46
|
-
entries = []
|
|
47
|
-
|
|
48
|
-
self.each do |entry|
|
|
49
|
-
if entry.name =~ /#{dir}/
|
|
50
|
-
name = (entry.name[0..1] == './') ? entry.name[2..-1] : entry.name
|
|
51
|
-
|
|
52
|
-
entries << name
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
entries
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
private
|
|
60
|
-
|
|
61
|
-
def dir_entry? entry
|
|
62
|
-
(%r{\/$} =~ entry.name)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
end
|
data/build/test/zip_writer.rb
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
require 'zip/zip'
|
|
2
|
-
|
|
3
|
-
class Zip::Writer
|
|
4
|
-
|
|
5
|
-
def initialize file_name, basedir
|
|
6
|
-
@zos = Zip::ZipOutputStream.new(file_name)
|
|
7
|
-
@basedir = basedir
|
|
8
|
-
|
|
9
|
-
@compression_level = Zlib::BEST_COMPRESSION
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def close
|
|
13
|
-
@zos.close
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def file params
|
|
17
|
-
to_dir = params[:to_dir].nil? ? File.dirname(params[:name]) : strip_dot(params[:to_dir])
|
|
18
|
-
|
|
19
|
-
add_file full_name(params[:name]), to_dir
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def content params
|
|
23
|
-
to_dir = params[:to_dir].nil? ? File.dirname(params[:name]) : params[:to_dir]
|
|
24
|
-
|
|
25
|
-
add params[:name], to_dir, params[:source]
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def directory params
|
|
29
|
-
if params[:from_dir].nil?
|
|
30
|
-
add_empty_directory params[:to_dir]
|
|
31
|
-
else
|
|
32
|
-
if params[:to_dir].nil?
|
|
33
|
-
to_dir = params[:from_dir]
|
|
34
|
-
else
|
|
35
|
-
to_dir = params[:to_dir]
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
filter = params[:filter].nil? ? "**/*" : params[:filter]
|
|
39
|
-
|
|
40
|
-
add_directory params[:from_dir], to_dir, filter
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
private
|
|
45
|
-
|
|
46
|
-
def add_file name, to_dir = nil
|
|
47
|
-
add name, to_dir, File.open(name)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def add_directory from_dir, to_dir, filter="**/*"
|
|
51
|
-
patterns = filter.kind_of?(String) ? [filter] : filter
|
|
52
|
-
|
|
53
|
-
patterns.each do |pattern|
|
|
54
|
-
files = pattern_to_files full_name(from_dir), pattern
|
|
55
|
-
|
|
56
|
-
files.each do |file_name|
|
|
57
|
-
suffix = File.dirname(file_name)["#@basedir/#{from_dir}".size+1..-1]
|
|
58
|
-
dir = suffix.nil? ? to_dir : "#{to_dir}/#{suffix}"
|
|
59
|
-
|
|
60
|
-
if File.file?(file_name)
|
|
61
|
-
add_file file_name, dir
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def pattern_to_files dir, pattern
|
|
68
|
-
Dir.glob("#{dir}/#{pattern}")
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def add_empty_directory(name)
|
|
72
|
-
entry = Zip::ZipStreamableDirectory.new "", "#{name}/"
|
|
73
|
-
|
|
74
|
-
@zos.put_next_entry entry
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def add name, to_dir, source
|
|
78
|
-
create_new_entry("#{to_dir}/#{File.basename(name)}", source)
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def create_new_entry(name, source)
|
|
82
|
-
stream = source.kind_of?(String) ? StringIO.new(source) : source
|
|
83
|
-
content = stream.read
|
|
84
|
-
|
|
85
|
-
entry = Zip::ZipEntry.new("", name)
|
|
86
|
-
|
|
87
|
-
@zos.put_next_entry entry, @compression_level
|
|
88
|
-
|
|
89
|
-
@zos.write content
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
def strip_dot name
|
|
93
|
-
if name[name.length-2..-1] == "/."
|
|
94
|
-
name = name[0..name.length-3]
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
name
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
def full_name? name
|
|
101
|
-
File.expand_path(name) == name
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
def full_name name
|
|
105
|
-
full_name?(name) ? name : "#@basedir/#{name}"
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
end
|