Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

View helpers and stylesheet defaults for Logical Reality Design projects

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 LICENSE.txt
Octocat-spinner-32 README.rdoc
Octocat-spinner-32 Rakefile
Octocat-spinner-32 lrd_view_tools.gemspec
README.rdoc

LRD::ViewTools

Standard view helpers and stylesheet defaults for Logical Reality Design Projects.

Installing

Add to Gemfile:

gem 'lrd_view_tools'

and run 'bundle install'.

Simple labeled inputs for forms:

form.labeled_input(field)

Produces a <label> <input> pair for a text field in a standard form helper.
The default LRD stylesheet (forms.sass) in all LRD projects will format the
label as an 8-em wide float to the left of the input (or may have been modified
on a per-project basis).

Usage example:
  form_for(@user) do |f|
    = f.labeled_input(:name)
    = f.labeled_input(:email)
    = f.labeled_input(:country) do
      = f.select(:country, [ 'option 1', 'option 2'])
    = f.unlabeled_submit
  end

Options:
  The output defaults to <input type="text" name="#{field}"> for the
  but can be overridden in a number of ways:

  #Override the input element by passing a block:
  f.labeled_input(:boolean_field) do
    f.check_box(:boolean_field))

  #Alter label text:
  f.labeled_input(:fieldname, :text => "Other Text")

  #Force a blank label:
  f.labeled_input(:fieldname, :text => '' )

  #Set to required - appends class 'required' to both the div and the input:
  f.labeled_input(:fieldname, :required => 'true' )

  #Add a comment after the input:
  f.labeled_input(:password_confirmation, :comment => "Re-enter password")

  #Change the input type to a textarea:
  f.labeled_input(:description, :input_type => :text_area)    # or :textarea, both work

  #Create a telephone input:
  f.labeled_input(:description, :input_type => :tel)    # or :telephone, both work

Pass a block to partial:

block_to_partial(partial_name, options = {}, &block)

Usage example:
  block_to_partial('shared/my_partial') do
    <p>Paragraph to be yielded inside the partial.</p>
  end

The block will be available to the partial as 'body', and any options
will be passed through as locals.   In addition, options[:id] and
options[:class] will get converted to locals 'cssid' and 'cssclass'
to avoid name collisions.

A better debug()

lrd_debug(var) will output var, wrapped in <pre></pre>, but using a
recursive pp output to handle large objects.

Usage example (in HAML):
if ENV["RAILS_ENV"] == development
#debug
  %h2 Request environment:
  = lrd_debug(request.env)

Copyright © 2010-2011 Evan Dorn, released under the MIT license

Something went wrong with that request. Please try again.