Sha256: ed3721b9274f960c2cc263e7a0b79bda4b638bc2be8f9dd769c3a9cc53877bdb

Contents?: true

Size: 1.79 KB

Versions: 2

Compression:

Stored size: 1.79 KB

Contents

# HasMeta

[![Gem Version](https://badge.fury.io/rb/has_meta.png)](http://badge.fury.io/rb/has_meta)

Adds convenience methods to extract "meta" (as in http meta) strings from
models by using existing fields or lambda/Procs for source data. Result is stripped of html
tags and truncated to length (default 255). If the meta is 'keywords' the result will take extra
steps to strip white space and remove blank elements (ie. multiple commas)

## Installation

Add this line to your application's Gemfile:

    gem 'has_meta'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install has_meta

## Usage

    class BlogPost < ActiveRecord::Base
      has_meta :keywords => :keywords, 
               :description => [:short_description, :content],
               :foo => lambda {|o| o.some_instance_method }

      def some_instance_method
        Time.now
      end
    end

    bp = BlogPost.new(...)

    bp.meta_keywords == bp.keywords

    # if short_description is not blank and less than 255 characters then
    bp.meta_description == bp.short_description

    # if short_description is blank then
    bp.meta_description == bp.content.slice(0,255)

    # blocks will be passed an instance of the object itself
    bp.meta_foo == "Feb 27, 4:36:00 PM" # for example
    sleep 1
    bp.meta_foo == "Feb 27, 4:36:01 PM" # one second later

    # 'keywords' gets extra special treatment.
    bp.short_description = ',one  two,  ,three, '
    bp.meta_description == ',one  two,  ,three, '

    bp.keywords = ',one  two,  ,three, '
    bp.meta_keywords == 'one,two,three'

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
has_meta-0.0.6 README.md
has_meta-0.0.5 README.md