zip_dsl 1.0.0

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/.gitignore ADDED
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ .DS_Store
data/.idea/.name ADDED
@@ -0,0 +1 @@
1
+ zip_dsl
data/.idea/.rakeTasks ADDED
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Settings><!--This file was automatically generated by Ruby plugin.
3
+ You are allowed to:
4
+ 1. Remove rake task
5
+ 2. Add existing rake tasks
6
+ To add existing rake tasks automatically delete this file and reload the project.
7
+ --><RakeGroup description="" fullCmd="" taksId="rake" /></Settings>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="CssXFireSettings">
4
+ <general autoClear="false" autoExpand="false" />
5
+ <strategy useRoutes="false" mediaReduce="false" fileReduce="false" currentDocumentsReduce="false" resolveVariables="true" resolveMixins="true" />
6
+ <routes />
7
+ </component>
8
+ </project>
9
+
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
4
+ </project>
5
+
data/.idea/misc.xml ADDED
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-1.9.3-p194 [meta_methods]" project-jdk-type="RUBY_SDK" />
4
+ </project>
5
+
data/.idea/modules.xml ADDED
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/zip_dsl.iml" filepath="$PROJECT_DIR$/.idea/zip_dsl.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
9
+
@@ -0,0 +1,5 @@
1
+ <component name="DependencyValidationManager">
2
+ <state>
3
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
4
+ </state>
5
+ </component>
data/.idea/vcs.xml ADDED
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ </component>
6
+ </project>
7
+
@@ -0,0 +1,383 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ChangeListManager">
4
+ <list default="true" id="aafa5aec-b597-47d5-af91-f7b63300321f" name="Default" comment="">
5
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/zip_dsl.gemspec.erb" afterPath="$PROJECT_DIR$/zip_dsl.gemspec.erb" />
6
+ </list>
7
+ <ignored path="zip_dsl.iws" />
8
+ <ignored path=".idea/workspace.xml" />
9
+ <option name="TRACKING_ENABLED" value="true" />
10
+ <option name="SHOW_DIALOG" value="false" />
11
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
12
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
13
+ <option name="LAST_RESOLUTION" value="IGNORE" />
14
+ </component>
15
+ <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
16
+ <component name="CreatePatchCommitExecutor">
17
+ <option name="PATCH_PATH" value="" />
18
+ </component>
19
+ <component name="DaemonCodeAnalyzer">
20
+ <disable_hints />
21
+ </component>
22
+ <component name="FavoritesManager">
23
+ <favorites_list name="zip_dsl" />
24
+ </component>
25
+ <component name="FileEditorManager">
26
+ <leaf>
27
+ <file leaf-file-name=".gitignore" pinned="false" current="false" current-in-tab="false">
28
+ <entry file="file://$PROJECT_DIR$/.gitignore">
29
+ <provider selected="true" editor-type-id="text-editor">
30
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
31
+ <folding />
32
+ </state>
33
+ </provider>
34
+ </entry>
35
+ </file>
36
+ <file leaf-file-name=".rvmrc" pinned="false" current="false" current-in-tab="false">
37
+ <entry file="file://$PROJECT_DIR$/.rvmrc">
38
+ <provider selected="true" editor-type-id="text-editor">
39
+ <state line="3" column="21" selection-start="78" selection-end="78" vertical-scroll-proportion="0.0">
40
+ <folding />
41
+ </state>
42
+ </provider>
43
+ </entry>
44
+ </file>
45
+ <file leaf-file-name="README.md" pinned="false" current="false" current-in-tab="false">
46
+ <entry file="file://$PROJECT_DIR$/README.md">
47
+ <provider selected="true" editor-type-id="text-editor">
48
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
49
+ <folding />
50
+ </state>
51
+ </provider>
52
+ </entry>
53
+ </file>
54
+ <file leaf-file-name="Gemfile" pinned="false" current="false" current-in-tab="false">
55
+ <entry file="file://$PROJECT_DIR$/Gemfile">
56
+ <provider selected="true" editor-type-id="text-editor">
57
+ <state line="3" column="20" selection-start="56" selection-end="56" vertical-scroll-proportion="0.0">
58
+ <folding />
59
+ </state>
60
+ </provider>
61
+ </entry>
62
+ </file>
63
+ <file leaf-file-name="Rakefile" pinned="false" current="false" current-in-tab="false">
64
+ <entry file="file://$PROJECT_DIR$/Rakefile">
65
+ <provider selected="true" editor-type-id="text-editor">
66
+ <state line="0" column="19" selection-start="19" selection-end="19" vertical-scroll-proportion="0.0">
67
+ <folding />
68
+ </state>
69
+ </provider>
70
+ </entry>
71
+ </file>
72
+ <file leaf-file-name="zip_dsl.gemspec.erb" pinned="false" current="true" current-in-tab="true">
73
+ <entry file="file://$PROJECT_DIR$/zip_dsl.gemspec.erb">
74
+ <provider selected="true" editor-type-id="text-editor">
75
+ <state line="13" column="40" selection-start="557" selection-end="557" vertical-scroll-proportion="0.35135135">
76
+ <folding />
77
+ </state>
78
+ </provider>
79
+ </entry>
80
+ </file>
81
+ </leaf>
82
+ </component>
83
+ <component name="FindManager">
84
+ <FindUsagesManager>
85
+ <setting name="OPEN_NEW_TAB" value="false" />
86
+ </FindUsagesManager>
87
+ </component>
88
+ <component name="Git.Settings">
89
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
90
+ </component>
91
+ <component name="IdeDocumentHistory">
92
+ <option name="changedFiles">
93
+ <list>
94
+ <option value="$PROJECT_DIR$/.rvmrc" />
95
+ <option value="$PROJECT_DIR$/lib/zip_dsl/version.rb" />
96
+ <option value="$PROJECT_DIR$/Rakefile" />
97
+ <option value="$PROJECT_DIR$/Gemfile" />
98
+ <option value="$PROJECT_DIR$/zip_dsl.gemspec.erb" />
99
+ </list>
100
+ </option>
101
+ </component>
102
+ <component name="ProjectFrameBounds">
103
+ <option name="x" value="332" />
104
+ <option name="y" value="39" />
105
+ <option name="width" value="1588" />
106
+ <option name="height" value="1058" />
107
+ </component>
108
+ <component name="ProjectLevelVcsManager" settingsEditedManually="false">
109
+ <OptionsSetting value="true" id="Add" />
110
+ <OptionsSetting value="true" id="Remove" />
111
+ <OptionsSetting value="true" id="Checkout" />
112
+ <OptionsSetting value="true" id="Update" />
113
+ <OptionsSetting value="true" id="Status" />
114
+ <OptionsSetting value="true" id="Edit" />
115
+ <ConfirmationsSetting value="0" id="Add" />
116
+ <ConfirmationsSetting value="0" id="Remove" />
117
+ </component>
118
+ <component name="ProjectReloadState">
119
+ <option name="STATE" value="0" />
120
+ </component>
121
+ <component name="ProjectView">
122
+ <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
123
+ <flattenPackages />
124
+ <showMembers />
125
+ <showModules />
126
+ <showLibraryContents />
127
+ <hideEmptyPackages />
128
+ <abbreviatePackageNames />
129
+ <autoscrollToSource />
130
+ <autoscrollFromSource />
131
+ <sortByType />
132
+ </navigator>
133
+ <panes>
134
+ <pane id="Scope" />
135
+ <pane id="ProjectPane">
136
+ <subPane>
137
+ <PATH>
138
+ <PATH_ELEMENT>
139
+ <option name="myItemId" value="zip_dsl" />
140
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
141
+ </PATH_ELEMENT>
142
+ </PATH>
143
+ <PATH>
144
+ <PATH_ELEMENT>
145
+ <option name="myItemId" value="zip_dsl" />
146
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
147
+ </PATH_ELEMENT>
148
+ <PATH_ELEMENT>
149
+ <option name="myItemId" value="zip_dsl" />
150
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
151
+ </PATH_ELEMENT>
152
+ </PATH>
153
+ <PATH>
154
+ <PATH_ELEMENT>
155
+ <option name="myItemId" value="zip_dsl" />
156
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
157
+ </PATH_ELEMENT>
158
+ <PATH_ELEMENT>
159
+ <option name="myItemId" value="zip_dsl" />
160
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
161
+ </PATH_ELEMENT>
162
+ <PATH_ELEMENT>
163
+ <option name="myItemId" value="lib" />
164
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
165
+ </PATH_ELEMENT>
166
+ </PATH>
167
+ <PATH>
168
+ <PATH_ELEMENT>
169
+ <option name="myItemId" value="zip_dsl" />
170
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
171
+ </PATH_ELEMENT>
172
+ <PATH_ELEMENT>
173
+ <option name="myItemId" value="zip_dsl" />
174
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
175
+ </PATH_ELEMENT>
176
+ <PATH_ELEMENT>
177
+ <option name="myItemId" value="lib" />
178
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
179
+ </PATH_ELEMENT>
180
+ <PATH_ELEMENT>
181
+ <option name="myItemId" value="zip_dsl" />
182
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
183
+ </PATH_ELEMENT>
184
+ </PATH>
185
+ </subPane>
186
+ </pane>
187
+ </panes>
188
+ </component>
189
+ <component name="RecentsManager">
190
+ <key name="MoveFile.RECENT_KEYS">
191
+ <recent name="$PROJECT_DIR$/lib/zip_dsl" />
192
+ <recent name="$PROJECT_DIR$/lib" />
193
+ </key>
194
+ </component>
195
+ <component name="RunManager">
196
+ <configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
197
+ <predefined_log_file id="RUBY_RSPEC" enabled="true" />
198
+ <module name="" />
199
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
200
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
201
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
202
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
203
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
204
+ <envs />
205
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
206
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
207
+ <COVERAGE_PATTERN ENABLED="true">
208
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
209
+ </COVERAGE_PATTERN>
210
+ </EXTENSION>
211
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
212
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
213
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
214
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
215
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
216
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
217
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
218
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
219
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
220
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
221
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
222
+ <method />
223
+ </configuration>
224
+ <configuration default="true" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
225
+ <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
226
+ <module name="" />
227
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
228
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
229
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
230
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
231
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
232
+ <envs />
233
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
234
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
235
+ <COVERAGE_PATTERN ENABLED="true">
236
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
237
+ </COVERAGE_PATTERN>
238
+ </EXTENSION>
239
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
240
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
241
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
242
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
243
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
244
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
245
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
246
+ <method />
247
+ </configuration>
248
+ <list size="0" />
249
+ </component>
250
+ <component name="ShelveChangesManager" show_recycled="false" />
251
+ <component name="ToolWindowManager">
252
+ <frame x="332" y="39" width="1588" height="1058" extended-state="0" />
253
+ <editor active="true" />
254
+ <layout>
255
+ <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.3298647" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
256
+ <window_info id="Changes" 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" />
257
+ <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="-1" side_tool="false" content_ui="tabs" />
258
+ <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" />
259
+ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
260
+ <window_info id="jenkinsBrowser" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
261
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25" sideWeight="0.67013526" order="0" side_tool="false" content_ui="combo" />
262
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
263
+ <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="-1" side_tool="true" content_ui="tabs" />
264
+ <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="-1" side_tool="true" content_ui="tabs" />
265
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
266
+ <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="-1" side_tool="false" content_ui="tabs" />
267
+ <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" />
268
+ <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" />
269
+ <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" />
270
+ <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" />
271
+ <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" />
272
+ <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" />
273
+ <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" />
274
+ </layout>
275
+ </component>
276
+ <component name="VcsContentAnnotationSettings">
277
+ <option name="myLimit" value="2678400000" />
278
+ </component>
279
+ <component name="VcsManagerConfiguration">
280
+ <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
281
+ <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
282
+ <option name="CHECK_NEW_TODO" value="true" />
283
+ <option name="myTodoPanelSettings">
284
+ <value>
285
+ <are-packages-shown value="false" />
286
+ <are-modules-shown value="false" />
287
+ <flatten-packages value="false" />
288
+ <is-autoscroll-to-source value="false" />
289
+ </value>
290
+ </option>
291
+ <option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
292
+ <option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
293
+ <option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
294
+ <option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
295
+ <option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
296
+ <option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
297
+ <option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
298
+ <option name="ENABLE_BACKGROUND_PROCESSES" value="false" />
299
+ <option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
300
+ <option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
301
+ <option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
302
+ <option name="DEFAULT_PATCH_EXTENSION" value="patch" />
303
+ <option name="SHORT_DIFF_HORISONTALLY" value="true" />
304
+ <option name="SHORT_DIFF_EXTRA_LINES" value="2" />
305
+ <option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
306
+ <option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
307
+ <option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
308
+ <option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
309
+ <option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
310
+ <option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
311
+ <option name="CHANGE_DETAILS_ON" value="false" />
312
+ <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
313
+ <option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
314
+ <option name="LAST_COMMIT_MESSAGE" />
315
+ <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
316
+ <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
317
+ <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
318
+ <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
319
+ <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
320
+ <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
321
+ <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
322
+ <option name="ACTIVE_VCS_NAME" />
323
+ <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
324
+ <option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
325
+ <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
326
+ <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
327
+ </component>
328
+ <component name="XDebuggerManager">
329
+ <breakpoint-manager />
330
+ </component>
331
+ <component name="editorHistoryManager">
332
+ <entry file="file://$PROJECT_DIR$/.gitignore">
333
+ <provider selected="true" editor-type-id="text-editor">
334
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
335
+ <folding />
336
+ </state>
337
+ </provider>
338
+ </entry>
339
+ <entry file="file://$PROJECT_DIR$/.rvmrc">
340
+ <provider selected="true" editor-type-id="text-editor">
341
+ <state line="3" column="21" selection-start="78" selection-end="78" vertical-scroll-proportion="0.0">
342
+ <folding />
343
+ </state>
344
+ </provider>
345
+ </entry>
346
+ <entry file="file://$PROJECT_DIR$/README.md">
347
+ <provider selected="true" editor-type-id="text-editor">
348
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
349
+ <folding />
350
+ </state>
351
+ </provider>
352
+ </entry>
353
+ <entry file="file://$PROJECT_DIR$/lib/zip_dsl/version.rb">
354
+ <provider selected="true" editor-type-id="text-editor">
355
+ <state line="1" column="18" selection-start="32" selection-end="32" vertical-scroll-proportion="0.025931928">
356
+ <folding />
357
+ </state>
358
+ </provider>
359
+ </entry>
360
+ <entry file="file://$PROJECT_DIR$/Rakefile">
361
+ <provider selected="true" editor-type-id="text-editor">
362
+ <state line="0" column="19" selection-start="19" selection-end="19" vertical-scroll-proportion="0.0">
363
+ <folding />
364
+ </state>
365
+ </provider>
366
+ </entry>
367
+ <entry file="file://$PROJECT_DIR$/Gemfile">
368
+ <provider selected="true" editor-type-id="text-editor">
369
+ <state line="3" column="20" selection-start="56" selection-end="56" vertical-scroll-proportion="0.0">
370
+ <folding />
371
+ </state>
372
+ </provider>
373
+ </entry>
374
+ <entry file="file://$PROJECT_DIR$/zip_dsl.gemspec.erb">
375
+ <provider selected="true" editor-type-id="text-editor">
376
+ <state line="13" column="40" selection-start="557" selection-end="557" vertical-scroll-proportion="0.35135135">
377
+ <folding />
378
+ </state>
379
+ </provider>
380
+ </entry>
381
+ </component>
382
+ </project>
383
+
data/.idea/zip_dsl.iml ADDED
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$" />
5
+ <orderEntry type="inheritedJdk" />
6
+ <orderEntry type="sourceFolder" forTests="false" />
7
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v1.1.3, RVM: ruby-1.9.3-p194 [meta_methods]) [gem]" level="application" />
8
+ <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.1.3, RVM: ruby-1.9.3-p194 [meta_methods]) [gem]" level="application" />
9
+ <orderEntry type="library" scope="PROVIDED" name="gemcutter (v0.7.1, RVM: ruby-1.9.3-p194 [meta_methods]) [gem]" level="application" />
10
+ <orderEntry type="library" scope="PROVIDED" name="gemspec_deps_gen (v1.0.0, RVM: ruby-1.9.3-p194 [meta_methods]) [gem]" level="application" />
11
+ <orderEntry type="library" scope="PROVIDED" name="metaclass (v0.0.1, RVM: ruby-1.9.3-p194 [meta_methods]) [gem]" level="application" />
12
+ <orderEntry type="library" scope="PROVIDED" name="mocha (v0.10.3, RVM: ruby-1.9.3-p194 [meta_methods]) [gem]" level="application" />
13
+ <orderEntry type="library" scope="PROVIDED" name="rspec (v2.9.0, RVM: ruby-1.9.3-p194 [meta_methods]) [gem]" level="application" />
14
+ <orderEntry type="library" scope="PROVIDED" name="rspec-core (v2.9.0, RVM: ruby-1.9.3-p194 [meta_methods]) [gem]" level="application" />
15
+ <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v2.9.1, RVM: ruby-1.9.3-p194 [meta_methods]) [gem]" level="application" />
16
+ <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v2.9.0, RVM: ruby-1.9.3-p194 [meta_methods]) [gem]" level="application" />
17
+ </component>
18
+ </module>
19
+
data/.rvmrc ADDED
@@ -0,0 +1,4 @@
1
+ rvm_gemset_create_on_use_flag=1
2
+ rvm_pretty_print_flag=1
3
+
4
+ rvm use 1.9.3@zip_dsl
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source :rubygems
2
+
3
+ group :default do
4
+ gem "meta_methods"
5
+ end
6
+
7
+ group :development do
8
+ gem "gemspec_deps_gen"
9
+ gem "gemcutter"
10
+ end
11
+
12
+ group :test do
13
+ gem "rspec", "2.9.0"
14
+ gem "mocha", "0.10.3"
15
+ end
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Alexander Shvets
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,4 @@
1
+ zip_dsl
2
+ =======
3
+
4
+ Library for working with zip file in DSL-way
data/Rakefile ADDED
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env rake
2
+
3
+ $LOAD_PATH.unshift File.expand_path("lib", File.dirname(__FILE__))
4
+
5
+ require "rspec/core/rake_task"
6
+ require "zip_dsl/version"
7
+ require "gemspec_deps_gen/gemspec_deps_gen"
8
+
9
+ def version
10
+ ZipDSL::VERSION
11
+ end
12
+
13
+ def project_name
14
+ File.basename(Dir.pwd)
15
+ end
16
+
17
+ task :build do
18
+ generator = GemspecDepsGen.new
19
+
20
+ generator.generate_dependencies "#{project_name}.gemspec.erb", "#{project_name}.gemspec"
21
+
22
+ system "gem build #{project_name}.gemspec"
23
+ end
24
+
25
+ task :release => :build do
26
+ system "gem push #{project_name}-#{version}.gem"
27
+ end
28
+
29
+ RSpec::Core::RakeTask.new do |task|
30
+ task.pattern = 'spec/**/*_spec.rb'
31
+ task.verbose = false
32
+ end
@@ -0,0 +1,98 @@
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
9
+ @name = name
10
+ end
11
+
12
+ def build(name=nil, &execute_block)
13
+ name = name.nil? ? @name : name
14
+
15
+ name = name.nil? ? @name : name
16
+
17
+ evaluate_dsl(self, nil, execute_block, name)
18
+ end
19
+
20
+ def entry_exist? entry_name
21
+ File.exist? "#@name/#{entry_name}"
22
+ end
23
+
24
+ def entries_size
25
+ list = Dir.glob("#@name/**/*")
26
+
27
+ cnt = 0
28
+ list.each do |name|
29
+ cnt += 1 if File.file?(name)
30
+ end
31
+
32
+ cnt
33
+ end
34
+
35
+ def list dir="."
36
+ list = pattern_to_files "#@name/#{dir}", "**/*"
37
+
38
+ list.each_with_index do |name, index|
39
+ list[index] = name[@name.length+1..-1]
40
+ end
41
+ end
42
+
43
+ def file params
44
+ to_dir = to_dir(params[:name], params[:to_dir])
45
+
46
+ create_directory to_dir
47
+
48
+ write_to_file params[:name], "#{to_dir}/#{File.basename(params[:name])}"
49
+ end
50
+
51
+ def content params
52
+ source = params[:source]
53
+
54
+ stream = source.kind_of?(String) ? StringIO.new(source) : source
55
+ content = stream.read
56
+
57
+ to_dir = to_dir(params[:name], params[:to_dir])
58
+
59
+ create_directory to_dir
60
+
61
+ write_content_to_file content, "#{to_dir}/#{File.basename(params[:name])}"
62
+ end
63
+
64
+ def directory params
65
+ if params[:from_dir].nil?
66
+ create_empty_directory params[:to_dir]
67
+ else
68
+ if params[:to_dir] == "." || params[:to_dir].nil?
69
+ to_dir = "#@name"
70
+ else
71
+ to_dir = "#@name/#{params[:to_dir]}"
72
+ end
73
+
74
+ filter = params[:filter].nil? ? "**/*" : params[:filter]
75
+
76
+ copy_files params[:from_dir], to_dir, filter
77
+ end
78
+ end
79
+
80
+ private
81
+
82
+ def to_dir name, dir
83
+ if dir.nil?
84
+ from_dir = File.dirname(name)
85
+ (from_dir == ".") ? @name : "#@name/#{from_dir}"
86
+ else
87
+ (dir == ".") ? @name : "#@name/#{dir}"
88
+ end
89
+ end
90
+
91
+ def create_empty_directory dir
92
+ to_dir = (dir == ".") ? @name : "#@name/#{dir}"
93
+
94
+ create_directory to_dir
95
+ end
96
+
97
+ end
98
+
@@ -0,0 +1,3 @@
1
+ module ZipDSL
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,46 @@
1
+ require 'zip_writer'
2
+ require 'zip_reader'
3
+ require 'meta_methods'
4
+
5
+ class Zip::DSL
6
+ include MetaMethods
7
+
8
+ def initialize name
9
+ @name = name
10
+ end
11
+
12
+ def build(name=nil, &execute_block)
13
+ name = name.nil? ? @name : name
14
+
15
+ create_block = lambda { Zip::Writer.new(name) }
16
+ destroy_block = lambda {|writer| writer.close }
17
+
18
+ evaluate_dsl(create_block, destroy_block, execute_block)
19
+ end
20
+
21
+ def entry_exist? entry_name
22
+ create_block = lambda { Zip::Reader.new(@name) }
23
+ destroy_block = lambda {|reader| reader.close }
24
+ execute_block = lambda { |reader| reader.entry_exist?(entry_name) }
25
+
26
+ evaluate_dsl(create_block, destroy_block, execute_block)
27
+ end
28
+
29
+ def entries_size
30
+ create_block = lambda { Zip::Reader.new(@name) }
31
+ destroy_block = lambda {|reader| reader.close }
32
+ execute_block = lambda { |reader| reader.entries_size }
33
+
34
+ evaluate_dsl(create_block, destroy_block, execute_block)
35
+ end
36
+
37
+ def list dir="."
38
+ create_block = lambda { Zip::Reader.new(@name) }
39
+ destroy_block = lambda {|reader| reader.close }
40
+ execute_block = lambda { |reader| reader.list(dir) }
41
+
42
+ evaluate_dsl(create_block, destroy_block, execute_block)
43
+ end
44
+
45
+ end
46
+
@@ -0,0 +1,65 @@
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
@@ -0,0 +1,99 @@
1
+ require 'zip/zip'
2
+
3
+ class Zip::Writer
4
+
5
+ def initialize file_name
6
+ @zos = Zip::ZipOutputStream.new(file_name)
7
+
8
+ @compression_level = Zlib::BEST_COMPRESSION
9
+ end
10
+
11
+ def close
12
+ @zos.close
13
+ end
14
+
15
+ def file params
16
+ to_dir = params[:to_dir].nil? ? File.dirname(params[:name]) : strip_dot(params[:to_dir])
17
+
18
+ add_file params[:name], to_dir
19
+ end
20
+
21
+ def content params
22
+ to_dir = params[:to_dir].nil? ? File.dirname(params[:name]) : params[:to_dir]
23
+
24
+ add params[:name], to_dir, params[:source]
25
+ end
26
+
27
+ def directory params
28
+ if params[:from_dir].nil?
29
+ add_empty_directory params[:to_dir]
30
+ else
31
+ if params[:to_dir].nil?
32
+ to_dir = params[:from_dir]
33
+ else
34
+ to_dir = params[:to_dir]
35
+ end
36
+
37
+ filter = params[:filter].nil? ? "**/*" : params[:filter]
38
+
39
+ add_directory params[:from_dir], to_dir, filter
40
+ end
41
+ end
42
+
43
+ private
44
+
45
+ def add_file name, to_dir = nil
46
+ add name, to_dir, File.open(name)
47
+ end
48
+
49
+ def add_directory from_dir, to_dir, filter="**/*"
50
+ patterns = filter.kind_of?(String) ? [filter] : filter
51
+
52
+ patterns.each do |pattern|
53
+ files = pattern_to_files from_dir, pattern
54
+
55
+ files.each do |file_name|
56
+ suffix = File.dirname(file_name)[from_dir.size+1..-1]
57
+ dir = suffix.nil? ? to_dir : "#{to_dir}/#{suffix}"
58
+
59
+ if File.file?(file_name)
60
+ add_file file_name, dir
61
+ end
62
+ end
63
+ end
64
+ end
65
+
66
+ def pattern_to_files dir, pattern
67
+ Dir.glob("#{dir}/#{pattern}")
68
+ end
69
+
70
+ def add_empty_directory(name)
71
+ entry = Zip::ZipStreamableDirectory.new "", "#{name}/"
72
+
73
+ @zos.put_next_entry entry
74
+ end
75
+
76
+ def add name, to_dir, source
77
+ create_new_entry("#{to_dir}/#{File.basename(name)}", source)
78
+ end
79
+
80
+ def create_new_entry(name, source)
81
+ stream = source.kind_of?(String) ? StringIO.new(source) : source
82
+ content = stream.read
83
+
84
+ entry = Zip::ZipEntry.new("", name)
85
+
86
+ @zos.put_next_entry entry, @compression_level
87
+
88
+ @zos.write content
89
+ end
90
+
91
+ def strip_dot name
92
+ if name[name.length-2..-1] == "/."
93
+ name = name[0..name.length-3]
94
+ end
95
+
96
+ name
97
+ end
98
+
99
+ end
@@ -0,0 +1,79 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ require 'directory_builder'
4
+ require 'file_utils/file_utils'
5
+
6
+ describe DirectoryBuilder do
7
+ include FileUtils
8
+
9
+ subject { DirectoryBuilder.new(("build/test")) }
10
+
11
+ before do
12
+ delete_directory "build/test"
13
+ end
14
+
15
+ it "should create new zip file with files at particular folder" do
16
+ subject.build do
17
+ file :name => "Gemfile"
18
+ file :name => "Guardfile", :to_dir => "my_config"
19
+ file :name => "config/boot.rb", :to_dir => "my_config"
20
+ end
21
+
22
+ subject.entry_exist?("Gemfile").should be_true
23
+ subject.entry_exist?("my_config/Guardfile").should be_true
24
+ subject.entry_exist?("my_config/boot.rb").should be_true
25
+
26
+ subject.entries_size.should == 3
27
+ end
28
+
29
+ it "should create new zip file with file created from string" do
30
+ subject.build do
31
+ content :name => "README", :source => "My README file content"
32
+ end
33
+
34
+ subject.entry_exist?("README").should be_true
35
+ subject.entries_size.should == 1
36
+ end
37
+
38
+ it "should create new zip file with file created from file" do
39
+ subject.build do
40
+ content :name => "Rakefile", :source => File.open("Rakefile")
41
+ end
42
+
43
+ subject.entry_exist?("Rakefile").should be_true
44
+ subject.entries_size.should == 1
45
+ end
46
+
47
+ it "should create new zip file with new empty folder" do
48
+ subject.build do
49
+ directory :to_dir => "my_config"
50
+ end
51
+
52
+ subject.entry_exist?("my_config").should be_true
53
+ end
54
+
55
+ it "should create new zip file with new folder" do
56
+ subject.build do
57
+ directory :from_dir => "config", :to_dir => "my_config"
58
+ end
59
+
60
+ subject.entry_exist?("my_config").should be_true
61
+ end
62
+
63
+ it "should display files in specified directory" do
64
+ subject.build do
65
+ directory :from_dir => "config"
66
+ end
67
+
68
+ subject.list.first.should =~ %r{app}
69
+ end
70
+
71
+ it "should display files in specified subdirectory" do
72
+ subject.build do
73
+ directory :from_dir => "config"
74
+ end
75
+
76
+ subject.list("environments").first.should =~ %r{environments/development.rb}
77
+ end
78
+
79
+ end
@@ -0,0 +1 @@
1
+ $: << File.expand_path(File.dirname(__FILE__) + '/../lib')
@@ -0,0 +1,73 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ require 'zip_dsl'
4
+
5
+ describe Zip::DSL do
6
+ subject { Zip::DSL.new "test.zip" }
7
+
8
+ it "should create new zip file with files at particular folder" do
9
+ subject.build("test.zip") do
10
+ file :name => "Gemfile"
11
+ file :name => "Guardfile", :to_dir => "my_config"
12
+ file :name => "config/boot.rb", :to_dir => "my_config"
13
+ end
14
+
15
+ subject.entry_exist?("Gemfile").should be_true
16
+ subject.entry_exist?("my_config/Guardfile").should be_true
17
+ subject.entry_exist?("my_config/boot.rb").should be_true
18
+
19
+ subject.entries_size.should == 3
20
+ end
21
+
22
+ it "should create new zip file with file created from string" do
23
+ subject.build do
24
+ content :name => "README", :source => "My README file content"
25
+ end
26
+
27
+ subject.entry_exist?("README").should be_true
28
+ subject.entries_size.should == 1
29
+ end
30
+
31
+ it "should create new zip file with file created from file" do
32
+ subject.build do
33
+ content :name => "Rakefile", :source => File.open("Rakefile")
34
+ end
35
+
36
+ subject.entry_exist?("Rakefile").should be_true
37
+ subject.entries_size.should == 1
38
+ end
39
+
40
+ it "should create new zip file with new empty folder" do
41
+ subject.build do
42
+ directory :to_dir => "my_config"
43
+ end
44
+
45
+ subject.entry_exist?("my_config").should be_true
46
+ subject.entries_size.should == 1
47
+ end
48
+
49
+ it "should create new zip file with new folder" do
50
+ subject.build do
51
+ directory :from_dir => "config", :to_dir => "my_config"
52
+ end
53
+
54
+ subject.entry_exist?("my_config").should be_true
55
+ subject.entries_size.should > 1
56
+ end
57
+
58
+ it "should display files in specified directory" do
59
+ subject.build do
60
+ directory :from_dir => "config"
61
+ end
62
+
63
+ subject.list.first.should == "config/application.rb"
64
+ end
65
+
66
+ it "should display files in specified subdirectory" do
67
+ subject.build do
68
+ directory :from_dir => "config"
69
+ end
70
+
71
+ subject.list("config/environments").first.should =~ %r{config/environments/development.rb}
72
+ end
73
+ end
data/zip_dsl.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require File.expand_path(File.dirname(__FILE__) + '/lib/zip_dsl/version')
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "zip_dsl"
7
+ spec.summary = %q{Library for working with zip file in DSL-way }
8
+ spec.description = %q{Library for working with zip file in DSL-way }
9
+ spec.email = "alexander.shvets@gmail.com"
10
+ spec.authors = ["Alexander Shvets"]
11
+ spec.homepage = "http://github.com/shvets/zip_dsl"
12
+
13
+ spec.files = `git ls-files`.split($\)
14
+ #spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
15
+ #gemspec.bindir = "bin"
16
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
+ spec.require_paths = ["lib"]
18
+ spec.version = ZipDSL::VERSION
19
+
20
+ spec.add_runtime_dependency "meta_methods", [">= 0"]
21
+ spec.add_development_dependency "gemspec_deps_gen", [">= 0"]
22
+ spec.add_development_dependency "gemcutter", [">= 0"]
23
+
24
+ end
25
+
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require File.expand_path(File.dirname(__FILE__) + '/lib/zip_dsl/version')
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "zip_dsl"
7
+ spec.summary = %q{Library for working with zip file in DSL-way }
8
+ spec.description = %q{Library for working with zip file in DSL-way }
9
+ spec.email = "alexander.shvets@gmail.com"
10
+ spec.authors = ["Alexander Shvets"]
11
+ spec.homepage = "http://github.com/shvets/zip_dsl"
12
+
13
+ spec.files = `git ls-files`.split($\)
14
+ #spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
15
+ #gemspec.bindir = "bin"
16
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
+ spec.require_paths = ["lib"]
18
+ spec.version = ZipDSL::VERSION
19
+
20
+ <%= include_dependencies %>
21
+ end
22
+
metadata ADDED
@@ -0,0 +1,121 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zip_dsl
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Alexander Shvets
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-06-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: meta_methods
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: gemspec_deps_gen
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: gemcutter
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: ! 'Library for working with zip file in DSL-way '
63
+ email: alexander.shvets@gmail.com
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - .gitignore
69
+ - .idea/.name
70
+ - .idea/.rakeTasks
71
+ - .idea/cssxfire.xml
72
+ - .idea/encodings.xml
73
+ - .idea/misc.xml
74
+ - .idea/modules.xml
75
+ - .idea/scopes/scope_settings.xml
76
+ - .idea/vcs.xml
77
+ - .idea/workspace.xml
78
+ - .idea/zip_dsl.iml
79
+ - .rvmrc
80
+ - Gemfile
81
+ - LICENSE
82
+ - README.md
83
+ - Rakefile
84
+ - lib/directory_builder.rb
85
+ - lib/zip_dsl/version.rb
86
+ - lib/zip_dsl/zip_dsl.rb
87
+ - lib/zip_dsl/zip_reader.rb
88
+ - lib/zip_dsl/zip_writer.rb
89
+ - spec/directory_builder_spec.rb
90
+ - spec/spec_helper.rb
91
+ - spec/zip_builder_spec.rb
92
+ - zip_dsl.gemspec
93
+ - zip_dsl.gemspec.erb
94
+ homepage: http://github.com/shvets/zip_dsl
95
+ licenses: []
96
+ post_install_message:
97
+ rdoc_options: []
98
+ require_paths:
99
+ - lib
100
+ required_ruby_version: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubyforge_project:
114
+ rubygems_version: 1.8.23
115
+ signing_key:
116
+ specification_version: 3
117
+ summary: Library for working with zip file in DSL-way
118
+ test_files:
119
+ - spec/directory_builder_spec.rb
120
+ - spec/spec_helper.rb
121
+ - spec/zip_builder_spec.rb