diff --git a/lib/bullseye/sass/bullseye_functions.rb b/lib/bullseye/sass/bullseye_functions.rb index 290a8be..609f863 100644 --- a/lib/bullseye/sass/bullseye_functions.rb +++ b/lib/bullseye/sass/bullseye_functions.rb @@ -11,3 +11,4 @@ module Sass::Script::Functions Sass::Script::String.new("body[data-action='#{action}'][data-controller='#{controller}']") end end + diff --git a/lib/bullseye/tilt/bullseye_template.rb b/lib/bullseye/tilt/bullseye_template.rb index 64d958d..c598dfd 100644 --- a/lib/bullseye/tilt/bullseye_template.rb +++ b/lib/bullseye/tilt/bullseye_template.rb @@ -1,9 +1,11 @@ require 'tilt' -require 'sprockets' +require 'bullseye/tilt/find_parts' module Bullseye module Tilt class BullseyeTemplate < ::Tilt::Template + include Bullseye::Tilt::FindParts + def self.default_mime_type 'application/javascript' end @@ -12,9 +14,7 @@ module Bullseye end def evaluate(scope, locals, &block) - parts = scope.logical_path.split('/') - action = parts.pop - controller = parts[1..-1].join('/') + @scope = scope <<-JS Bullseye.target('#{controller}', '#{action}', function() { diff --git a/lib/bullseye/tilt/find_parts.rb b/lib/bullseye/tilt/find_parts.rb new file mode 100644 index 0000000..8630b3d --- /dev/null +++ b/lib/bullseye/tilt/find_parts.rb @@ -0,0 +1,18 @@ +module Bullseye + module Tilt + module FindParts + def action + parts.last + end + + def controller + parts[0..-2].join('/') + end + + def parts + @scope.logical_path.split('/')[1..-1] + end + end + end +end +