Class: Picky::Helper

Inherits:
Object show all
Defined in:
lib/picky-client/helper.rb

Overview

This class provides a few view helpers.

Class Method Summary collapse

Class Method Details

.cached_interface(options = {}) ⇒ Object

Returns a cached version if you always use a single language.



53
54
55
# File 'lib/picky-client/helper.rb', line 53

def self.cached_interface options = {}
  @interface ||= interface(options).freeze
end

.input(options = {}) ⇒ Object



29
30
31
32
33
34
35
36
37
38
# File 'lib/picky-client/helper.rb', line 29

def self.input options = {}
<<-INPUT
<form class="empty" onkeypress="return event.keyCode != 13;">
<div class="status"></div>
<input type="search" placeholder="#{options[:placeholder] || 'Search here...'}" autocorrect="off" class="query"/>
<a class="reset" title="clear"></a>
  <input type="button" value="#{options[:button] || 'search'}"/>
</form>
INPUT
end

.interface(options = {}) ⇒ Object

Returns a standard search interface for easy starting.

… aka scaffolding ;)

Options:

* button: The search button text.
* no_results: The text shown when there are no results.
* more: The text shown when there are more than X results.

Usage, in Views:

= Picky::Helper.interface :button => 'Go go go!'


21
22
23
24
25
26
27
28
# File 'lib/picky-client/helper.rb', line 21

def self.interface options = {}
<<-HTML
<section class="picky">
  #{input(options)}
  #{results(options)}
</section>
HTML
end

.results(options = {}) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/picky-client/helper.rb', line 39

def self.results options = {}
<<-RESULTS
<div class="results"></div>
<div class="no_results">#{options[:no_results] || 'Sorry, no results found!'}</div>
<div class="allocations">
  <ol class="shown"></ol>
  <ol class="more">#{options[:more] || 'more'}</ol>
  <ol class="hidden"></ol>
</div>
RESULTS
end