Sha256: 3233ce840181d18de63fa6ce781da3f3dd215ab23b0578e8a73de3432e6ab05a

Contents?: true

Size: 1017 Bytes

Versions: 2

Compression:

Stored size: 1017 Bytes

Contents

module Rubycritic

  module ViewHelpers
    def timeago_tag(time)
      "<time class='js-timeago' datetime='#{time}'>#{time}</time>"
    end

    def javascript_tag(file)
      "<script src='" + asset_path("javascripts/#{file}.js").to_s + "'></script>"
    end

    def stylesheet_path(file)
      asset_path("stylesheets/#{file}.css")
    end

    def asset_path(file)
      relative_path(root_directory + "assets" + file)
    end

    def file_path(file)
      relative_path(root_directory + file)
    end

    def smell_location_path(location)
      file_path("#{location.pathname.sub_ext('.html')}#L#{location.line}")
    end

    private

    def relative_path(pathname)
      pathname.relative_path_from(file_directory)
    end

    def file_directory
      raise NotImplementedError.new("The #{self.class} class must implement the #{__method__} method.")
    end

    def root_directory
      raise NotImplementedError.new("The #{self.class} class must implement the #{__method__} method.")
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubycritic-1.1.1 lib/rubycritic/report_generators/view_helpers.rb
rubycritic-1.1.0 lib/rubycritic/report_generators/view_helpers.rb