scoped_enum 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5159e4ac65cf83a0afaa1dcf1d3fb57ea9a2e837
4
- data.tar.gz: 08ce187b094fe2d43f3fd1c9836b1a58f4b5d7be
3
+ metadata.gz: 5c49266150dc34892249e31801bb0c741982454f
4
+ data.tar.gz: ecf2990bc35cb1561adccaba05cefe1a87c61356
5
5
  SHA512:
6
- metadata.gz: 4a9f2d0f179f2897ed572086e572391a45c83cb729e2ef1aeeeacb70b8173b70f0fb8dd277b2ba78e1a253765e79bf705852575e09044b4d7b3b28693b4dd18f
7
- data.tar.gz: 99de6a345cecced733e75e6a9292932a471b23ca82d6f6e8ad44ae17ac30edf03e2c3639a9f40ab438089cb0b0bce9487a682191feb22bc2db46b8b245eb5daa
6
+ metadata.gz: 3006db662cf50ba26e70fec2ffd48be8a5e9848da8c61975ae0382575d6c55a49fd11c4a21e97e96aabb12d9026a987159c36b8fef353d22c215d6696ae6fe4b
7
+ data.tar.gz: 86825852afd8afb34e04d6d0642a2d145caae46b818649a31e339a724a36fdae5434c43663c359145d9e29456e5dd69786b1988c33130661b119ed18e5d5a27b
@@ -1,8 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <module type="RUBY_MODULE" version="4">
3
- <component name="CompassSettings">
4
- <option name="compassSupportEnabled" value="true" />
5
- </component>
6
3
  <component name="FacetManager">
7
4
  <facet type="gem" name="Ruby Gem">
8
5
  <configuration>
@@ -26,5 +23,4 @@
26
23
  <orderEntry type="library" scope="PROVIDED" name="thor (v0.19.1, RVM: ruby-1.9.3-p547) [gem]" level="application" />
27
24
  <orderEntry type="library" scope="PROVIDED" name="tzinfo (v1.2.2, RVM: ruby-1.9.3-p547) [gem]" level="application" />
28
25
  </component>
29
- </module>
30
-
26
+ </module>
data/.idea/workspace.xml CHANGED
@@ -4,13 +4,17 @@
4
4
  <list default="true" id="a257f218-e101-4b01-9af7-63ec6466cb06" name="Default" comment="">
5
5
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Gemfile.lock" afterPath="$PROJECT_DIR$/Gemfile.lock" />
6
6
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/spec/support/models.rb" afterPath="$PROJECT_DIR$/spec/support/models.rb" />
7
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/scoped_enum.gemspec" afterPath="$PROJECT_DIR$/scoped_enum.gemspec" />
8
7
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/scoped_enum.iml" afterPath="$PROJECT_DIR$/.idea/scoped_enum.iml" />
8
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/scoped_enum.rb" afterPath="$PROJECT_DIR$/lib/scoped_enum.rb" />
9
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/spec/scoped_enum_spec.rb" afterPath="$PROJECT_DIR$/spec/scoped_enum_spec.rb" />
10
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/spec/spec_helper.rb" afterPath="$PROJECT_DIR$/spec/spec_helper.rb" />
9
11
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/scoped_enum/version.rb" afterPath="$PROJECT_DIR$/lib/scoped_enum/version.rb" />
10
12
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
11
13
  </list>
12
14
  <ignored path="scoped_enum.iws" />
13
15
  <ignored path=".idea/workspace.xml" />
16
+ <ignored path=".idea/dataSources.local.xml" />
17
+ <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
14
18
  <option name="TRACKING_ENABLED" value="true" />
15
19
  <option name="SHOW_DIALOG" value="false" />
16
20
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -30,48 +34,58 @@
30
34
  </component>
31
35
  <component name="FileEditorManager">
32
36
  <leaf>
33
- <file leaf-file-name="scoped_enum.rb" pinned="false" current="false" current-in-tab="false">
37
+ <file leaf-file-name="scoped_enum.rb" pinned="false" current-in-tab="false">
34
38
  <entry file="file://$PROJECT_DIR$/lib/scoped_enum.rb">
35
39
  <provider selected="true" editor-type-id="text-editor">
36
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="870">
37
- <caret line="29" column="55" selection-start-line="29" selection-start-column="55" selection-end-line="29" selection-end-column="55" />
40
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="540">
41
+ <caret line="9" column="26" selection-start-line="9" selection-start-column="26" selection-end-line="9" selection-end-column="26" />
38
42
  <folding />
39
43
  </state>
40
44
  </provider>
41
45
  </entry>
42
46
  </file>
43
- <file leaf-file-name="version.rb" pinned="false" current="false" current-in-tab="false">
44
- <entry file="file://$PROJECT_DIR$/lib/scoped_enum/version.rb">
47
+ <file leaf-file-name="scoped_enum.gemspec" pinned="false" current-in-tab="true">
48
+ <entry file="file://$PROJECT_DIR$/scoped_enum.gemspec">
45
49
  <provider selected="true" editor-type-id="text-editor">
46
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="135">
47
- <caret line="1" column="17" selection-start-line="1" selection-start-column="17" selection-end-line="1" selection-end-column="17" />
50
+ <state vertical-scroll-proportion="0.61926603" vertical-offset="0" max-vertical-offset="654">
51
+ <caret line="27" column="0" selection-start-line="27" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
48
52
  <folding />
49
53
  </state>
50
54
  </provider>
51
55
  </entry>
52
56
  </file>
53
- <file leaf-file-name="scoped_enum.gemspec" pinned="false" current="true" current-in-tab="true">
54
- <entry file="file://$PROJECT_DIR$/scoped_enum.gemspec">
57
+ <file leaf-file-name="Gemfile" pinned="false" current-in-tab="false">
58
+ <entry file="file://$PROJECT_DIR$/Gemfile">
55
59
  <provider selected="true" editor-type-id="text-editor">
56
- <state vertical-scroll-proportion="0.5275229" vertical-offset="0" max-vertical-offset="654">
57
- <caret line="23" column="51" selection-start-line="23" selection-start-column="51" selection-end-line="23" selection-end-column="51" />
60
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="150">
61
+ <caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
58
62
  <folding />
59
63
  </state>
60
64
  </provider>
61
65
  </entry>
62
66
  </file>
63
- <file leaf-file-name="scoped_enum_spec.rb" pinned="false" current="false" current-in-tab="false">
64
- <entry file="file://$PROJECT_DIR$/spec/scoped_enum_spec.rb">
67
+ <file leaf-file-name="README.md" pinned="false" current-in-tab="false">
68
+ <entry file="file://$PROJECT_DIR$/README.md">
65
69
  <provider selected="true" editor-type-id="text-editor">
66
- <state vertical-scroll-proportion="0.0" vertical-offset="246" max-vertical-offset="1050">
67
- <caret line="59" column="107" selection-start-line="59" selection-start-column="107" selection-end-line="59" selection-end-column="107" />
70
+ <state vertical-scroll-proportion="-4.2" vertical-offset="0" max-vertical-offset="840">
71
+ <caret line="7" column="0" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
68
72
  <folding />
69
73
  </state>
70
74
  </provider>
71
75
  </entry>
72
76
  </file>
73
- <file leaf-file-name=".travis.yml" pinned="false" current="false" current-in-tab="false">
74
- <entry file="file://$PROJECT_DIR$/.travis.yml">
77
+ <file leaf-file-name="scope_creator.rb" pinned="false" current-in-tab="false">
78
+ <entry file="file://$PROJECT_DIR$/lib/scoped_enum/scope_creator.rb">
79
+ <provider selected="true" editor-type-id="text-editor">
80
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="945">
81
+ <caret line="51" column="31" selection-start-line="51" selection-start-column="31" selection-end-line="51" selection-end-column="31" />
82
+ <folding />
83
+ </state>
84
+ </provider>
85
+ </entry>
86
+ </file>
87
+ <file leaf-file-name="version.rb" pinned="false" current-in-tab="false">
88
+ <entry file="file://$PROJECT_DIR$/lib/scoped_enum/version.rb">
75
89
  <provider selected="true" editor-type-id="text-editor">
76
90
  <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="135">
77
91
  <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
@@ -80,11 +94,31 @@
80
94
  </provider>
81
95
  </entry>
82
96
  </file>
83
- <file leaf-file-name="models.rb" pinned="false" current="false" current-in-tab="false">
97
+ <file leaf-file-name="scoped_enum_spec.rb" pinned="false" current-in-tab="false">
98
+ <entry file="file://$PROJECT_DIR$/spec/scoped_enum_spec.rb">
99
+ <provider selected="true" editor-type-id="text-editor">
100
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1125">
101
+ <caret line="18" column="47" selection-start-line="18" selection-start-column="47" selection-end-line="18" selection-end-column="47" />
102
+ <folding />
103
+ </state>
104
+ </provider>
105
+ </entry>
106
+ </file>
107
+ <file leaf-file-name="spec_helper.rb" pinned="false" current-in-tab="false">
108
+ <entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
109
+ <provider selected="true" editor-type-id="text-editor">
110
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="285">
111
+ <caret line="4" column="35" selection-start-line="4" selection-start-column="35" selection-end-line="4" selection-end-column="35" />
112
+ <folding />
113
+ </state>
114
+ </provider>
115
+ </entry>
116
+ </file>
117
+ <file leaf-file-name="models.rb" pinned="false" current-in-tab="false">
84
118
  <entry file="file://$PROJECT_DIR$/spec/support/models.rb">
85
119
  <provider selected="true" editor-type-id="text-editor">
86
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="225">
87
- <caret line="2" column="52" selection-start-line="2" selection-start-column="52" selection-end-line="2" selection-end-column="52" />
120
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="270">
121
+ <caret line="4" column="40" selection-start-line="4" selection-start-column="40" selection-end-line="4" selection-end-column="40" />
88
122
  <folding />
89
123
  </state>
90
124
  </provider>
@@ -101,29 +135,27 @@
101
135
  <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
102
136
  </component>
103
137
  <component name="IdeDocumentHistory">
104
- <option name="changedFiles">
138
+ <option name="CHANGED_PATHS">
105
139
  <list>
106
- <option value="$PROJECT_DIR$/lib/scoped_enum/extensions/active_records/base.rb" />
107
- <option value="$PROJECT_DIR$/lib/scoped_enum/extensions.rb" />
108
- <option value="$PROJECT_DIR$/lib/scoped_enum/extensions/active_record.rb" />
109
- <option value="$PROJECT_DIR$/spec/schema.rb" />
110
- <option value="$PROJECT_DIR$/spec/models.rb" />
111
- <option value="$PROJECT_DIR$/spec/factories/users.rb" />
112
- <option value="$PROJECT_DIR$/spec/support/factory_girl.rb" />
113
- <option value="$PROJECT_DIR$/spec/spec_helper.rb" />
114
- <option value="$PROJECT_DIR$/spec/factories.rb" />
115
- <option value="$PROJECT_DIR$/spec/scoped_enum_spec.rb" />
140
+ <option value="$PROJECT_DIR$/lib/scoped_enum/scope_creator.rb" />
116
141
  <option value="$PROJECT_DIR$/lib/scoped_enum.rb" />
117
142
  <option value="$PROJECT_DIR$/spec/support/models.rb" />
143
+ <option value="$PROJECT_DIR$/spec/spec_helper.rb" />
144
+ <option value="$PROJECT_DIR$/spec/scope_creator_spec.rb" />
145
+ <option value="$PROJECT_DIR$/spec/scoped_enum/scope_creator_spec.rb" />
146
+ <option value="$PROJECT_DIR$/spec/scoped_enum_spec.rb" />
118
147
  <option value="$PROJECT_DIR$/lib/scoped_enum/version.rb" />
119
148
  <option value="$PROJECT_DIR$/scoped_enum.gemspec" />
120
149
  </list>
121
150
  </option>
122
151
  </component>
152
+ <component name="JsGulpfileManager">
153
+ <detection-done>true</detection-done>
154
+ </component>
123
155
  <component name="ProjectFrameBounds">
124
- <option name="x" value="38" />
156
+ <option name="x" value="45" />
125
157
  <option name="y" value="23" />
126
- <option name="width" value="1242" />
158
+ <option name="width" value="1235" />
127
159
  <option name="height" value="777" />
128
160
  </component>
129
161
  <component name="ProjectLevelVcsManager" settingsEditedManually="false">
@@ -236,7 +268,16 @@
236
268
  </PATH>
237
269
  </subPane>
238
270
  </pane>
239
- <pane id="Scope" />
271
+ <pane id="Scope">
272
+ <subPane subId="Default">
273
+ <PATH>
274
+ <PATH_ELEMENT USER_OBJECT="Root">
275
+ <option name="myItemId" value="" />
276
+ <option name="myItemType" value="" />
277
+ </PATH_ELEMENT>
278
+ </PATH>
279
+ </subPane>
280
+ </pane>
240
281
  </panes>
241
282
  </component>
242
283
  <component name="PropertiesComponent">
@@ -245,6 +286,7 @@
245
286
  </component>
246
287
  <component name="RecentsManager">
247
288
  <key name="MoveFile.RECENT_KEYS">
289
+ <recent name="$PROJECT_DIR$/spec/scoped_enum" />
248
290
  <recent name="$PROJECT_DIR$/spec/support" />
249
291
  </key>
250
292
  </component>
@@ -332,6 +374,9 @@
332
374
  <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
333
375
  <method />
334
376
  </configuration>
377
+ <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
378
+ <method />
379
+ </configuration>
335
380
  <list size="0" />
336
381
  </component>
337
382
  <component name="ShelveChangesManager" show_recycled="false" />
@@ -339,12 +384,13 @@
339
384
  <task active="true" id="Default" summary="Default task">
340
385
  <changelist id="a257f218-e101-4b01-9af7-63ec6466cb06" name="Default" comment="" />
341
386
  <created>1427901125901</created>
387
+ <option name="number" value="Default" />
342
388
  <updated>1427901125901</updated>
343
389
  </task>
344
390
  <servers />
345
391
  </component>
346
392
  <component name="ToolWindowManager">
347
- <frame x="38" y="23" width="1242" height="777" extended-state="6" />
393
+ <frame x="45" y="23" width="1235" height="777" extended-state="6" />
348
394
  <editor active="true" />
349
395
  <layout>
350
396
  <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="7" side_tool="false" content_ui="tabs" />
@@ -352,19 +398,20 @@
352
398
  <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" />
353
399
  <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
354
400
  <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="false" content_ui="tabs" />
355
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25833333" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
401
+ <window_info id="Application Servers" 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" />
402
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.27074602" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
356
403
  <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" />
404
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32991204" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
357
405
  <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" />
358
406
  <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" />
359
- <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" />
360
407
  <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" />
361
408
  <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" />
362
409
  <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" />
363
- <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32991204" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
364
410
  <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" />
411
+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32991204" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
365
412
  <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
366
- <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" />
367
413
  <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" />
414
+ <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" />
368
415
  </layout>
369
416
  </component>
370
417
  <component name="Vcs.Log.UiProperties">
@@ -385,8 +432,137 @@
385
432
  </component>
386
433
  <component name="XDebuggerManager">
387
434
  <breakpoint-manager />
435
+ <watches-manager />
388
436
  </component>
389
437
  <component name="editorHistoryManager">
438
+ <entry file="file://$PROJECT_DIR$/lib/scoped_enum.rb">
439
+ <provider selected="true" editor-type-id="text-editor">
440
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="870">
441
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
442
+ <folding />
443
+ </state>
444
+ </provider>
445
+ </entry>
446
+ <entry file="file://$PROJECT_DIR$/scoped_enum.gemspec">
447
+ <provider selected="true" editor-type-id="text-editor">
448
+ <state vertical-scroll-proportion="0.0" vertical-offset="420" max-vertical-offset="540">
449
+ <caret line="28" column="66" selection-start-line="28" selection-start-column="66" selection-end-line="28" selection-end-column="66" />
450
+ <folding />
451
+ </state>
452
+ </provider>
453
+ </entry>
454
+ <entry file="file://$PROJECT_DIR$/spec/scoped_enum_spec.rb">
455
+ <provider selected="true" editor-type-id="text-editor">
456
+ <state vertical-scroll-proportion="0.0" vertical-offset="246" max-vertical-offset="1050">
457
+ <caret line="59" column="107" selection-start-line="59" selection-start-column="107" selection-end-line="59" selection-end-column="107" />
458
+ <folding />
459
+ </state>
460
+ </provider>
461
+ </entry>
462
+ <entry file="file://$PROJECT_DIR$/.travis.yml">
463
+ <provider selected="true" editor-type-id="text-editor">
464
+ <state vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="135">
465
+ <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
466
+ <folding />
467
+ </state>
468
+ </provider>
469
+ </entry>
470
+ <entry file="file://$PROJECT_DIR$/spec/support/models.rb">
471
+ <provider selected="true" editor-type-id="text-editor">
472
+ <state vertical-scroll-proportion="0.0" vertical-offset="30" max-vertical-offset="225">
473
+ <caret line="2" column="52" selection-start-line="2" selection-start-column="52" selection-end-line="2" selection-end-column="52" />
474
+ <folding />
475
+ </state>
476
+ </provider>
477
+ </entry>
478
+ <entry file="file://$PROJECT_DIR$/lib/scoped_enum.rb">
479
+ <provider selected="true" editor-type-id="text-editor">
480
+ <state vertical-scroll-proportion="0.0" vertical-offset="81" max-vertical-offset="870">
481
+ <caret line="29" column="55" selection-start-line="29" selection-start-column="55" selection-end-line="29" selection-end-column="55" />
482
+ <folding />
483
+ </state>
484
+ </provider>
485
+ </entry>
486
+ <entry file="file://$PROJECT_DIR$/scoped_enum.gemspec">
487
+ <provider selected="true" editor-type-id="text-editor">
488
+ <state vertical-scroll-proportion="0.0" vertical-offset="420" max-vertical-offset="540">
489
+ <caret line="28" column="66" selection-start-line="28" selection-start-column="66" selection-end-line="28" selection-end-column="66" />
490
+ <folding />
491
+ </state>
492
+ </provider>
493
+ </entry>
494
+ <entry file="file://$PROJECT_DIR$/spec/scoped_enum_spec.rb">
495
+ <provider selected="true" editor-type-id="text-editor">
496
+ <state vertical-scroll-proportion="0.0" vertical-offset="246" max-vertical-offset="1050">
497
+ <caret line="59" column="107" selection-start-line="59" selection-start-column="107" selection-end-line="59" selection-end-column="107" />
498
+ <folding />
499
+ </state>
500
+ </provider>
501
+ </entry>
502
+ <entry file="file://$PROJECT_DIR$/.travis.yml">
503
+ <provider selected="true" editor-type-id="text-editor">
504
+ <state vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="135">
505
+ <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
506
+ <folding />
507
+ </state>
508
+ </provider>
509
+ </entry>
510
+ <entry file="file://$PROJECT_DIR$/spec/support/models.rb">
511
+ <provider selected="true" editor-type-id="text-editor">
512
+ <state vertical-scroll-proportion="0.0" vertical-offset="30" max-vertical-offset="225">
513
+ <caret line="2" column="52" selection-start-line="2" selection-start-column="52" selection-end-line="2" selection-end-column="52" />
514
+ <folding />
515
+ </state>
516
+ </provider>
517
+ </entry>
518
+ <entry file="file://$PROJECT_DIR$/lib/scoped_enum.rb">
519
+ <provider selected="true" editor-type-id="text-editor">
520
+ <state vertical-scroll-proportion="0.0" vertical-offset="435" max-vertical-offset="870">
521
+ <caret line="29" column="55" selection-start-line="29" selection-start-column="55" selection-end-line="29" selection-end-column="55" />
522
+ <folding />
523
+ </state>
524
+ </provider>
525
+ </entry>
526
+ <entry file="file://$PROJECT_DIR$/lib/scoped_enum/version.rb">
527
+ <provider selected="true" editor-type-id="text-editor">
528
+ <state vertical-scroll-proportion="0.0" vertical-offset="15" max-vertical-offset="135">
529
+ <caret line="1" column="17" selection-start-line="1" selection-start-column="17" selection-end-line="1" selection-end-column="17" />
530
+ <folding />
531
+ </state>
532
+ </provider>
533
+ </entry>
534
+ <entry file="file://$PROJECT_DIR$/scoped_enum.gemspec">
535
+ <provider selected="true" editor-type-id="text-editor">
536
+ <state vertical-scroll-proportion="0.0" vertical-offset="345" max-vertical-offset="510">
537
+ <caret line="23" column="51" selection-start-line="23" selection-start-column="51" selection-end-line="23" selection-end-column="51" />
538
+ <folding />
539
+ </state>
540
+ </provider>
541
+ </entry>
542
+ <entry file="file://$PROJECT_DIR$/spec/scoped_enum_spec.rb">
543
+ <provider selected="true" editor-type-id="text-editor">
544
+ <state vertical-scroll-proportion="0.0" vertical-offset="246" max-vertical-offset="1050">
545
+ <caret line="59" column="107" selection-start-line="59" selection-start-column="107" selection-end-line="59" selection-end-column="107" />
546
+ <folding />
547
+ </state>
548
+ </provider>
549
+ </entry>
550
+ <entry file="file://$PROJECT_DIR$/.travis.yml">
551
+ <provider selected="true" editor-type-id="text-editor">
552
+ <state vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="135">
553
+ <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
554
+ <folding />
555
+ </state>
556
+ </provider>
557
+ </entry>
558
+ <entry file="file://$PROJECT_DIR$/spec/support/models.rb">
559
+ <provider selected="true" editor-type-id="text-editor">
560
+ <state vertical-scroll-proportion="0.0" vertical-offset="30" max-vertical-offset="225">
561
+ <caret line="2" column="52" selection-start-line="2" selection-start-column="52" selection-end-line="2" selection-end-column="52" />
562
+ <folding />
563
+ </state>
564
+ </provider>
565
+ </entry>
390
566
  <entry file="file://$PROJECT_DIR$/lib/scoped_enum.rb">
391
567
  <provider selected="true" editor-type-id="text-editor">
392
568
  <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="870">
@@ -435,14 +611,6 @@
435
611
  </state>
436
612
  </provider>
437
613
  </entry>
438
- <entry file="file://$PROJECT_DIR$/Gemfile">
439
- <provider selected="true" editor-type-id="text-editor">
440
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="150">
441
- <caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
442
- <folding />
443
- </state>
444
- </provider>
445
- </entry>
446
614
  <entry file="file://$USER_HOME$/.rvm/gems/ruby-1.9.3-p547@global/gems/activerecord-4.1.5/lib/active_record/enum.rb">
447
615
  <provider selected="true" editor-type-id="text-editor">
448
616
  <state vertical-scroll-proportion="-0.14263074" vertical-offset="1320" max-vertical-offset="3075">
@@ -479,22 +647,39 @@
479
647
  </state>
480
648
  </provider>
481
649
  </entry>
650
+ <entry file="file://$PROJECT_DIR$/.travis.yml">
651
+ <provider selected="true" editor-type-id="text-editor">
652
+ <state vertical-scroll-proportion="0.06880734" vertical-offset="0" max-vertical-offset="654">
653
+ <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
654
+ <folding />
655
+ </state>
656
+ </provider>
657
+ </entry>
482
658
  <entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
483
659
  <provider selected="true" editor-type-id="text-editor">
484
- <state vertical-scroll-proportion="0.27522936" vertical-offset="0" max-vertical-offset="654">
485
- <caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
660
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="285">
661
+ <caret line="4" column="35" selection-start-line="4" selection-start-column="35" selection-end-line="4" selection-end-column="35" />
662
+ <folding />
486
663
  </state>
487
664
  </provider>
488
665
  </entry>
489
666
  <entry file="file://$PROJECT_DIR$/spec/support/models.rb">
490
667
  <provider selected="true" editor-type-id="text-editor">
491
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="225">
492
- <caret line="2" column="52" selection-start-line="2" selection-start-column="52" selection-end-line="2" selection-end-column="52" />
668
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="270">
669
+ <caret line="4" column="40" selection-start-line="4" selection-start-column="40" selection-end-line="4" selection-end-column="40" />
493
670
  <folding />
494
671
  </state>
495
672
  </provider>
496
673
  </entry>
497
- <entry file="file://$PROJECT_DIR$/.travis.yml">
674
+ <entry file="file://$PROJECT_DIR$/spec/scoped_enum_spec.rb">
675
+ <provider selected="true" editor-type-id="text-editor">
676
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1125">
677
+ <caret line="18" column="47" selection-start-line="18" selection-start-column="47" selection-end-line="18" selection-end-column="47" />
678
+ <folding />
679
+ </state>
680
+ </provider>
681
+ </entry>
682
+ <entry file="file://$PROJECT_DIR$/lib/scoped_enum/version.rb">
498
683
  <provider selected="true" editor-type-id="text-editor">
499
684
  <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="135">
500
685
  <caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
@@ -502,38 +687,45 @@
502
687
  </state>
503
688
  </provider>
504
689
  </entry>
505
- <entry file="file://$PROJECT_DIR$/lib/scoped_enum.rb">
690
+ <entry file="file://$PROJECT_DIR$/lib/scoped_enum/scope_creator.rb">
506
691
  <provider selected="true" editor-type-id="text-editor">
507
- <state vertical-scroll-proportion="0.0" vertical-offset="59" max-vertical-offset="870">
508
- <caret line="29" column="55" selection-start-line="29" selection-start-column="55" selection-end-line="29" selection-end-column="55" />
692
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="945">
693
+ <caret line="51" column="31" selection-start-line="51" selection-start-column="31" selection-end-line="51" selection-end-column="31" />
509
694
  <folding />
510
695
  </state>
511
696
  </provider>
512
697
  </entry>
513
- <entry file="file://$PROJECT_DIR$/lib/scoped_enum/version.rb">
698
+ <entry file="file://$PROJECT_DIR$/Gemfile">
514
699
  <provider selected="true" editor-type-id="text-editor">
515
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="135">
516
- <caret line="1" column="17" selection-start-line="1" selection-start-column="17" selection-end-line="1" selection-end-column="17" />
700
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="150">
701
+ <caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
517
702
  <folding />
518
703
  </state>
519
704
  </provider>
520
705
  </entry>
521
- <entry file="file://$PROJECT_DIR$/spec/scoped_enum_spec.rb">
706
+ <entry file="file://$PROJECT_DIR$/README.md">
522
707
  <provider selected="true" editor-type-id="text-editor">
523
- <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1050">
524
- <caret line="59" column="107" selection-start-line="59" selection-start-column="107" selection-end-line="59" selection-end-column="107" />
708
+ <state vertical-scroll-proportion="-4.2" vertical-offset="0" max-vertical-offset="840">
709
+ <caret line="7" column="0" selection-start-line="7" selection-start-column="0" selection-end-line="7" selection-end-column="0" />
710
+ <folding />
711
+ </state>
712
+ </provider>
713
+ </entry>
714
+ <entry file="file://$PROJECT_DIR$/lib/scoped_enum.rb">
715
+ <provider selected="true" editor-type-id="text-editor">
716
+ <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="540">
717
+ <caret line="9" column="26" selection-start-line="9" selection-start-column="26" selection-end-line="9" selection-end-column="26" />
525
718
  <folding />
526
719
  </state>
527
720
  </provider>
528
721
  </entry>
529
722
  <entry file="file://$PROJECT_DIR$/scoped_enum.gemspec">
530
723
  <provider selected="true" editor-type-id="text-editor">
531
- <state vertical-scroll-proportion="0.5275229" vertical-offset="0" max-vertical-offset="654">
532
- <caret line="23" column="51" selection-start-line="23" selection-start-column="51" selection-end-line="23" selection-end-column="51" />
724
+ <state vertical-scroll-proportion="0.61926603" vertical-offset="0" max-vertical-offset="654">
725
+ <caret line="27" column="0" selection-start-line="27" selection-start-column="0" selection-end-line="27" selection-end-column="0" />
533
726
  <folding />
534
727
  </state>
535
728
  </provider>
536
729
  </entry>
537
730
  </component>
538
- </project>
539
-
731
+ </project>
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- scoped_enum (0.1.1)
4
+ scoped_enum (0.2.1)
5
+ activerecord (~> 4.1, >= 4.1.0)
5
6
 
6
7
  GEM
7
8
  remote: https://rubygems.org/
data/lib/scoped_enum.rb CHANGED
@@ -1,4 +1,5 @@
1
- require "scoped_enum/version"
1
+ require 'scoped_enum/version'
2
+ require 'scoped_enum/scope_creator'
2
3
  require 'active_support'
3
4
  require 'active_record'
4
5
 
@@ -15,36 +16,13 @@ module ScopedEnum
15
16
  enum(enum_name => enum_entries)
16
17
  scopes = HashWithIndifferentAccess.new_from_hash_copying_default(scopes)
17
18
 
18
- target_enum = defined_enums[enum_name.to_s]
19
+ scope_creator = ScopeCreator.new(self, enum_name)
19
20
  scopes.each do |scope_name, scope_enum_keys|
20
- sub_enum_values = target_enum.values_at(*scope_enum_keys)
21
- if defined_enum_scopes.has_key?(scope_name)
22
- fail ArgumentError,
23
- "Conflicting scope names. A scope named #{scope_name} has already been defined"
24
- elsif sub_enum_values.include?(nil)
25
- unknown_key = scope_enum_keys[sub_enum_values.index(nil)]
26
- fail ArgumentError, "Unknown key - #{unknown_key} for enum #{enum_name}"
27
- elsif respond_to?(scope_name.to_s.pluralize)
28
- fail ArgumentError,
29
- "Scope name - #{scope_name} conflicts with a class method of the same name"
30
- elsif instance_methods.include?("#{scope_name}?".to_sym)
31
- fail ArgumentError,
32
- "Scope name - #{scope_name} conflicts with the instance method - #{scope_name}?"
33
- end
34
-
35
- sub_enum_entries = target_enum.slice(*scope_enum_keys)
36
- defined_enum_scopes[scope_name] = sub_enum_entries
37
-
38
- # 1. Instance method <scope_name>?
39
- define_method("#{scope_name}?") do
40
- sub_enum_entries.include? self.role
41
- end
42
-
43
- # 2. The class scope with the scope name
44
- scope scope_name.to_s.pluralize, -> { where("#{enum_name}" => sub_enum_entries.values) }
21
+ scope_creator.scope scope_name, scope_enum_keys
45
22
  end
46
- # 3. The class method to return all scopes of the enum
47
- singleton_class.send(:define_method, "#{enum_name}_scopes") { defined_enum_scopes.slice(*scopes.keys) }
23
+
24
+ yield scope_creator if block_given?
25
+ scope_creator.generate_enum_scopes_method
48
26
  end
49
27
  end
50
28
  end
@@ -1,3 +1,3 @@
1
1
  module ScopedEnum
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scoped_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lin Han
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-04-01 00:00:00.000000000 Z
11
+ date: 2015-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler