zip_dsl 1.0.6 → 1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|