riddl 0.99.183 → 0.99.184

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: 3cf3f893d98649855be8b00dad8b0bfe1d8f711c
4
- data.tar.gz: 968e8e3293ef009c8b0a3bcff7f7bbcfb3890cac
3
+ metadata.gz: 34185cd539b33033e2da9a8a3de9adb7aebd52f0
4
+ data.tar.gz: a72f90e26bcb0d45fa6b467c40c6c51ca0e2211f
5
5
  SHA512:
6
- metadata.gz: 573468d6020fcc9a8dc3e0866970aa44433df6bede641c0b06af79516f318718002f145ae84db6dbed5b8d27550aec785a7d043651227b3b0fc27e324f6fae6e
7
- data.tar.gz: f4c0114f1d82c24f1989916b288777f3e3a27a41fb2566e7894311d392892d1ee07b97d4b2f57715800890618f0f80e7dc03d8949eb027b5170420fc921fd288
6
+ metadata.gz: 67e128c69893b0d367c69bba32a3af43f3f688f49be990c6779fb13e707e8c4b89c7375349bf4ed1422b3eecb7770aeed3779458714323272b86709e4070699b
7
+ data.tar.gz: 42ffb28d1beac0823471df53387d4d420173c3ab3172a080a8b16b596fe76449d80af7268aa4c2950749eeab0c182143ef05e836c5523d3c92a0433b243264f4
@@ -58,14 +58,40 @@ module Riddl
58
58
  fac.composition[method] += s
59
59
  end
60
60
  res.resources.each do |path,r|
61
- unless fac.resources.has_key?(path)
61
+ if !fac.resources.has_key?(path) && path != '**/*' && path != '*'
62
62
  fac.resources[path] = Riddl::Wrapper::Description::Resource.new(path,r.recursive)
63
- end
64
- merge_tiles(r,fac.resources[path])
63
+ end
64
+ if path == '**/*'
65
+ merge_tiles_to_all(r,fac)
66
+ elsif path == '*'
67
+ merge_tiles_to_layer(r,fac)
68
+ else
69
+ merge_tiles(r,fac.resources[path])
70
+ end
65
71
  end
66
72
  #}}}
67
73
  end
68
74
 
75
+ # recurse to all resources that currently exist in facade beneath the
76
+ # current resource path, and merge the tile contents
77
+ def merge_tiles_to_all(r,fac)
78
+
79
+ fac.resources.keys.each do |fkey|
80
+ merge_tiles(r,fac.resources[fkey])
81
+ merge_tiles_to_all(r,fac.resources[fkey])
82
+ end
83
+ end
84
+ private :merge_tiles_to_all
85
+
86
+ # move to children in the facade (directly beneath the current resource
87
+ # path), and merge the tile contents
88
+ def merge_tiles_to_layer(r,fac)
89
+ fac.resources.keys.each do |fkey|
90
+ merge_tiles(r,fac.resources[fkey])
91
+ end
92
+ end
93
+ private :merge_tiles_to_all
94
+
69
95
  attr_reader :resource
70
96
  end
71
97
 
@@ -76,7 +76,7 @@ module Riddl
76
76
 
77
77
  def add_path(path,pres,rec=nil)
78
78
  #{{{
79
- path.split('/').each do |pa|
79
+ path.split(/(?<!\/\*\*)\//).each do |pa| # match a slash not preceeded by **
80
80
  next if pa == ""
81
81
  unless pres.resources.has_key?(pa)
82
82
  pres.resources[pa] = Riddl::Wrapper::Description::Resource.new(pa,rec.nil? ? false : true)
data/riddl.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "riddl"
3
- s.version = "0.99.183"
3
+ s.version = "0.99.184"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3"
6
6
  s.summary = "restful interface description and declaration language: tools and client/server libs"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riddl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.99.183
4
+ version: 0.99.184
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
8
8
  autorequire:
9
9
  bindir: tools
10
10
  cert_chain: []
11
- date: 2015-03-18 00:00:00.000000000 Z
11
+ date: 2015-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xml-smart