Mask all but last 4 digits
Just pass it a number or string.
def mask_number(number) number.to_s.size < 5 ? number.to_s : (('*' * number.to_s[0..-5].length) + number.to_s[-4..-1]) end
11332 users tagging and storing useful source code snippets
Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
def mask_number(number) number.to_s.size < 5 ? number.to_s : (('*' * number.to_s[0..-5].length) + number.to_s[-4..-1]) end
def placeholder(message = 'Nothing to display', options = {}, &proc) # set default options o = { :class => 'placeholder', :tag => 'p' }.merge(options) # wrap the results of the supplied block, or # just print out the message if proc t = o.delete(:tag) concat tag(t, o, true), proc.binding yield concat "</#{t}>", proc.binding else content_tag o.delete(:tag), message, o end end def placeholder_unless(condition, *args, &proc) condition ? proc.call : concat(placeholder(args), proc.binding) end
<%= placeholder :message => 'Nothing found' %> <% placeholder do %> Nothing found. <% end %>
<p class="placeholder">Nothing found</p>
<% placeholder_unless @posts.any?, 'No posts found' do %> <%= render :partial => @post %> <% end %>
# throw this in one of your controller helpers. # it works just like a combination of link_to_unless_current and link_to_remote def link_to_remote_unless_current(name, options = {}, html_options = {}, *parameters_for_method_reference, &block) if current_page?(options[:url]) if block_given? block.arity <= 1 ? yield(name) : yield(name, remote_function(options), html_options, *parameters_for_method_reference) else name end else link_to_function(name, remote_function(options), html_options) end end
module ActionView module Helpers module WidgetHelper # define helper methods end end end
require "#{RAILS_ROOT}/lib/action_view/helpers/widget_helper.rb"
ActionView::Base.class_eval do
include ActionView::Helpers::WidgetHelper
end
def rounded_box(&block) concat '<div class="rounded"><div class="top"></div><div class="body">' + capture(&block) + '</div><div class="bottom"></div></div>', block.binding end
<% rounded_box do %> ... stuff to put in the rounded box ... <% end %>