cargobull 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8afc99ac65f76c719411449cec7fffb3117f2c80
4
- data.tar.gz: fd4ad2a39ecd949df7233668ddd57b435f7cefe2
3
+ metadata.gz: 10d4573ef49edddeba066b395acbda92670970cf
4
+ data.tar.gz: 8ec263ca61d17803a7601a6fc010ff24859b18c4
5
5
  SHA512:
6
- metadata.gz: 5396ab2ec3a1ce7e4966bcad1320e49f48fbef53923d033a0806b5fc5f041aa6ab23840b37410406d02eb909b7c4d7bd5af3723389f749943deefb970d3e9d6d
7
- data.tar.gz: 0571ae1fa809f89bc63f0e9dbce8bcd520253cd628202d6e77bca0752768fa54054c58e08142729665cdf2eb75a4d7089b3f08cc5f8cf9c66a073f947cb2c895
6
+ metadata.gz: 90955b7382fe9d8d0ebccae11ad0842603719c03456943d0bb25d3609933f930313bcedd58efc1110c168ba7d756b1533c1df0afbe29929e05534123f05ad794
7
+ data.tar.gz: ada03bb9e1fb5bbcf801a44c14ba6d72f83c6f0a3066f8de4cbc5ae217c339f2f0660edd703149b9d22faddf3167793b1745c0b41880aa602a48a14508a662da
@@ -37,7 +37,8 @@ class String
37
37
  end
38
38
 
39
39
  def camelize
40
- return self.to_s.split(/_/).map(&:capitalize).join
40
+ return self.to_s.split(/_/).map(&:capitalize).join.
41
+ split(/\//).map(&:capitalize).join('::')
41
42
  end
42
43
 
43
44
  def camelize!
@@ -45,8 +46,8 @@ class String
45
46
  end
46
47
 
47
48
  def underscore
48
- return self.to_s.split(/([A-Z]?[^A-Z]*)/).reject(&:empty?).
49
- map(&:downcase).join('_')
49
+ return self.to_s.sub(/:+/, '/').split(/([A-Z]?[^A-Z]*)/).reject(&:empty?).
50
+ map(&:downcase).join('_').gsub(/\/_/, '/')
50
51
  end
51
52
 
52
53
  def underscore!
@@ -12,10 +12,18 @@ module Cargobull
12
12
  select{ |d| File.directory?(d) }
13
13
 
14
14
  sanitized_args.each do |dir|
15
- ruby_files = Dir["#{dir}/*.rb"]
15
+ ruby_files = Dir["#{dir}/**/*.rb"]
16
16
  @file_map = ruby_files.reduce(@file_map) do |acc, f|
17
- file_name = File.basename(f).sub(/\.rb$/, '')
18
- Object.autoload(file_name.camelize, f)
17
+ file_name = f.sub(/^#{dir}\/?/, '').sub(/\.rb$/, '').camelize
18
+ *mods, klass_name = file_name.split('::')
19
+ mod = mods.reduce(Object) do |acc, mod_str|
20
+ unless acc.const_defined?(mod_str)
21
+ acc.const_set(mod_str, Module.new)
22
+ end
23
+ next acc.const_get(mod_str)
24
+ end
25
+
26
+ mod.autoload(klass_name, f)
19
27
  acc << f
20
28
  end
21
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cargobull
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Geier