Sha256: 98e36b602621179ffd7604e3e6e0610c433d614eff0f3b418255b7e6c9586fd4
Contents?: true
Size: 844 Bytes
Versions: 1
Compression:
Stored size: 844 Bytes
Contents
require_relative "routes_context" require_relative "js_function_helper" module AssetPipelineRoutes class RoutesHelper def initialize(routes, default_block = '{{\1}}') routes.each do |route| next if route.name.nil? # only handle named_routes self.class.instance_eval do define_method :"#{route.name}_path" do |id_replacement = default_block| proc { |route, mapping| build_url route, mapping }.curry[route].call id_replacement end define_method :"#{route.name}_path_method" do |style = :js| AssetPipelineRoutes::JsFunctionHelper::route_to_anonymous_function build_url(route, ':\1'), style end end end end def build_url route, mapping route.path.ast.to_s.gsub(/\(\.:\w+\)/,'').gsub(/:(\w+)/, mapping).to_s end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
asset_pipeline_routes-0.0.3 | lib/asset_pipeline_routes/routes_helper.rb |