Module: Perron::Site::Builder::RouteResources
Instance Method Summary collapse
Instance Method Details
#buildable_routes ⇒ Object
7 8 9 10 11 12 |
# File 'lib/perron/site/builder/route_resources.rb', line 7 def buildable_routes Rails.application.routes.routes.select do |route| route.defaults[:controller]&.start_with?("content/") && %w[index show].include?(route.defaults[:action]) end end |
#collection_for(route) ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/perron/site/builder/route_resources.rb', line 27 def collection_for(route) collection = standard_collection(route) return collection if collection collection = parent_collection(route) return collection if collection constraint_collection(route) end |
#resources_for(route) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/perron/site/builder/route_resources.rb', line 14 def resources_for(route) constraint_resources = constraint_resources_from(route) return constraint_resources if constraint_resources.any? collection = collection_for(route) return [] unless collection resources = collection.send(:load_resources).select(&:buildable?) constraint = route.path.requirements[:id] constraint.is_a?(Regexp) ? resources.select { constraint.match?(it.to_param) } : resources end |