Fix draper vs kaminari issue

openid
Marcin Kulik 11 years ago
parent c5f8411d8c
commit f5a91c680b

@ -9,7 +9,7 @@ gem 'omniauth-twitter', '~> 0.0.14'
gem 'omniauth-github', '~> 1.0.3'
gem 'kaminari', '~> 0.14.1'
gem 'airbrake', '~> 3.1.7', :require => false
gem 'draper', '~> 1.1.0'
gem 'draper', '~> 1.2.1'
gem 'fog', '~> 1.9.0'
gem 'simple_form', '~> 2.0.4'
gem 'girl_friday', '~> 0.11.2'

@ -61,7 +61,7 @@ GEM
dalli (2.6.2)
database_cleaner (0.9.1)
diff-lcs (1.1.3)
draper (1.1.0)
draper (1.2.1)
actionpack (>= 3.0)
activesupport (>= 3.0)
request_store (~> 1.0.3)
@ -311,7 +311,7 @@ DEPENDENCIES
coffee-rails (~> 3.2.2)
dalli (~> 2.6.2)
database_cleaner (~> 0.9.1)
draper (~> 1.1.0)
draper (~> 1.2.1)
factory_girl_rails (~> 4.2.0)
fog (~> 1.9.0)
girl_friday (~> 0.11.2)

@ -9,7 +9,7 @@ class AsciicastsController < ApplicationController
respond_to :html, :json
def index
@asciicasts = AsciicastDecorator.decorate(
@asciicasts = PaginatingDecorator.new(
Asciicast.newest_paginated(params[:page], PER_PAGE)
)
@ -18,7 +18,7 @@ class AsciicastsController < ApplicationController
end
def popular
@asciicasts = AsciicastDecorator.decorate(
@asciicasts = PaginatingDecorator.new(
Asciicast.popular_paginated(params[:page], PER_PAGE)
)

@ -12,7 +12,7 @@ class HomeController < ApplicationController
@asciicast = AsciicastDecorator.new(asciicast)
end
@asciicasts = AsciicastDecorator.decorate(
@asciicasts = AsciicastDecorator.decorate_collection(
Asciicast.order("created_at DESC").limit(9).includes(:user)
)
end

@ -0,0 +1,3 @@
class PaginatingDecorator < Draper::CollectionDecorator
delegate :current_page, :total_pages, :limit_value
end

@ -1,7 +1,7 @@
class UserDecorator < ApplicationDecorator
def nickname
"~#{user.nickname}"
"~#{model.nickname}"
end
def asciicasts_count
@ -10,12 +10,12 @@ class UserDecorator < ApplicationDecorator
def link(options = {})
text = block_given? ? yield : nickname
h.link_to text, h.profile_path(user), :title => options[:title] || nickname
h.link_to text, h.profile_path(model), :title => options[:title] || nickname
end
def img_link(options = {})
link(options) do
h.avatar_image_tag(user)
h.avatar_image_tag(model)
end
end

@ -24,7 +24,7 @@ describe AsciicastsController do
Asciicast.should_receive(:newest_paginated).
with(page, an_instance_of(Fixnum)).and_return(asciicasts)
AsciicastDecorator.should_receive(:decorate).with(asciicasts).
PaginatingDecorator.should_receive(:new).with(asciicasts).
and_return(asciicasts)
get :index, :page => page
@ -44,7 +44,7 @@ describe AsciicastsController do
Asciicast.should_receive(:popular_paginated).
with(page, an_instance_of(Fixnum)).and_return(asciicasts)
AsciicastDecorator.should_receive(:decorate).with(asciicasts).
PaginatingDecorator.should_receive(:new).with(asciicasts).
and_return(asciicasts)
get :popular, :page => page

Loading…
Cancel
Save