Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
crummy-schema-dot-org
Advanced tools
Crummy is a simple and tasty way to add breadcrumbs to your Rails applications.
Simply add the dependency to your Gemfile:
gem "crummy-schema-dot-org", "~> 1.9.0"
In your controllers you may add_crumb either like a before_filter or within a method (It is also available to views).
class ApplicationController
add_crumb "Home", '/'
end
class BusinessController < ApplicationController
add_crumb("Businesses") { |instance| instance.send :businesses_path }
add_crumb("Comments", only: "comments") { |instance| instance.send :businesses_comments_path }
before_filter :load_comment, only: "show"
add_crumb :comment, only: "show"
# Example for nested routes:
add_crumb(:document) { [:account, :document] }
def show
add_crumb @business.display_name, @business
end
def load_comment
@comment = Comment.find(params[:id])
end
end
Then in your view:
<%= render_crumbs %>
You can set the html options with link_html_options. These are added to the a tag.
add_crumb "Home", '/', link_html_options: {title: "my link title"}
##You can set html instead text in first parameter.
If tag a
present in this html, tag a not be a wrapper.
add_crumb "<a class='glyphicons shield' href='/support'><i></i>Support</a>".html_safe, "", {}
render_crumbs
renders the list of crumbs as either html or xml
The output format. Can either be :xml or :html or :html_list. Defaults to :html
format: (:html|:html_list|:xml)
The separator text. It does not assume you want spaces on either side so
you must specify. Defaults to »
for :html and
<crumb>
for :xml
separator: string
Render links in the output. Defaults to true
links: false
Render Richsnipet Default to false
microdata: true
Optionally disable linking of the last crumb, Defaults to true
last_crumb_linked: false
With this option, output will be blank if there are no breadcrumbs.
skip_if_blank: true
render_crumbs #=> <a href="/">Home</a> » <a href="/businesses">Businesses</a>
render_crumbs separator: ' | ' #=> <a href="/">Home</a> | <a href="/businesses">Businesses</a>
render_crumbs format: :xml #=> <crumb href="/">Home</crumb><crumb href="/businesses">Businesses</crumb>
render_crumbs format: :html_list #=> <ol class="" id=""><li class=""><a href="/">Home</a></li><li class=""><a href="/">Businesses</a></li></ol>
render_crumbs format: :html_list, :microdata => true
#=> <ol class="" id=""><li class="" itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb">
# <a href="/" itemprop="url"><span itemprop="title">Home</span></a></li></ol>
add_crumb support_link, {:right_side => true, :links => "/support", :li_right_class => "pull-right hidden-phone"}
#=> <li class="pull-right hidden-phone">
#=> <span><a class="glyphicons shield" href="/support">
#=> <i></i>Support</a>
#=> </span>
#=> </li>
#=> <li class="divider pull-right hidden-phone"></li>
A crumb with a nil argument for the link will output an unlinked crumb.
With format: :html_list
you can specify additional params: :li_class, :ol_class, :ol_id
You have the option to pre-configure any of the Crummy options in an
application-wide configuration. The options above are available to
configure, with the exception of :separator
, as well as many others.
The biggest difference is that :separator
is not an option. Instead,
you have format-specific configuration options: :html_separator
,
:xml_separator
, and :html_list_separator
. :separator
can still be
overridden in the view.
Insert the following in a file named config/initializers/crummy.rb
:
Crummy.configure do |config|
config.format = :xml
end
Possible parameters for configuration are:
:format
:links
:skip_if_blank
:html_separator
:xml_separator
:html_list_separator
:html_list_right_separator
:first_class
:last_class
:ol_id
:ol_class
:li_class
:li_right_class
:microdata
:last_crumb_linked
:truncate
:right_side
See lib/crummy.rb
for a list of these parameters and their defaults.
###Individually for each crumb configuration:
add_crumb support_link, {:right_side => true, :links => "/support", : li_class => "my_class", :li_right_class => "pull-right hidden-phone"}
Simple add that parameter to options hash.
An example application is available right inside this gem. That application is documented, see example/README
for details about usage.
Copyright 2008-2013 Zach Inglis, released under the MIT license
FAQs
Unknown package
We found that crummy-schema-dot-org demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.