tsundere 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.idea/.name +1 -0
- data/.idea/.rakeTasks +7 -0
- data/.idea/encodings.xml +5 -0
- data/.idea/misc.xml +22 -0
- data/.idea/modules.xml +9 -0
- data/.idea/scopes/scope_settings.xml +5 -0
- data/.idea/tsundere.iml +15 -0
- data/.idea/vcs.xml +7 -0
- data/.idea/workspace.xml +268 -0
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/lib/tsundere/array.rb +11 -3
- data/lib/tsundere/class_methods.rb +0 -5
- data/spec/array_spec.rb +31 -19
- data/tsundere.gemspec +13 -4
- metadata +14 -4
data/.idea/.name
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tsundere
|
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>
|
data/.idea/encodings.xml
ADDED
data/.idea/misc.xml
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
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.2-p180 [global]" project-jdk-type="RUBY_SDK" />
|
|
4
|
+
<component name="SvnConfiguration" maxAnnotateRevisions="500">
|
|
5
|
+
<option name="USER" value="" />
|
|
6
|
+
<option name="PASSWORD" value="" />
|
|
7
|
+
<option name="mySSHConnectionTimeout" value="30000" />
|
|
8
|
+
<option name="mySSHReadTimeout" value="30000" />
|
|
9
|
+
<option name="LAST_MERGED_REVISION" />
|
|
10
|
+
<option name="MERGE_DRY_RUN" value="false" />
|
|
11
|
+
<option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
|
|
12
|
+
<option name="UPDATE_LOCK_ON_DEMAND" value="false" />
|
|
13
|
+
<option name="IGNORE_SPACES_IN_MERGE" value="false" />
|
|
14
|
+
<option name="DETECT_NESTED_COPIES" value="true" />
|
|
15
|
+
<option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
|
|
16
|
+
<option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
|
|
17
|
+
<option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
|
|
18
|
+
<option name="FORCE_UPDATE" value="false" />
|
|
19
|
+
<myIsUseDefaultProxy>false</myIsUseDefaultProxy>
|
|
20
|
+
</component>
|
|
21
|
+
</project>
|
|
22
|
+
|
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/tsundere.iml" filepath="$PROJECT_DIR$/.idea/tsundere.iml" />
|
|
6
|
+
</modules>
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
|
9
|
+
|
data/.idea/tsundere.iml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
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.4, RVM: ruby-1.9.2-p180 [global]) [gem]" level="application" />
|
|
8
|
+
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.1.3, RVM: ruby-1.9.2-p180 [global]) [gem]" level="application" />
|
|
9
|
+
<orderEntry type="library" scope="PROVIDED" name="i18n (v0.6.1, RVM: ruby-1.9.2-p180 [global]) [gem]" level="application" />
|
|
10
|
+
<orderEntry type="library" scope="PROVIDED" name="json (v1.7.5, RVM: ruby-1.9.2-p180 [global]) [gem]" level="application" />
|
|
11
|
+
<orderEntry type="library" scope="PROVIDED" name="metaclass (v0.0.1, RVM: ruby-1.9.2-p180 [global]) [gem]" level="application" />
|
|
12
|
+
<orderEntry type="library" scope="PROVIDED" name="rdoc (v3.12, RVM: ruby-1.9.2-p180 [global]) [gem]" level="application" />
|
|
13
|
+
</component>
|
|
14
|
+
</module>
|
|
15
|
+
|
data/.idea/vcs.xml
ADDED
data/.idea/workspace.xml
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ChangeListManager">
|
|
4
|
+
<list default="true" id="876e5741-713c-410f-86c2-71f50d2d32cf" name="Default" comment="">
|
|
5
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/tsundere/array.rb" afterPath="$PROJECT_DIR$/lib/tsundere/array.rb" />
|
|
6
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/spec/array_spec.rb" afterPath="$PROJECT_DIR$/spec/array_spec.rb" />
|
|
7
|
+
</list>
|
|
8
|
+
<ignored path="tsundere.iws" />
|
|
9
|
+
<ignored path=".idea/workspace.xml" />
|
|
10
|
+
<option name="TRACKING_ENABLED" value="true" />
|
|
11
|
+
<option name="SHOW_DIALOG" value="false" />
|
|
12
|
+
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
13
|
+
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
14
|
+
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
15
|
+
</component>
|
|
16
|
+
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
|
|
17
|
+
<component name="CreatePatchCommitExecutor">
|
|
18
|
+
<option name="PATCH_PATH" value="" />
|
|
19
|
+
</component>
|
|
20
|
+
<component name="DaemonCodeAnalyzer">
|
|
21
|
+
<disable_hints />
|
|
22
|
+
</component>
|
|
23
|
+
<component name="FavoritesManager">
|
|
24
|
+
<favorites_list name="tsundere" />
|
|
25
|
+
</component>
|
|
26
|
+
<component name="FileEditorManager">
|
|
27
|
+
<leaf>
|
|
28
|
+
<file leaf-file-name="array_spec.rb" pinned="false" current="false" current-in-tab="false">
|
|
29
|
+
<entry file="file://$PROJECT_DIR$/spec/array_spec.rb">
|
|
30
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
31
|
+
<state line="58" column="35" selection-start="1661" selection-end="1661" vertical-scroll-proportion="0.0">
|
|
32
|
+
<folding />
|
|
33
|
+
</state>
|
|
34
|
+
</provider>
|
|
35
|
+
</entry>
|
|
36
|
+
</file>
|
|
37
|
+
<file leaf-file-name="array.rb" pinned="false" current="true" current-in-tab="true">
|
|
38
|
+
<entry file="file://$PROJECT_DIR$/lib/tsundere/array.rb">
|
|
39
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
40
|
+
<state line="50" column="36" selection-start="1318" selection-end="1318" vertical-scroll-proportion="0.10764872">
|
|
41
|
+
<folding />
|
|
42
|
+
</state>
|
|
43
|
+
</provider>
|
|
44
|
+
</entry>
|
|
45
|
+
</file>
|
|
46
|
+
</leaf>
|
|
47
|
+
</component>
|
|
48
|
+
<component name="Git.Settings">
|
|
49
|
+
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
50
|
+
</component>
|
|
51
|
+
<component name="IdeDocumentHistory">
|
|
52
|
+
<option name="changedFiles">
|
|
53
|
+
<list>
|
|
54
|
+
<option value="$PROJECT_DIR$/spec/array_spec.rb" />
|
|
55
|
+
<option value="$PROJECT_DIR$/lib/tsundere/array.rb" />
|
|
56
|
+
</list>
|
|
57
|
+
</option>
|
|
58
|
+
</component>
|
|
59
|
+
<component name="ProjectFrameBounds">
|
|
60
|
+
<option name="y" value="58" />
|
|
61
|
+
<option name="width" value="1271" />
|
|
62
|
+
<option name="height" value="664" />
|
|
63
|
+
</component>
|
|
64
|
+
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
|
|
65
|
+
<OptionsSetting value="true" id="Add" />
|
|
66
|
+
<OptionsSetting value="true" id="Remove" />
|
|
67
|
+
<OptionsSetting value="true" id="Checkout" />
|
|
68
|
+
<OptionsSetting value="true" id="Update" />
|
|
69
|
+
<OptionsSetting value="true" id="Status" />
|
|
70
|
+
<OptionsSetting value="true" id="Edit" />
|
|
71
|
+
<ConfirmationsSetting value="0" id="Add" />
|
|
72
|
+
<ConfirmationsSetting value="0" id="Remove" />
|
|
73
|
+
</component>
|
|
74
|
+
<component name="ProjectReloadState">
|
|
75
|
+
<option name="STATE" value="0" />
|
|
76
|
+
</component>
|
|
77
|
+
<component name="ProjectView">
|
|
78
|
+
<navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
|
|
79
|
+
<flattenPackages />
|
|
80
|
+
<showMembers />
|
|
81
|
+
<showModules />
|
|
82
|
+
<showLibraryContents />
|
|
83
|
+
<hideEmptyPackages />
|
|
84
|
+
<abbreviatePackageNames />
|
|
85
|
+
<autoscrollToSource />
|
|
86
|
+
<autoscrollFromSource />
|
|
87
|
+
<sortByType />
|
|
88
|
+
</navigator>
|
|
89
|
+
<panes>
|
|
90
|
+
<pane id="ProjectPane">
|
|
91
|
+
<subPane>
|
|
92
|
+
<PATH>
|
|
93
|
+
<PATH_ELEMENT>
|
|
94
|
+
<option name="myItemId" value="tsundere" />
|
|
95
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
96
|
+
</PATH_ELEMENT>
|
|
97
|
+
</PATH>
|
|
98
|
+
<PATH>
|
|
99
|
+
<PATH_ELEMENT>
|
|
100
|
+
<option name="myItemId" value="tsundere" />
|
|
101
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
102
|
+
</PATH_ELEMENT>
|
|
103
|
+
<PATH_ELEMENT>
|
|
104
|
+
<option name="myItemId" value="tsundere" />
|
|
105
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
106
|
+
</PATH_ELEMENT>
|
|
107
|
+
</PATH>
|
|
108
|
+
<PATH>
|
|
109
|
+
<PATH_ELEMENT>
|
|
110
|
+
<option name="myItemId" value="tsundere" />
|
|
111
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
112
|
+
</PATH_ELEMENT>
|
|
113
|
+
<PATH_ELEMENT>
|
|
114
|
+
<option name="myItemId" value="tsundere" />
|
|
115
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
116
|
+
</PATH_ELEMENT>
|
|
117
|
+
<PATH_ELEMENT>
|
|
118
|
+
<option name="myItemId" value="spec" />
|
|
119
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
120
|
+
</PATH_ELEMENT>
|
|
121
|
+
</PATH>
|
|
122
|
+
<PATH>
|
|
123
|
+
<PATH_ELEMENT>
|
|
124
|
+
<option name="myItemId" value="tsundere" />
|
|
125
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
126
|
+
</PATH_ELEMENT>
|
|
127
|
+
<PATH_ELEMENT>
|
|
128
|
+
<option name="myItemId" value="tsundere" />
|
|
129
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
130
|
+
</PATH_ELEMENT>
|
|
131
|
+
<PATH_ELEMENT>
|
|
132
|
+
<option name="myItemId" value="lib" />
|
|
133
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
134
|
+
</PATH_ELEMENT>
|
|
135
|
+
</PATH>
|
|
136
|
+
<PATH>
|
|
137
|
+
<PATH_ELEMENT>
|
|
138
|
+
<option name="myItemId" value="tsundere" />
|
|
139
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
|
140
|
+
</PATH_ELEMENT>
|
|
141
|
+
<PATH_ELEMENT>
|
|
142
|
+
<option name="myItemId" value="tsundere" />
|
|
143
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
144
|
+
</PATH_ELEMENT>
|
|
145
|
+
<PATH_ELEMENT>
|
|
146
|
+
<option name="myItemId" value="lib" />
|
|
147
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
148
|
+
</PATH_ELEMENT>
|
|
149
|
+
<PATH_ELEMENT>
|
|
150
|
+
<option name="myItemId" value="tsundere" />
|
|
151
|
+
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
|
152
|
+
</PATH_ELEMENT>
|
|
153
|
+
</PATH>
|
|
154
|
+
</subPane>
|
|
155
|
+
</pane>
|
|
156
|
+
<pane id="Scope" />
|
|
157
|
+
</panes>
|
|
158
|
+
</component>
|
|
159
|
+
<component name="PropertiesComponent">
|
|
160
|
+
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
161
|
+
</component>
|
|
162
|
+
<component name="RunManager">
|
|
163
|
+
<list size="0" />
|
|
164
|
+
</component>
|
|
165
|
+
<component name="ShelveChangesManager" show_recycled="false" />
|
|
166
|
+
<component name="TaskManager">
|
|
167
|
+
<task active="true" id="Default" summary="Default task">
|
|
168
|
+
<created>1355268031085</created>
|
|
169
|
+
<updated>1355268031085</updated>
|
|
170
|
+
</task>
|
|
171
|
+
<servers />
|
|
172
|
+
</component>
|
|
173
|
+
<component name="ToolWindowManager">
|
|
174
|
+
<frame x="0" y="58" width="1271" height="664" extended-state="0" />
|
|
175
|
+
<editor active="true" />
|
|
176
|
+
<layout>
|
|
177
|
+
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.329806" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
|
178
|
+
<window_info id="Data Sources" 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" />
|
|
179
|
+
<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" />
|
|
180
|
+
<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" />
|
|
181
|
+
<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" />
|
|
182
|
+
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24938676" sideWeight="0.67019403" order="0" side_tool="false" content_ui="combo" />
|
|
183
|
+
<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" />
|
|
184
|
+
<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" />
|
|
185
|
+
<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" />
|
|
186
|
+
<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" />
|
|
187
|
+
<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" />
|
|
188
|
+
<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" />
|
|
189
|
+
<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" />
|
|
190
|
+
<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" />
|
|
191
|
+
<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" />
|
|
192
|
+
<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" />
|
|
193
|
+
<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" />
|
|
194
|
+
<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" />
|
|
195
|
+
</layout>
|
|
196
|
+
</component>
|
|
197
|
+
<component name="VcsContentAnnotationSettings">
|
|
198
|
+
<option name="myLimit" value="2678400000" />
|
|
199
|
+
</component>
|
|
200
|
+
<component name="VcsManagerConfiguration">
|
|
201
|
+
<option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
|
|
202
|
+
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
|
|
203
|
+
<option name="CHECK_NEW_TODO" value="true" />
|
|
204
|
+
<option name="myTodoPanelSettings">
|
|
205
|
+
<value>
|
|
206
|
+
<are-packages-shown value="false" />
|
|
207
|
+
<are-modules-shown value="false" />
|
|
208
|
+
<flatten-packages value="false" />
|
|
209
|
+
<is-autoscroll-to-source value="false" />
|
|
210
|
+
</value>
|
|
211
|
+
</option>
|
|
212
|
+
<option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
|
|
213
|
+
<option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
|
|
214
|
+
<option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
|
|
215
|
+
<option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
|
|
216
|
+
<option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
|
|
217
|
+
<option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
|
|
218
|
+
<option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
|
|
219
|
+
<option name="ENABLE_BACKGROUND_PROCESSES" value="false" />
|
|
220
|
+
<option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
|
|
221
|
+
<option name="SHOW_ONLY_CHANGED_IN_SELECTION_DIFF" value="true" />
|
|
222
|
+
<option name="CHECK_COMMIT_MESSAGE_SPELLING" value="true" />
|
|
223
|
+
<option name="DEFAULT_PATCH_EXTENSION" value="patch" />
|
|
224
|
+
<option name="SHORT_DIFF_HORISONTALLY" value="true" />
|
|
225
|
+
<option name="SHORT_DIFF_EXTRA_LINES" value="2" />
|
|
226
|
+
<option name="SOFT_WRAPS_IN_SHORT_DIFF" value="true" />
|
|
227
|
+
<option name="INCLUDE_TEXT_INTO_PATCH" value="false" />
|
|
228
|
+
<option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
|
|
229
|
+
<option name="CREATE_PATCH_EXPAND_DETAILS_DEFAULT" value="true" />
|
|
230
|
+
<option name="SHOW_FILE_HISTORY_DETAILS" value="true" />
|
|
231
|
+
<option name="SHOW_VCS_ERROR_NOTIFICATIONS" value="true" />
|
|
232
|
+
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
|
|
233
|
+
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
|
|
234
|
+
<option name="LAST_COMMIT_MESSAGE" />
|
|
235
|
+
<option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
|
|
236
|
+
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
|
|
237
|
+
<option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
|
|
238
|
+
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
|
|
239
|
+
<option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
|
|
240
|
+
<option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
|
|
241
|
+
<option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
|
|
242
|
+
<option name="ACTIVE_VCS_NAME" />
|
|
243
|
+
<option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
|
|
244
|
+
<option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
|
|
245
|
+
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
|
246
|
+
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
|
247
|
+
</component>
|
|
248
|
+
<component name="XDebuggerManager">
|
|
249
|
+
<breakpoint-manager />
|
|
250
|
+
</component>
|
|
251
|
+
<component name="editorHistoryManager">
|
|
252
|
+
<entry file="file://$PROJECT_DIR$/spec/array_spec.rb">
|
|
253
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
254
|
+
<state line="58" column="35" selection-start="1661" selection-end="1661" vertical-scroll-proportion="0.0">
|
|
255
|
+
<folding />
|
|
256
|
+
</state>
|
|
257
|
+
</provider>
|
|
258
|
+
</entry>
|
|
259
|
+
<entry file="file://$PROJECT_DIR$/lib/tsundere/array.rb">
|
|
260
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
261
|
+
<state line="50" column="36" selection-start="1318" selection-end="1318" vertical-scroll-proportion="0.10764872">
|
|
262
|
+
<folding />
|
|
263
|
+
</state>
|
|
264
|
+
</provider>
|
|
265
|
+
</entry>
|
|
266
|
+
</component>
|
|
267
|
+
</project>
|
|
268
|
+
|
data/Rakefile
CHANGED
|
@@ -17,10 +17,10 @@ Jeweler::Tasks.new do |gem|
|
|
|
17
17
|
gem.name = "tsundere"
|
|
18
18
|
gem.homepage = "http://github.com/foxnewsnetwork/tsundere"
|
|
19
19
|
gem.license = "MIT"
|
|
20
|
-
gem.summary = %Q{object buffer for graceful
|
|
20
|
+
gem.summary = %Q{object buffer for graceful management of permission}
|
|
21
21
|
gem.description = %Q{Any given object can implement the tsundere interface. Once implemented, a tsundere object will behave differently based upon who is calling it.}
|
|
22
22
|
gem.email = "foxnewsnetwork@gmail.com"
|
|
23
|
-
gem.authors = ["Thomas Chen"]
|
|
23
|
+
gem.authors = ["Thomas Chen", "Trevor Umeda"]
|
|
24
24
|
# dependencies defined in Gemfile
|
|
25
25
|
end
|
|
26
26
|
Jeweler::RubygemsDotOrgTasks.new
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.1
|
data/lib/tsundere/array.rb
CHANGED
|
@@ -39,14 +39,22 @@ class Array
|
|
|
39
39
|
def p_bisearch_internal s, f, target, right_flag, &eq
|
|
40
40
|
|
|
41
41
|
mid = (f + s)/ 2
|
|
42
|
-
|
|
42
|
+
#small base case
|
|
43
|
+
if f == s
|
|
44
|
+
if yield( target , self[f]) > 0
|
|
45
|
+
return f+1
|
|
46
|
+
else
|
|
47
|
+
return f
|
|
48
|
+
end
|
|
49
|
+
end
|
|
43
50
|
return s if count < 2
|
|
44
51
|
result = yield target, self[mid]
|
|
45
52
|
return mid if 0 == result
|
|
46
53
|
if s + 1 == f
|
|
47
54
|
if right_flag
|
|
48
|
-
return s if yield(target, self[s]) <= 0 # target == self[s] or target < self[s]
|
|
49
|
-
return f
|
|
55
|
+
return s if yield(target, self[s]) <= 0 # target == self[s] or target < self[s]
|
|
56
|
+
return f if yield(target,self[f]) <= 0
|
|
57
|
+
return f+1
|
|
50
58
|
else
|
|
51
59
|
return f if yield(target, self[f]) >= 0 # target == self[f] or target > self[f]
|
|
52
60
|
return s
|
|
@@ -36,11 +36,6 @@ module Tsundere
|
|
|
36
36
|
perm.each do |key, lvl|
|
|
37
37
|
@rank_table[key] = lvl
|
|
38
38
|
|
|
39
|
-
# FIXME: We really should not have to call sort here,
|
|
40
|
-
# but for some reason the tree isn't being constructed
|
|
41
|
-
# properly (i.e. the test won't pass), so I decided to
|
|
42
|
-
# just say "fuck it" and put in a sort sort
|
|
43
|
-
warn "FixMe: Take out this godawful sort from this insert by fixing the array extension and passing the array_spec"
|
|
44
39
|
ind = permission_table[type][:array].binary_search_raw([lvl, attributes]) { |a1, a2| a1.first <=> a2.first }
|
|
45
40
|
permission_table[type][:array].insert(ind, [lvl, attributes]).sort! { |a1, a2| a1.first <=> a2.first }
|
|
46
41
|
end # each perm
|
data/spec/array_spec.rb
CHANGED
|
@@ -1,59 +1,71 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
|
-
require 'debugger'
|
|
2
|
+
#require 'debugger'
|
|
3
3
|
describe Array do
|
|
4
|
-
describe "binary search raw" do
|
|
5
|
-
before :each do
|
|
4
|
+
describe "binary search raw" do
|
|
5
|
+
before :each do
|
|
6
6
|
@array = [0,1,2,3,4,5,6,7,8,9]
|
|
7
7
|
end # each
|
|
8
8
|
10.times do |n|
|
|
9
|
-
it "should have decent coverage #{n}" do
|
|
9
|
+
it "should have decent coverage #{n}" do
|
|
10
10
|
@array.binary_search_raw(n).should eq n
|
|
11
11
|
end # it
|
|
12
|
-
it "should have decent coverage #{n} lean left" do
|
|
12
|
+
it "should have decent coverage #{n} lean left" do
|
|
13
13
|
@array.binary_search_raw(n, :left => true).should eq n
|
|
14
14
|
end # it
|
|
15
|
-
it "should given #{n-0.5}
|
|
15
|
+
it "should, given #{n-0.5}, get index #{n}" do
|
|
16
16
|
# debugger
|
|
17
17
|
@array.binary_search_raw(n - 0.5).should eq n
|
|
18
18
|
end # it
|
|
19
|
-
it "should given #{n+0.5}
|
|
19
|
+
it "should, given #{n+0.5}, get index #{n}, with left preference" do
|
|
20
20
|
# debugger
|
|
21
21
|
@array.binary_search_raw(n + 0.5, :left => true).should eq n
|
|
22
22
|
end # it
|
|
23
23
|
end # each n
|
|
24
|
-
|
|
25
|
-
it "should handle the empty array" do
|
|
24
|
+
|
|
25
|
+
it "should handle the empty array" do
|
|
26
26
|
[].binary_search_raw(4).should eq 0
|
|
27
27
|
end # it
|
|
28
|
-
it "should handle odd input" do
|
|
28
|
+
it "should handle odd input" do
|
|
29
29
|
@array.binary_search_raw(-1).should eq 0
|
|
30
30
|
end # it
|
|
31
|
-
it "should handle odd input on the big end " do
|
|
32
|
-
@array.binary_search_raw(11).should eq
|
|
31
|
+
it "should handle odd input on the big end " do
|
|
32
|
+
@array.binary_search_raw(11).should eq 10
|
|
33
33
|
end # it
|
|
34
34
|
|
|
35
|
-
it "should handle the empty array left" do
|
|
35
|
+
it "should handle the empty array left" do
|
|
36
36
|
[].binary_search_raw(4, :left => true).should eq 0
|
|
37
37
|
end # it
|
|
38
|
-
it "should handle odd input left" do
|
|
38
|
+
it "should handle odd input left" do
|
|
39
39
|
@array.binary_search_raw(-1, :left => true).should eq 0
|
|
40
40
|
end # it
|
|
41
|
-
it "should handle odd input on the big end left" do
|
|
41
|
+
it "should handle odd input on the big end left" do
|
|
42
42
|
@array.binary_search_raw(11, :left => true).should eq 9
|
|
43
43
|
end # it
|
|
44
44
|
end # bsr
|
|
45
45
|
|
|
46
|
-
describe "construction" do
|
|
47
|
-
|
|
46
|
+
describe "construction" do
|
|
47
|
+
it "should construct an ordered array" do
|
|
48
48
|
@array = []
|
|
49
49
|
10.times do
|
|
50
50
|
val = rand(100)
|
|
51
51
|
ind = @array.binary_search_raw(val)
|
|
52
52
|
@array.insert(ind, val)
|
|
53
53
|
end # 10 times
|
|
54
|
-
|
|
54
|
+
|
|
55
55
|
@array.count.should eq 10
|
|
56
56
|
@array.should eq @array.sort
|
|
57
|
-
|
|
57
|
+
end # it
|
|
58
|
+
it "should pass this random test" do
|
|
59
|
+
@array = []
|
|
60
|
+
val = 26
|
|
61
|
+
val2 = 9
|
|
62
|
+
ind = @array.binary_search_raw(val)
|
|
63
|
+
@array.insert(ind,val)
|
|
64
|
+
ind2 = @array.binary_search_raw(val2)
|
|
65
|
+
|
|
66
|
+
@array.insert(ind2,val2)
|
|
67
|
+
@array.should eq @array.sort
|
|
68
|
+
|
|
69
|
+
end
|
|
58
70
|
end # construction
|
|
59
71
|
end # Array
|
data/tsundere.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "tsundere"
|
|
8
|
-
s.version = "0.1.
|
|
8
|
+
s.version = "0.1.1"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
|
-
s.authors = ["Thomas Chen"]
|
|
12
|
-
s.date = "2012-12-
|
|
11
|
+
s.authors = ["Thomas Chen", "Trevor Umeda"]
|
|
12
|
+
s.date = "2012-12-12"
|
|
13
13
|
s.description = "Any given object can implement the tsundere interface. Once implemented, a tsundere object will behave differently based upon who is calling it."
|
|
14
14
|
s.email = "foxnewsnetwork@gmail.com"
|
|
15
15
|
s.extra_rdoc_files = [
|
|
@@ -18,6 +18,15 @@ Gem::Specification.new do |s|
|
|
|
18
18
|
]
|
|
19
19
|
s.files = [
|
|
20
20
|
".document",
|
|
21
|
+
".idea/.name",
|
|
22
|
+
".idea/.rakeTasks",
|
|
23
|
+
".idea/encodings.xml",
|
|
24
|
+
".idea/misc.xml",
|
|
25
|
+
".idea/modules.xml",
|
|
26
|
+
".idea/scopes/scope_settings.xml",
|
|
27
|
+
".idea/tsundere.iml",
|
|
28
|
+
".idea/vcs.xml",
|
|
29
|
+
".idea/workspace.xml",
|
|
21
30
|
".rspec",
|
|
22
31
|
"Gemfile",
|
|
23
32
|
"Gemfile.lock",
|
|
@@ -43,7 +52,7 @@ Gem::Specification.new do |s|
|
|
|
43
52
|
s.licenses = ["MIT"]
|
|
44
53
|
s.require_paths = ["lib"]
|
|
45
54
|
s.rubygems_version = "1.8.24"
|
|
46
|
-
s.summary = "object buffer for graceful
|
|
55
|
+
s.summary = "object buffer for graceful management of permission"
|
|
47
56
|
|
|
48
57
|
if s.respond_to? :specification_version then
|
|
49
58
|
s.specification_version = 3
|
metadata
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tsundere
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
8
8
|
- Thomas Chen
|
|
9
|
+
- Trevor Umeda
|
|
9
10
|
autorequire:
|
|
10
11
|
bindir: bin
|
|
11
12
|
cert_chain: []
|
|
12
|
-
date: 2012-12-
|
|
13
|
+
date: 2012-12-12 00:00:00.000000000 Z
|
|
13
14
|
dependencies:
|
|
14
15
|
- !ruby/object:Gem::Dependency
|
|
15
16
|
name: debugger
|
|
@@ -117,6 +118,15 @@ extra_rdoc_files:
|
|
|
117
118
|
- README.markdown
|
|
118
119
|
files:
|
|
119
120
|
- .document
|
|
121
|
+
- .idea/.name
|
|
122
|
+
- .idea/.rakeTasks
|
|
123
|
+
- .idea/encodings.xml
|
|
124
|
+
- .idea/misc.xml
|
|
125
|
+
- .idea/modules.xml
|
|
126
|
+
- .idea/scopes/scope_settings.xml
|
|
127
|
+
- .idea/tsundere.iml
|
|
128
|
+
- .idea/vcs.xml
|
|
129
|
+
- .idea/workspace.xml
|
|
120
130
|
- .rspec
|
|
121
131
|
- Gemfile
|
|
122
132
|
- Gemfile.lock
|
|
@@ -152,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
152
162
|
version: '0'
|
|
153
163
|
segments:
|
|
154
164
|
- 0
|
|
155
|
-
hash:
|
|
165
|
+
hash: -1940936912137567815
|
|
156
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
167
|
none: false
|
|
158
168
|
requirements:
|
|
@@ -164,5 +174,5 @@ rubyforge_project:
|
|
|
164
174
|
rubygems_version: 1.8.24
|
|
165
175
|
signing_key:
|
|
166
176
|
specification_version: 3
|
|
167
|
-
summary: object buffer for graceful
|
|
177
|
+
summary: object buffer for graceful management of permission
|
|
168
178
|
test_files: []
|