orange 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. data/README.markdown +7 -6
  2. data/lib/{orange → orange-core}/application.rb +0 -0
  3. data/lib/{orange → orange-core}/assets/css/exceptions.css +0 -0
  4. data/lib/{orange → orange-core}/assets/js/exceptions.js +0 -0
  5. data/lib/{orange → orange-core}/carton.rb +0 -0
  6. data/lib/{orange → orange-core}/core.rb +15 -1
  7. data/lib/{orange → orange-core}/magick.rb +75 -14
  8. data/lib/{orange → orange-core}/middleware/base.rb +1 -1
  9. data/lib/{orange → orange-core}/middleware/database.rb +1 -1
  10. data/lib/{orange → orange-core}/middleware/four_oh_four.rb +1 -1
  11. data/lib/{orange → orange-core}/middleware/globals.rb +1 -1
  12. data/lib/{orange → orange-core}/middleware/loader.rb +1 -1
  13. data/lib/orange-core/middleware/rerouter.rb +53 -0
  14. data/lib/{orange → orange-core}/middleware/restful_router.rb +1 -1
  15. data/lib/{orange → orange-core}/middleware/route_context.rb +1 -1
  16. data/lib/{orange → orange-core}/middleware/route_site.rb +1 -1
  17. data/lib/{orange → orange-core}/middleware/show_exceptions.rb +1 -1
  18. data/lib/{orange → orange-core}/middleware/static.rb +9 -21
  19. data/lib/{orange → orange-core}/middleware/static_file.rb +0 -0
  20. data/lib/{orange → orange-core}/middleware/template.rb +3 -10
  21. data/lib/{orange → orange-core}/packet.rb +0 -0
  22. data/lib/orange-core/plugin.rb +172 -0
  23. data/lib/{orange → orange-core}/resource.rb +2 -2
  24. data/lib/{orange → orange-core}/resources/mapper.rb +1 -26
  25. data/lib/{orange → orange-core}/resources/model_resource.rb +2 -2
  26. data/lib/{orange → orange-core}/resources/not_found.rb +1 -0
  27. data/lib/{orange → orange-core}/resources/page_parts.rb +1 -0
  28. data/lib/{orange → orange-core}/resources/parser.rb +16 -8
  29. data/lib/{orange → orange-core}/resources/routable_resource.rb +1 -1
  30. data/lib/{orange → orange-core}/stack.rb +30 -16
  31. data/lib/{orange → orange-core}/templates/exceptions.haml +0 -0
  32. data/lib/{orange → orange-core}/views/default_resource/create.haml +0 -0
  33. data/lib/{orange → orange-core}/views/default_resource/edit.haml +0 -0
  34. data/lib/{orange → orange-core}/views/default_resource/list.haml +0 -0
  35. data/lib/{orange → orange-core}/views/default_resource/show.haml +0 -0
  36. data/lib/{orange → orange-core}/views/default_resource/table_row.haml +0 -0
  37. data/lib/{orange → orange-core}/views/not_found/404.haml +0 -0
  38. data/lib/orange-core.rb +8 -0
  39. data/lib/{orange → orange-more/administration}/assets/css/admin.css +6 -6
  40. data/lib/{orange → orange-more/administration}/assets/css/blueprint-ie.css +0 -0
  41. data/lib/{orange → orange-more/administration}/assets/css/blueprint-print.css +0 -0
  42. data/lib/{orange → orange-more/administration}/assets/css/blueprint.css +0 -0
  43. data/lib/{orange → orange-more/administration}/assets/js/jquery.js +0 -0
  44. data/lib/orange-more/administration/cartons/site.rb +9 -0
  45. data/lib/{orange → orange-more/administration}/cartons/site_carton.rb +1 -1
  46. data/lib/{orange/cartons/user_carton.rb → orange-more/administration/cartons/user.rb} +2 -0
  47. data/lib/{orange → orange-more/administration}/middleware/access_control.rb +1 -1
  48. data/lib/{orange → orange-more/administration}/middleware/site_load.rb +2 -23
  49. data/lib/orange-more/administration/plugin.rb +22 -0
  50. data/lib/{orange → orange-more/administration}/resources/admin_resource.rb +0 -0
  51. data/lib/orange-more/administration/resources/site_resource.rb +10 -0
  52. data/lib/{orange → orange-more/administration}/resources/user_resource.rb +1 -1
  53. data/lib/{orange → orange-more/administration}/templates/admin.haml +0 -0
  54. data/lib/{orange → orange-more/administration}/views/openid_login.haml +0 -0
  55. data/lib/orange-more/administration.rb +1 -0
  56. data/lib/{orange → orange-more/assets}/cartons/asset_carton.rb +0 -0
  57. data/lib/orange-more/assets/plugin.rb +13 -0
  58. data/lib/{orange → orange-more/assets}/resources/asset_resource.rb +0 -0
  59. data/lib/{orange → orange-more/assets}/views/assets/create.haml +0 -0
  60. data/lib/orange-more/assets.rb +1 -0
  61. data/lib/{orange → orange-more/pages}/cartons/page_carton.rb +1 -1
  62. data/lib/{orange → orange-more/pages}/cartons/page_version_carton.rb +1 -1
  63. data/lib/orange-more/pages/plugin.rb +13 -0
  64. data/lib/{orange → orange-more/pages}/resources/page_resource.rb +0 -0
  65. data/lib/{orange → orange-more/pages}/views/pages/edit.haml +0 -0
  66. data/lib/orange-more/pages.rb +1 -0
  67. data/lib/{orange → orange-more/sitemap}/assets/img/sitemap_down.png +0 -0
  68. data/lib/{orange → orange-more/sitemap}/assets/img/sitemap_down_d.png +0 -0
  69. data/lib/{orange → orange-more/sitemap}/assets/img/sitemap_indent.png +0 -0
  70. data/lib/{orange → orange-more/sitemap}/assets/img/sitemap_indent_d.png +0 -0
  71. data/lib/{orange → orange-more/sitemap}/assets/img/sitemap_outdent.png +0 -0
  72. data/lib/{orange → orange-more/sitemap}/assets/img/sitemap_outdent_d.png +0 -0
  73. data/lib/{orange → orange-more/sitemap}/assets/img/sitemap_up.png +0 -0
  74. data/lib/{orange → orange-more/sitemap}/assets/img/sitemap_up_d.png +0 -0
  75. data/lib/{orange → orange-more/sitemap}/assets/js/sitemap.js +0 -0
  76. data/lib/orange-more/sitemap/cartons/route.rb +43 -0
  77. data/lib/{orange → orange-more/sitemap}/middleware/flex_router.rb +2 -7
  78. data/lib/orange-more/sitemap/plugin.rb +17 -0
  79. data/lib/{orange → orange-more/sitemap}/resources/sitemap_resource.rb +3 -43
  80. data/lib/{orange → orange-more/sitemap}/views/sitemap/list.haml +0 -0
  81. data/lib/{orange → orange-more/sitemap}/views/sitemap/sitemap_links.haml +0 -0
  82. data/lib/{orange → orange-more/sitemap}/views/sitemap/table_row.haml +0 -0
  83. data/lib/{orange → orange-more/sitemap}/views/sitemap/two_level.haml +0 -0
  84. data/lib/orange-more/sitemap.rb +1 -0
  85. data/lib/{orange → orange-more/slices}/middleware/radius_parser.rb +1 -1
  86. data/lib/orange-more/slices/plugin.rb +15 -0
  87. data/lib/{orange → orange-more/slices}/resources/radius.rb +0 -0
  88. data/lib/{orange → orange-more/slices}/resources/slices.rb +0 -0
  89. data/lib/orange-more/slices.rb +1 -0
  90. data/lib/orange-more.rb +10 -0
  91. data/lib/orange.rb +2 -6
  92. data/spec/{orange → orange-core}/application_spec.rb +0 -0
  93. data/spec/{orange → orange-core}/carton_spec.rb +0 -0
  94. data/spec/{orange → orange-core}/core_spec.rb +2 -2
  95. data/spec/{orange → orange-core}/magick_spec.rb +0 -0
  96. data/spec/{orange → orange-core}/middleware/base_spec.rb +0 -0
  97. data/spec/{orange → orange-core}/middleware/globals_spec.rb +0 -0
  98. data/spec/{orange → orange-core}/middleware/rerouter_spec.rb +0 -0
  99. data/spec/{orange → orange-core}/middleware/restful_router_spec.rb +0 -0
  100. data/spec/{orange → orange-core}/middleware/route_context_spec.rb +0 -0
  101. data/spec/{orange → orange-core}/middleware/route_site_spec.rb +0 -0
  102. data/spec/{orange → orange-core}/middleware/show_exceptions_spec.rb +0 -0
  103. data/spec/{orange → orange-core}/middleware/static_file_spec.rb +0 -0
  104. data/spec/{orange → orange-core}/middleware/static_spec.rb +0 -0
  105. data/spec/{orange → orange-core}/mock/mock_app.rb +0 -0
  106. data/spec/{orange → orange-core}/mock/mock_carton.rb +0 -0
  107. data/spec/{orange → orange-core}/mock/mock_core.rb +0 -0
  108. data/spec/{orange → orange-core}/mock/mock_middleware.rb +0 -0
  109. data/spec/{orange → orange-core}/mock/mock_mixins.rb +0 -0
  110. data/spec/{orange → orange-core}/mock/mock_model_resource.rb +0 -0
  111. data/spec/{orange → orange-core}/mock/mock_pulp.rb +0 -0
  112. data/spec/{orange → orange-core}/mock/mock_resource.rb +0 -0
  113. data/spec/{orange → orange-core}/mock/mock_router.rb +0 -0
  114. data/spec/{orange → orange-core}/orange_spec.rb +0 -0
  115. data/spec/{orange → orange-core}/packet_spec.rb +0 -0
  116. data/spec/{orange → orange-core}/resource_spec.rb +0 -0
  117. data/spec/{orange → orange-core}/resources/mapper_spec.rb +0 -0
  118. data/spec/{orange → orange-core}/resources/model_resource_spec.rb +0 -0
  119. data/spec/{orange → orange-core}/resources/parser_spec.rb +0 -0
  120. data/spec/{orange → orange-core}/resources/routable_resource_spec.rb +0 -0
  121. data/spec/{orange → orange-core}/spec_helper.rb +1 -1
  122. data/spec/{orange → orange-core}/stack_spec.rb +20 -20
  123. metadata +122 -184
  124. data/lib/orange/middleware/rerouter.rb +0 -13
  125. data/lib/orange/resources/singleton_model_resource.rb +0 -7
  126. data/spec/orange/middleware/access_control_spec.rb +0 -3
  127. data/spec/orange/middleware/database_spec.rb +0 -3
  128. data/spec/orange/middleware/site_load_spec.rb +0 -26
  129. data/spec/orange/middleware/template_spec.rb +0 -3
  130. data/spec/orange/resources/admin_resource_spec.rb +0 -16
  131. data/spec/orange/resources/singleton_model_resource_spec.rb +0 -4
  132. data/spec/orange/resources/sitemap_resource_spec.rb +0 -5
@@ -1,4 +1,4 @@
1
- require 'orange/core'
1
+ require 'orange-core/core'
2
2
  require 'rack/builder'
3
3
  module Orange
4
4
  # Builds an orange stack of middleware
@@ -92,6 +92,11 @@ module Orange
92
92
  stack Orange::Middleware::ShowExceptions
93
93
  end
94
94
 
95
+ # Alias for use_exceptions
96
+ def show_exceptions
97
+ use_exceptions
98
+ end
99
+
95
100
  # Turn off recapture middleware, which is normally just on top of the exit
96
101
  # point
97
102
  # @see Orange::Middleware::Recapture
@@ -112,6 +117,8 @@ module Orange
112
117
  #
113
118
  def prerouting(*args)
114
119
  opts = args.extract_options!
120
+ stack Orange::Middleware::Globals
121
+ stack Orange::Middleware::Loader
115
122
  stack Orange::Middleware::Rerouter, opts.dup
116
123
  stack Orange::Middleware::Static, opts.dup
117
124
  use Rack::AbstractFormat unless opts[:no_abstract_format]
@@ -119,29 +126,36 @@ module Orange
119
126
  # since all orange stuff is non-destructive
120
127
  stack Orange::Middleware::RouteSite, opts.dup
121
128
  stack Orange::Middleware::RouteContext, opts.dup
129
+ stack Orange::Middleware::Database
130
+ Orange.plugins.each{|p| p.middleware(:prerouting).each{|m| stack m, opts.dup} if p.has_middleware?}
122
131
  end
123
132
 
124
- # A shortcut for enabling restful routing via Orange::Middleware::RestfulRouter
133
+ # A shortcut for routing via Orange::Middleware::RestfulRouter and any plugins
125
134
  #
126
135
  # Any args are passed on to the middleware
127
- def restful_routing(*args)
128
- opts = args.extract_options!
129
- stack Orange::Middleware::RestfulRouter, opts
136
+ def routing(opts ={})
137
+ stack Orange::Middleware::RestfulRouter, opts.dup
138
+ Orange.plugins.each{|p| p.middleware(:routing).each{|m| stack m, opts.dup} if p.has_middleware?}
139
+ stack Orange::Middleware::FourOhFour, opts.dup
130
140
  end
131
141
 
132
- # A shortcut to enable Rack::OpenID and Orange::Middleware::AccessControl
133
- #
134
- # Args will be passed on to Orange::Middleware::AccessControl
135
- # @todo Make it so this is not dependent on the openid_dm_store gem (outdated)
136
- def openid_access_control(*args)
137
- opts = args.extract_options!
138
- require 'rack/openid'
139
- require 'openid_dm_store'
140
-
141
- use Rack::OpenID, OpenIDDataMapper::DataMapperStore.new
142
- stack Orange::Middleware::AccessControl, opts
142
+ def postrouting(opts ={})
143
+ Orange.plugins.each{|p| p.middleware(:postrouting).each{|m| stack m, opts.dup} if p.has_middleware?}
144
+ stack Orange::Middleware::Template
145
+ end
146
+
147
+ def responders(opts ={})
148
+ Orange.plugins.each{|p| p.middleware(:responders).each{|m| stack m, opts.dup} if p.has_middleware?}
143
149
  end
144
150
 
151
+ # # A shortcut to enable Rack::OpenID and Orange::Middleware::AccessControl
152
+ # #
153
+ # # Args will be passed on to Orange::Middleware::AccessControl
154
+ # def openid_access_control(*args)
155
+ # opts = args.extract_options!
156
+ #
157
+ # end
158
+
145
159
  # Adds pulp to the core via the Orange::Core#add_pulp method
146
160
  # @param [Orange::Mixin] mod a mixin to be included in the packet
147
161
  def add_pulp(mod)
@@ -0,0 +1,8 @@
1
+ libdir = File.dirname(__FILE__)
2
+ $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
3
+
4
+ require File.join(libdir, 'orange-core', 'magick.rb')
5
+ Dir.glob(File.join(libdir, 'orange-core', '*.rb')).each {|f| require f }
6
+ Dir.glob(File.join(libdir, 'orange-core', 'cartons', '*.rb')).each {|f| require f }
7
+ Dir.glob(File.join(libdir, 'orange-core', 'resources', '*.rb')).each {|f| require f }
8
+ Dir.glob(File.join(libdir, 'orange-core', 'middleware', '*.rb')).each {|f| require f }
@@ -194,7 +194,7 @@ body{
194
194
 
195
195
 
196
196
  .move_actions .up{
197
- background: url(/assets/_orange_/img/sitemap_up.png);
197
+ background: url(/assets/_sitemap_/img/sitemap_up.png);
198
198
  }
199
199
  .move_actions .arrow{
200
200
  display: block;
@@ -206,25 +206,25 @@ body{
206
206
  }
207
207
  .move_actions .indent{
208
208
  margin-top: 15px;
209
- background: url(/assets/_orange_/img/sitemap_indent.png);
209
+ background: url(/assets/_sitemap_/img/sitemap_indent.png);
210
210
  }
211
211
  .move_actions .outdent{
212
212
  margin-top: 15px;
213
- background: url(/assets/_orange_/img/sitemap_outdent.png);
213
+ background: url(/assets/_sitemap_/img/sitemap_outdent.png);
214
214
  }
215
215
 
216
216
  .move_actions .down{
217
- background: url(/assets/_orange_/img/sitemap_down.png);
217
+ background: url(/assets/_sitemap_/img/sitemap_down.png);
218
218
  }
219
219
 
220
220
  .move_actions .disabled_down{
221
- background: url(/assets/_orange_/img/sitemap_down_d.png);
221
+ background: url(/assets/_sitemap_/img/sitemap_down_d.png);
222
222
  }
223
223
 
224
224
 
225
225
 
226
226
  .move_actions .disabled_up{
227
- background: url(/assets/_orange_/img/sitemap_up_d.png);
227
+ background: url(/assets/_sitemap_/img/sitemap_up_d.png);
228
228
  }
229
229
 
230
230
 
@@ -0,0 +1,9 @@
1
+ module Orange
2
+ class Site < Carton
3
+ id
4
+ admin do
5
+ title :name
6
+ text :url
7
+ end
8
+ end
9
+ end
@@ -1,4 +1,4 @@
1
- require 'orange/carton'
1
+ require 'orange-core/carton'
2
2
 
3
3
  module Orange
4
4
  # Defines a carton that belongs to a specific site.
@@ -1,3 +1,5 @@
1
+ require 'orange-core/carton'
2
+
1
3
  module Orange
2
4
  class User < Orange::Carton
3
5
  id
@@ -1,4 +1,4 @@
1
- require 'orange/middleware/base'
1
+ require 'orange-core/middleware/base'
2
2
 
3
3
 
4
4
 
@@ -1,13 +1,9 @@
1
- require 'orange/middleware/base'
1
+ require 'orange-core/middleware/base'
2
2
  module Orange::Middleware
3
3
  # This will load information about the site to into the orange env
4
4
  # - packet['site'] will be an instance of the site object
5
5
  #
6
- class SiteLoad < Base
7
- def init(*args)
8
- orange.load Orange::SiteResource.new, :orange_sites
9
- end
10
-
6
+ class SiteLoad < Base
11
7
  def packet_call(packet)
12
8
  url = packet['route.site_url']
13
9
  site = Orange::Site.first(:url.like => url)
@@ -25,20 +21,3 @@ module Orange::Middleware
25
21
 
26
22
  end
27
23
 
28
- module Orange
29
- class Site < Carton
30
- id
31
- admin do
32
- title :name
33
- text :url
34
- end
35
- end
36
-
37
- class SiteResource < ModelResource
38
- use Orange::Site
39
- def afterLoad
40
- orange[:admin, true].add_link('Settings', :resource => @my_orange_name,
41
- :text => 'Site')
42
- end
43
- end
44
- end
@@ -0,0 +1,22 @@
1
+ Dir.glob(File.join(File.dirname(__FILE__), 'cartons', '*.rb')).each {|f| require f }
2
+ Dir.glob(File.join(File.dirname(__FILE__), 'resources', '*.rb')).each {|f| require f }
3
+ Dir.glob(File.join(File.dirname(__FILE__), 'middleware', '*.rb')).each {|f| require f }
4
+
5
+ module Orange::Plugins
6
+ class Administration < Base
7
+ assets_dir File.join(File.dirname(__FILE__), 'assets')
8
+ views_dir File.join(File.dirname(__FILE__), 'views')
9
+ templates_dir File.join(File.dirname(__FILE__), 'templates')
10
+
11
+ resource Orange::AdminResource.new, :admin
12
+ resource Orange::UserResource.new
13
+ resource Orange::SiteResource.new
14
+
15
+ prerouter Orange::Middleware::AccessControl
16
+ prerouter Orange::Middleware::SiteLoad
17
+
18
+ end
19
+ end
20
+
21
+ Orange.plugin(Orange::Plugins::Administration.new)
22
+
@@ -0,0 +1,10 @@
1
+ module Orange
2
+ class SiteResource < ModelResource
3
+ use Orange::Site
4
+ call_me :orange_sites
5
+ def afterLoad
6
+ orange[:admin].add_link('Settings', :resource => @my_orange_name,
7
+ :text => 'Site')
8
+ end
9
+ end
10
+ end
@@ -3,7 +3,7 @@ module Orange
3
3
  use Orange::User
4
4
  call_me :users
5
5
  def afterLoad
6
- orange[:admin, true].add_link("Settings", :resource => @my_orange_name, :text => 'Users')
6
+ orange[:admin].add_link("Settings", :resource => @my_orange_name, :text => 'Users')
7
7
  end
8
8
 
9
9
  def access_allowed?(packet, user)
@@ -0,0 +1 @@
1
+ require File.join('orange-more', 'administration', 'plugin')
@@ -0,0 +1,13 @@
1
+ Dir.glob(File.join(File.dirname(__FILE__), 'cartons', '*.rb')).each {|f| require f }
2
+ Dir.glob(File.join(File.dirname(__FILE__), 'resources', '*.rb')).each {|f| require f }
3
+
4
+ module Orange::Plugins
5
+ class Assets < Base
6
+ views_dir File.join(File.dirname(__FILE__), 'views')
7
+
8
+ resource Orange::AssetResource.new
9
+ end
10
+ end
11
+
12
+ Orange.plugin(Orange::Plugins::Assets.new)
13
+
@@ -0,0 +1 @@
1
+ require File.join('orange-more', 'assets', 'plugin')
@@ -1,5 +1,5 @@
1
1
  require 'dm-timestamps'
2
- require 'orange/cartons/site_carton'
2
+ require 'orange-more/administration/cartons/site_carton'
3
3
  module Orange
4
4
  class Page < Orange::SiteCarton
5
5
  id
@@ -1,5 +1,5 @@
1
1
  require 'dm-timestamps'
2
- require 'orange/cartons/site_carton'
2
+ require 'orange-more/administration/cartons/site_carton'
3
3
  module Orange
4
4
  class PageVersion < Orange::SiteCarton
5
5
  id
@@ -0,0 +1,13 @@
1
+ Dir.glob(File.join(File.dirname(__FILE__), 'cartons', '*.rb')).each {|f| require f }
2
+ Dir.glob(File.join(File.dirname(__FILE__), 'resources', '*.rb')).each {|f| require f }
3
+
4
+ module Orange::Plugins
5
+ class Pages < Base
6
+ views_dir File.join(File.dirname(__FILE__), 'views')
7
+
8
+ resource Orange::PageResource.new
9
+ end
10
+ end
11
+
12
+ Orange.plugin(Orange::Plugins::Pages.new)
13
+
@@ -0,0 +1 @@
1
+ require File.join('orange-more', 'pages', 'plugin')
@@ -0,0 +1,43 @@
1
+ require 'orange-more/administration/cartons/site_carton'
2
+ require 'dm-is-awesome_set'
3
+
4
+ module Orange
5
+ class Route < SiteCarton
6
+ id
7
+ admin do
8
+ text :slug
9
+ text :link_text
10
+ boolean :show_in_nav, :default => false, :display_name => 'Show in Navigation?'
11
+ end
12
+ orange do
13
+ string :resource
14
+ string :resource_id
15
+ string :resource_action
16
+ boolean :accept_args, :default => true
17
+ end
18
+ include DataMapper::Transaction::Resource # Make sure Transactions are included (for awesome_set)
19
+ is :awesome_set, :scope => [:orange_site_id]
20
+
21
+ def full_path
22
+ self_and_ancestors.inject('') do |path, part|
23
+ if part.parent # Check if this is a child
24
+ path = path + part.slug + '/'
25
+ else # The root slug is just the initial '/'
26
+ path = path + '/'
27
+ end
28
+ end
29
+ end
30
+
31
+ def self.home_for_site(site_id)
32
+ root(:orange_site_id => site_id)
33
+ end
34
+
35
+
36
+ def self.create_home_for_site(site_id)
37
+ home = self.new({:orange_site_id => site_id, :slug => '_index_', :accept_args => false, :link_text => 'Home'})
38
+ home.move(:root)
39
+ home.save
40
+ home
41
+ end
42
+ end
43
+ end
@@ -1,4 +1,4 @@
1
- require 'orange/middleware/base'
1
+ require 'orange-core/middleware/base'
2
2
 
3
3
  module Orange::Middleware
4
4
  # The FlexRouter middleware takes a resource that can route paths and
@@ -10,12 +10,7 @@ module Orange::Middleware
10
10
  # and "route(packet)".
11
11
  #
12
12
  # Pass a different routing resource using the :resource arg
13
- class FlexRouter < Base
14
- def init(opts = {})
15
- @resource = opts[:resource] || Orange::SitemapResource
16
- orange.load @resource.new, :sitemap
17
- end
18
-
13
+ class FlexRouter < Base
19
14
  # Sets the sitemap resource as the router if the resource can accept
20
15
  # the path.
21
16
  def packet_call(packet)
@@ -0,0 +1,17 @@
1
+ Dir.glob(File.join(File.dirname(__FILE__), 'cartons', '*.rb')).each {|f| require f }
2
+ Dir.glob(File.join(File.dirname(__FILE__), 'resources', '*.rb')).each {|f| require f }
3
+ Dir.glob(File.join(File.dirname(__FILE__), 'middleware', '*.rb')).each {|f| require f }
4
+
5
+ module Orange::Plugins
6
+ class Sitemap < Base
7
+ assets_dir File.join(File.dirname(__FILE__), 'assets')
8
+ views_dir File.join(File.dirname(__FILE__), 'views')
9
+
10
+ resource Orange::SitemapResource.new
11
+ router Orange::Middleware::FlexRouter
12
+
13
+ end
14
+ end
15
+
16
+ Orange.plugin(Orange::Plugins::Sitemap.new)
17
+
@@ -1,50 +1,10 @@
1
- require 'orange/core'
2
- require 'orange/resources/model_resource'
3
- require 'orange/cartons/site_carton'
4
- require 'dm-is-awesome_set'
1
+ require 'orange-core/core'
2
+ require 'orange-core/resources/model_resource'
5
3
  module Orange
6
- class Route < SiteCarton
7
- id
8
- admin do
9
- text :slug
10
- text :link_text
11
- boolean :show_in_nav, :default => false, :display_name => 'Show in Navigation?'
12
- end
13
- orange do
14
- string :resource
15
- string :resource_id
16
- string :resource_action
17
- boolean :accept_args, :default => true
18
- end
19
- include DataMapper::Transaction::Resource # Make sure Transactions are included (for awesome_set)
20
- is :awesome_set, :scope => [:orange_site_id]
21
-
22
- def full_path
23
- self_and_ancestors.inject('') do |path, part|
24
- if part.parent # Check if this is a child
25
- path = path + part.slug + '/'
26
- else # The root slug is just the initial '/'
27
- path = path + '/'
28
- end
29
- end
30
- end
31
-
32
- def self.home_for_site(site_id)
33
- root(:orange_site_id => site_id)
34
- end
35
-
36
-
37
- def self.create_home_for_site(site_id)
38
- home = self.new({:orange_site_id => site_id, :slug => '_index_', :accept_args => false, :link_text => 'Home'})
39
- home.move(:root)
40
- home.save
41
- home
42
- end
43
- end
44
4
 
45
5
  class SitemapResource < ModelResource
46
6
  use Orange::Route
47
-
7
+ call_me :sitemap
48
8
  def afterLoad
49
9
  orange[:admin, true].add_link('Content', :resource => @my_orange_name, :text => 'Sitemap')
50
10
 
@@ -0,0 +1 @@
1
+ require File.join('orange-more', 'sitemap', 'plugin')
@@ -1,4 +1,4 @@
1
- require 'orange/middleware/base'
1
+ require 'orange-core/middleware/base'
2
2
 
3
3
  module Orange::Middleware
4
4
  # The RadiusParser middleware will parse all outgoing content with
@@ -0,0 +1,15 @@
1
+ Dir.glob(File.join(File.dirname(__FILE__), 'resources', '*.rb')).each {|f| require f }
2
+ Dir.glob(File.join(File.dirname(__FILE__), 'middleware', '*.rb')).each {|f| require f }
3
+
4
+ module Orange::Plugins
5
+ class Slices < Base
6
+ resource Orange::Radius.new
7
+ resource Orange::Slices.new
8
+
9
+ postrouter Orange::Middleware::RadiusParser
10
+
11
+ end
12
+ end
13
+
14
+ Orange.plugin(Orange::Plugins::Slices.new)
15
+
@@ -0,0 +1 @@
1
+ require File.join('orange-more', 'slices', 'plugin')
@@ -0,0 +1,10 @@
1
+ libdir = File.dirname(__FILE__)
2
+ $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
3
+
4
+ require File.join(libdir, 'orange-core')
5
+
6
+ require File.join(libdir, 'orange-more', 'administration')
7
+ require File.join(libdir, 'orange-more', 'assets')
8
+ require File.join(libdir, 'orange-more', 'pages')
9
+ require File.join(libdir, 'orange-more', 'sitemap')
10
+ require File.join(libdir, 'orange-more', 'slices')
data/lib/orange.rb CHANGED
@@ -1,9 +1,5 @@
1
1
  libdir = File.dirname(__FILE__)
2
2
  $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
3
3
 
4
- require File.join(libdir, 'orange', 'magick.rb')
5
- Dir.glob(File.join(libdir, 'orange', '*.rb')).each {|f| require f }
6
- Dir.glob(File.join(libdir, 'orange', 'cartons', '*.rb')).each {|f| require f }
7
- require File.join(libdir, 'orange', 'resources', 'model_resource.rb')
8
- Dir.glob(File.join(libdir, 'orange', 'resources', '*.rb')).each {|f| require f }
9
- Dir.glob(File.join(libdir, 'orange', 'middleware', '*.rb')).each {|f| require f }
4
+ require File.join(libdir, 'orange-core')
5
+ require File.join(libdir, 'orange-more')
File without changes
File without changes
@@ -67,7 +67,7 @@ describe Orange::Core do
67
67
 
68
68
  it "should return a directory that contains core.rb when calling core_dir" do
69
69
  c= Orange::Core.new
70
- c.core_dir.should match(/orange$/)
70
+ c.core_dir.should match(/orange-core$/)
71
71
  File.should exist(File.join(c.core_dir, 'core.rb'))
72
72
  File.should exist(File.join(c.core_dir, 'stack.rb'))
73
73
  File.should exist(File.join(c.core_dir, 'application.rb'))
@@ -79,7 +79,7 @@ describe Orange::Core do
79
79
 
80
80
  it "should return the directory of the super class when calling core_dir on subclass" do
81
81
  c= MockCoreSubclass.new
82
- c.core_dir.should match(/orange$/)
82
+ c.core_dir.should match(/orange-core$/)
83
83
  File.should exist(File.join(c.core_dir, 'core.rb'))
84
84
  File.should exist(File.join(c.core_dir, 'stack.rb'))
85
85
  File.should exist(File.join(c.core_dir, 'application.rb'))
File without changes
File without changes
File without changes
File without changes
File without changes