cable 0.9.13 → 0.9.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.13
1
+ 0.9.14
@@ -3,7 +3,6 @@ class Admin::SearchController < AdminController
3
3
  respond_to :js, :html
4
4
 
5
5
  def index
6
- @admin_layout = "single"
7
6
  @results = ThinkingSphinx.search params[:term], :match_mode => :extended, :star => true
8
7
  respond_to do |format|
9
8
  format.json { render request.format.to_sym => to_json_for_autocomplete( @results) }
@@ -0,0 +1,4 @@
1
+ <tr>
2
+ <td><%= link_to result.first_displayable_attribute, [:admin,result] %></td>
3
+ <td><%= result.class.name %></td>
4
+ </tr>
File without changes
@@ -8,7 +8,11 @@
8
8
  </thead>
9
9
  <tbody>
10
10
  <% @results.each do |result| %>
11
- <%= render :partial => "/admin/#{result.class.name.tableize}/search", :locals => {:result => result}%>
11
+ <% begin %>
12
+ <%= render :partial => "/admin/#{result.class.name.tableize}/search", :locals => {:result => result} %>
13
+ <% rescue ActionView::MissingTemplate %>
14
+ <%= render :partial => "admin/search/generic_search_result", :locals => {:result => result} %>
15
+ <% end %>
12
16
  <% end %>
13
17
  </tbody>
14
18
  </table>
@@ -1,6 +1,6 @@
1
1
  require 'rails'
2
2
  require 'active_record'
3
-
3
+ require 'action_view'
4
4
  module Cable
5
5
  module ActsAsCable
6
6
  def self.included( base )
@@ -11,6 +11,8 @@ module Cable
11
11
  module ClassMethods
12
12
 
13
13
  def acts_as_cable( reflection_options = {} )
14
+ send :include, InstanceMethods
15
+ send :include, ActionView::Helpers::TextHelper
14
16
 
15
17
  with_modules = []
16
18
  with_modules << reflection_options.delete(:with) if reflection_options.has_key?(:with)
@@ -32,5 +34,20 @@ module Cable
32
34
 
33
35
  end
34
36
 
37
+ module InstanceMethods
38
+
39
+ def to_json_for_autocomplete
40
+ displayable_string = first_displayable_attribute
41
+ #TODO: find first string attr or look at sphinx index# if displayable_string.nil?
42
+ { :label => "#{truncate(displayable_string, :length => 34)}" , :value => "#{(displayable_string)}", :type => self.class.name }
43
+ end
44
+
45
+ def first_displayable_attribute
46
+ displayable_attr = [ :title, :name, :first_name, :email, :email_address ].select{|attr| self.respond_to? attr }.first
47
+ displayable_string = (displayable_attr.nil?) ? "Title not available" : self[displayable_attr]
48
+ end
49
+
50
+ end
51
+
35
52
  end
36
53
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: cable
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.9.13
5
+ version: 0.9.14
6
6
  platform: ruby
7
7
  authors:
8
8
  - Spencer Markowski
@@ -12,7 +12,7 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2011-04-14 00:00:00 -04:00
15
+ date: 2011-04-15 00:00:00 -04:00
16
16
  default_executable:
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
@@ -121,7 +121,7 @@ dependencies:
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: "0"
124
+ version: 0.1.0
125
125
  type: :runtime
126
126
  prerelease: false
127
127
  version_requirements: *id010
@@ -153,6 +153,8 @@ files:
153
153
  - app/views/admin/cable_settings/edit.html.erb
154
154
  - app/views/admin/cable_settings/index.html.erb
155
155
  - app/views/admin/index.html.erb
156
+ - app/views/admin/search/_generic_search_result.html.erb
157
+ - app/views/admin/search/_search.html.erb
156
158
  - app/views/admin/search/index.html.erb
157
159
  - app/views/admin/search/index.json.erb
158
160
  - app/views/attachable_assets/index.html.erb