development 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +2 -0
- data/lib/development.rb +42 -37
- data/spec/development_spec.rb +4 -4
- metadata +3 -19
data/CHANGELOG.md
CHANGED
@@ -9,3 +9,5 @@ Oops! Configuration-file enabling was commented out. So 1.0.3 is the first worki
|
|
9
9
|
Fix for enabling by gemset.
|
10
10
|
Directories can now specify either the directory the gem directory is in or the gem directory itself.
|
11
11
|
We now support Bundler!
|
12
|
+
Removed all dependencies.
|
13
|
+
|
data/lib/development.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
|
2
|
-
require 'array-unique'
|
3
|
-
|
4
2
|
###
|
5
3
|
# Singleton that manages configurations and requires.
|
6
4
|
#
|
@@ -21,7 +19,7 @@ module ::Development
|
|
21
19
|
#
|
22
20
|
def loaded?( gem_name )
|
23
21
|
|
24
|
-
return @loaded_gems.
|
22
|
+
return @loaded_gems.has_key?( gem_name.to_sym )
|
25
23
|
|
26
24
|
end
|
27
25
|
|
@@ -100,7 +98,7 @@ module ::Development
|
|
100
98
|
#
|
101
99
|
def self.enabled_gems
|
102
100
|
|
103
|
-
return @enabled_gems
|
101
|
+
return @enabled_gems.keys
|
104
102
|
|
105
103
|
end
|
106
104
|
|
@@ -115,7 +113,7 @@ module ::Development
|
|
115
113
|
#
|
116
114
|
def self.disabled_gems
|
117
115
|
|
118
|
-
return @disabled_gems
|
116
|
+
return @disabled_gems.keys
|
119
117
|
|
120
118
|
end
|
121
119
|
|
@@ -185,15 +183,15 @@ module ::Development
|
|
185
183
|
#
|
186
184
|
ConfigurationFileName = '.development'
|
187
185
|
|
188
|
-
@enabled_gems =
|
189
|
-
@disabled_gems =
|
186
|
+
@enabled_gems = { }
|
187
|
+
@disabled_gems = { }
|
190
188
|
|
191
189
|
@gemsets = { }
|
192
190
|
@gem_locations = { }
|
193
191
|
|
194
|
-
@general_load_paths =
|
192
|
+
@general_load_paths = [ ]
|
195
193
|
|
196
|
-
@loaded_gems =
|
194
|
+
@loaded_gems = { }
|
197
195
|
|
198
196
|
@named_directories = { }
|
199
197
|
@locations = { }
|
@@ -524,9 +522,9 @@ module ::Development
|
|
524
522
|
###
|
525
523
|
# Parse gem name list separated by optional comma and white space from expression.
|
526
524
|
#
|
527
|
-
# @param
|
525
|
+
# @param hash
|
528
526
|
#
|
529
|
-
#
|
527
|
+
# Hash to add parsed data to.
|
530
528
|
#
|
531
529
|
# @param expression_string
|
532
530
|
#
|
@@ -538,14 +536,14 @@ module ::Development
|
|
538
536
|
#
|
539
537
|
# @return [Development] Self.
|
540
538
|
#
|
541
|
-
def self.parse_gem_names_from_expression_string(
|
539
|
+
def self.parse_gem_names_from_expression_string( hash, expression_string, require_exist = false )
|
542
540
|
|
543
541
|
while next_whitespace_index = expression_string =~ /\s/
|
544
|
-
parse_gem_name_from_expression_string(
|
542
|
+
parse_gem_name_from_expression_string( hash, expression_string, next_whitespace_index )
|
545
543
|
end
|
546
544
|
|
547
545
|
# also slice till the end
|
548
|
-
parse_gem_name_from_expression_string(
|
546
|
+
parse_gem_name_from_expression_string( hash, expression_string, expression_string.length, require_exist )
|
549
547
|
|
550
548
|
return self
|
551
549
|
|
@@ -558,9 +556,9 @@ module ::Development
|
|
558
556
|
###
|
559
557
|
# Helper method to slice gem name from expression string and add or subtract from gemset.
|
560
558
|
#
|
561
|
-
# @param
|
559
|
+
# @param hash
|
562
560
|
#
|
563
|
-
#
|
561
|
+
# Hash to add parsed data to.
|
564
562
|
#
|
565
563
|
# @param gemset
|
566
564
|
#
|
@@ -580,7 +578,7 @@ module ::Development
|
|
580
578
|
#
|
581
579
|
# @return [Symbol] Parsed gem name.
|
582
580
|
#
|
583
|
-
def self.parse_gem_name_from_expression_string(
|
581
|
+
def self.parse_gem_name_from_expression_string( hash, expression_string, slice_to_index, require_exist = false )
|
584
582
|
|
585
583
|
gem_name = expression_string.slice!( 0, slice_to_index )
|
586
584
|
|
@@ -598,7 +596,7 @@ module ::Development
|
|
598
596
|
gem_name.slice!( 0, 1 )
|
599
597
|
when '-'
|
600
598
|
gem_name.slice!( 0, 1 )
|
601
|
-
|
599
|
+
hash.delete( gem_name.to_sym )
|
602
600
|
should_add = false
|
603
601
|
else
|
604
602
|
end
|
@@ -618,7 +616,7 @@ module ::Development
|
|
618
616
|
end
|
619
617
|
|
620
618
|
if should_add
|
621
|
-
|
619
|
+
hash[ gem_name ] = true
|
622
620
|
end
|
623
621
|
|
624
622
|
expression_string.strip!
|
@@ -647,7 +645,7 @@ module ::Development
|
|
647
645
|
gemset_name = gemset_name.to_sym
|
648
646
|
|
649
647
|
unless gemset = @gemsets[ gemset_name ]
|
650
|
-
@gemsets[ gemset_name ] = gemset =
|
648
|
+
@gemsets[ gemset_name ] = gemset = { }
|
651
649
|
end
|
652
650
|
|
653
651
|
return gemset
|
@@ -669,7 +667,13 @@ module ::Development
|
|
669
667
|
#
|
670
668
|
def self.gemset( gemset_name )
|
671
669
|
|
672
|
-
|
670
|
+
gemset_members = nil
|
671
|
+
|
672
|
+
if gemset = @gemsets[ gemset_name.to_sym ]
|
673
|
+
gemset_members = gemset.keys
|
674
|
+
end
|
675
|
+
|
676
|
+
return gemset_members
|
673
677
|
|
674
678
|
end
|
675
679
|
|
@@ -699,14 +703,14 @@ module ::Development
|
|
699
703
|
end
|
700
704
|
|
701
705
|
unless directory_members = @locations[ directory_name ]
|
702
|
-
@locations[ directory_name ] = directory_members =
|
706
|
+
@locations[ directory_name ] = directory_members = { }
|
703
707
|
end
|
704
708
|
|
705
709
|
parse_gem_names_from_expression_string( directory_members, expression_string )
|
706
710
|
|
707
|
-
directory_members.each do |this_gem_or_gemset|
|
711
|
+
directory_members.each do |this_gem_or_gemset, true_value|
|
708
712
|
if gemset = @gemsets[ this_gem_or_gemset ]
|
709
|
-
gemset.each do |this_gem|
|
713
|
+
gemset.each do |this_gem, true_value|
|
710
714
|
@gem_locations[ this_gem ] = directory_name
|
711
715
|
end
|
712
716
|
else
|
@@ -743,7 +747,7 @@ module ::Development
|
|
743
747
|
|
744
748
|
gems = nil
|
745
749
|
unless expression_string.empty?
|
746
|
-
gems =
|
750
|
+
gems = { }
|
747
751
|
parse_gem_names_from_expression_string( gems, expression_string )
|
748
752
|
end
|
749
753
|
|
@@ -754,19 +758,19 @@ module ::Development
|
|
754
758
|
if gems
|
755
759
|
gems.each do |this_gem_or_gemset, true_value|
|
756
760
|
if gemset = @gemsets[ this_gem_or_gemset ]
|
757
|
-
gemset.each do |this_gem|
|
758
|
-
@enabled_gems
|
761
|
+
gemset.each do |this_gem, true_value|
|
762
|
+
@enabled_gems[ this_gem ] = true
|
759
763
|
@disabled_gems.delete( this_gem )
|
760
764
|
end
|
761
765
|
else
|
762
766
|
this_gem = this_gem_or_gemset
|
763
|
-
@enabled_gems
|
767
|
+
@enabled_gems[ this_gem ] = true
|
764
768
|
@disabled_gems.delete( this_gem )
|
765
769
|
end
|
766
770
|
end
|
767
771
|
else
|
768
772
|
@disabled_gems.delete_if do |this_gem, true_value|
|
769
|
-
@enabled_gems
|
773
|
+
@enabled_gems[ this_gem ] = true
|
770
774
|
true
|
771
775
|
end
|
772
776
|
@enable_for_all = true
|
@@ -777,19 +781,19 @@ module ::Development
|
|
777
781
|
if gems
|
778
782
|
gems.each do |this_gem_or_gemset, true_value|
|
779
783
|
if gemset = @gemsets[ this_gem_or_gemset ]
|
780
|
-
gemset.each do |this_gem|
|
781
|
-
@disabled_gems
|
784
|
+
gemset.each do |this_gem, true_value|
|
785
|
+
@disabled_gems[ this_gem ] = true
|
782
786
|
@enabled_gems.delete( this_gem )
|
783
787
|
end
|
784
788
|
else
|
785
789
|
this_gem = this_gem_or_gemset
|
786
|
-
@disabled_gems
|
790
|
+
@disabled_gems[ this_gem ] = true
|
787
791
|
@enabled_gems.delete( this_gem )
|
788
792
|
end
|
789
793
|
end
|
790
794
|
else
|
791
795
|
@enabled_gems.delete_if do |this_gem, true_value|
|
792
|
-
@disabled_gems
|
796
|
+
@disabled_gems[ this_gem ] = true
|
793
797
|
true
|
794
798
|
end
|
795
799
|
@enable_for_all = false
|
@@ -888,11 +892,12 @@ module ::Development
|
|
888
892
|
|
889
893
|
gem_name = gem_name_or_path.to_s
|
890
894
|
|
891
|
-
if @loaded_gems.
|
895
|
+
if @loaded_gems.has_key?( gem_name.to_sym )
|
892
896
|
did_load = false
|
893
897
|
else
|
894
898
|
# ensure we have 'gem-subname' rather than 'gem/subname'
|
895
899
|
# we really just need one or the other consistently
|
900
|
+
gem_name = gem_name.gsub( '/', '-' )
|
896
901
|
gem_directory_name = gem_name.gsub( '/', '-' )
|
897
902
|
|
898
903
|
# look for gem name in enabled gems/gemsets
|
@@ -906,13 +911,13 @@ module ::Development
|
|
906
911
|
if gem_name_in_load_path?( load_path, gem_directory_name )
|
907
912
|
|
908
913
|
load_gem_in_path( load_path, gem_directory_name )
|
909
|
-
@loaded_gems
|
914
|
+
@loaded_gems[ gem_name.to_sym ] = true
|
910
915
|
did_load = true
|
911
916
|
|
912
917
|
elsif gem_name_at_load_path?( load_path, gem_directory_name )
|
913
918
|
|
914
919
|
load_gem_at_path( load_path, gem_directory_name )
|
915
|
-
@loaded_gems
|
920
|
+
@loaded_gems[ gem_name.to_sym ] = true
|
916
921
|
did_load = true
|
917
922
|
|
918
923
|
end
|
@@ -927,7 +932,7 @@ module ::Development
|
|
927
932
|
# look for gem name at load path
|
928
933
|
if gem_name_at_load_path?( this_load_path, gem_name )
|
929
934
|
load_gem_at_path( this_load_path, gem_name )
|
930
|
-
@loaded_gems
|
935
|
+
@loaded_gems[ gem_name.to_sym ] = true
|
931
936
|
did_load = true
|
932
937
|
end
|
933
938
|
|
data/spec/development_spec.rb
CHANGED
@@ -132,7 +132,7 @@ describe ::Development do
|
|
132
132
|
::Development.directory( :named_path ).should == ::File.expand_path( '~/path/to/somewhere' )
|
133
133
|
|
134
134
|
::Development.parse_general_directory_or_location_expression( '@named_path some_gem, some_other_gem' )
|
135
|
-
::Development.location( :named_path ).should ==
|
135
|
+
::Development.location( :named_path ).should == { :some_gem => true, :some_other_gem => true }
|
136
136
|
|
137
137
|
::Development.parse_general_directory_or_location_expression( '@named_path/path/to/somewhere' )
|
138
138
|
::Development.general_load_paths.include?( ::File.expand_path( '~/path/to/somewhere/path/to/somewhere' ) ).should == true
|
@@ -290,9 +290,9 @@ describe ::Development do
|
|
290
290
|
::Development.directory( :hooked_objects ).should == ::File.expand_path( '~/Projects/rp/ruby/hooked_objects' )
|
291
291
|
::Development.directory( :compositing_objects ).should == ::File.expand_path( '~/Projects/rp/ruby/compositing_objects' )
|
292
292
|
|
293
|
-
::Development.location( :hooked_objects ).should ==
|
294
|
-
::Development.location( :compositing_objects ).should ==
|
295
|
-
::Development.location( :ridiculous_power ).should ==
|
293
|
+
::Development.location( :hooked_objects ).should == { :hooked_objects => true }
|
294
|
+
::Development.location( :compositing_objects ).should == { :compositing_objects => true }
|
295
|
+
::Development.location( :ridiculous_power ).should == { :ridiculous_power => true }
|
296
296
|
|
297
297
|
::Development.enabled_gems.should == [ ]
|
298
298
|
::Development.enabled_for_all?.should == true
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: development
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,24 +9,8 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-07-
|
13
|
-
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: array-unique
|
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'
|
12
|
+
date: 2012-07-10 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
30
14
|
description: Sometimes problems in one gem under development only appear in the context
|
31
15
|
of use in another gem. In these contexts it can be difficult to discern the particular
|
32
16
|
problem case without diving into the code. When gems are nested in multiple levels
|