rostra 0.1.12 → 0.1.13
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/rostra/application.js +8 -1
- data/app/assets/stylesheets/rostra/application.css +3 -0
- data/app/helpers/rostra/base/application_helper.rb +8 -0
- data/app/models/rostra/question.rb +2 -13
- data/app/views/rostra/application_mailer/notification.html.erb +0 -2
- data/app/views/rostra/application_mailer/notification.text.erb +1 -1
- data/app/views/rostra/questions/index.html.erb +2 -2
- data/app/views/rostra/questions/show.html.erb +1 -0
- data/app/views/rostra/shared/_sidebar.html.erb +4 -2
- data/db/migrate/20111029214642_add_impressions_count_to_questions.rb +5 -0
- data/lib/rostra/version.rb +1 -1
- metadata +17 -7
@@ -37,7 +37,7 @@ $(document).ready(function() {
|
|
37
37
|
preFill: prefill
|
38
38
|
});
|
39
39
|
|
40
|
-
$('input.as-values').attr('name', name); // force name to
|
40
|
+
$('input.as-values').attr('name', name); // force name to use rails-style hash params
|
41
41
|
});
|
42
42
|
|
43
43
|
|
@@ -46,6 +46,13 @@ $(document).ready(function() {
|
|
46
46
|
$(this).closest('.answer').find('form.comment').fadeIn();
|
47
47
|
return false;
|
48
48
|
});
|
49
|
+
|
50
|
+
$('form.comment a.cancel').click(function() {
|
51
|
+
var form = $(this).closest('form.comment');
|
52
|
+
form.fadeOut();
|
53
|
+
form[0].reset();
|
54
|
+
return false;
|
55
|
+
});
|
49
56
|
}();
|
50
57
|
|
51
58
|
|
@@ -72,6 +72,14 @@ module Rostra
|
|
72
72
|
resource.class.name.split('::').last.downcase
|
73
73
|
end
|
74
74
|
|
75
|
+
# Checks for the current page using rails 3 route-style syntax:
|
76
|
+
#
|
77
|
+
# current_rostra_page?('questions#new')
|
78
|
+
#
|
79
|
+
def current_rostra_page?(controller_and_action)
|
80
|
+
controller_and_action == "#{controller_name}##{action_name}"
|
81
|
+
end
|
82
|
+
|
75
83
|
private
|
76
84
|
|
77
85
|
def vote_path(resource, direction)
|
@@ -9,7 +9,7 @@ module Rostra
|
|
9
9
|
|
10
10
|
acts_as_taggable
|
11
11
|
acts_as_voteable
|
12
|
-
is_impressionable
|
12
|
+
is_impressionable counter_cache: { unique: true }
|
13
13
|
|
14
14
|
validates :title, :presence => true, :uniqueness => true, :length => { :minimum => 15 }
|
15
15
|
validates :user, :presence => true
|
@@ -25,18 +25,7 @@ module Rostra
|
|
25
25
|
# Finds questions asked within the last 15 days ordered by non-unique page views.
|
26
26
|
#
|
27
27
|
def self.trending(limit = 5)
|
28
|
-
Question.where(created_at: (15.days.ago)..(Time.now)).limit(limit)
|
29
|
-
|
30
|
-
# Maybe try to use a subquery?
|
31
|
-
# User.where(:id => accounts.project(:user_id).where(accounts[:user_id].not_eq(6)))
|
32
|
-
|
33
|
-
# This code doesn't work in postgres.
|
34
|
-
# Question
|
35
|
-
# .where(created_at: (15.days.ago)..(Time.now))
|
36
|
-
# .limit(limit)
|
37
|
-
# .joins(:impressions)
|
38
|
-
# .group('impressions.impressionable_id')
|
39
|
-
# .order('count(impressions.impressionable_id) desc')
|
28
|
+
Question.where(created_at: (15.days.ago)..(Time.now)).limit(limit).order('impressions_count desc')
|
40
29
|
end
|
41
30
|
|
42
31
|
def answer_count
|
@@ -20,8 +20,8 @@
|
|
20
20
|
<span class="type"><%= question.answer_count.abs == 1 ? 'answer' : 'answers' %></span>
|
21
21
|
</div>
|
22
22
|
<div class="views_count" title="Number of times this question was viewed">
|
23
|
-
<span class="count"><%= question.
|
24
|
-
<span class="type"><%= question.
|
23
|
+
<span class="count"><%= question.impressions_count %></span>
|
24
|
+
<span class="type"><%= question.impressions_count.abs == 1 ? 'view' : 'views' %></span>
|
25
25
|
</div>
|
26
26
|
</div>
|
27
27
|
|
@@ -1,11 +1,13 @@
|
|
1
1
|
<div id="sidebar">
|
2
2
|
<% if can_participate_in_rostra? %>
|
3
|
-
|
3
|
+
<% unless current_rostra_page?('questions#new') || current_rostra_page?('questions#edit') %>
|
4
|
+
<%= link_to 'Ask a question', new_question_path, class: "button" %>
|
5
|
+
<% end %>
|
4
6
|
<% else %>
|
5
7
|
<%= link_to 'Login to ask a question', main_app_login_path, class: "button" %>
|
6
8
|
<% end %>
|
7
9
|
|
8
|
-
<% if can_participate_in_rostra? &&
|
10
|
+
<% if can_participate_in_rostra? && current_rostra_page?('questions#show') %>
|
9
11
|
<%= render partial: 'rostra/shared/toggle_following_question_button', locals: { question: @question } %>
|
10
12
|
<% end %>
|
11
13
|
|
data/lib/rostra/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: rostra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.13
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Cory Schires
|
@@ -10,8 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-10-
|
14
|
-
default_executable:
|
13
|
+
date: 2011-10-31 00:00:00 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: rails
|
@@ -201,7 +200,7 @@ dependencies:
|
|
201
200
|
type: :development
|
202
201
|
version_requirements: *id017
|
203
202
|
- !ruby/object:Gem::Dependency
|
204
|
-
name:
|
203
|
+
name: pry
|
205
204
|
prerelease: false
|
206
205
|
requirement: &id018 !ruby/object:Gem::Requirement
|
207
206
|
none: false
|
@@ -212,7 +211,7 @@ dependencies:
|
|
212
211
|
type: :development
|
213
212
|
version_requirements: *id018
|
214
213
|
- !ruby/object:Gem::Dependency
|
215
|
-
name:
|
214
|
+
name: grb
|
216
215
|
prerelease: false
|
217
216
|
requirement: &id019 !ruby/object:Gem::Requirement
|
218
217
|
none: false
|
@@ -222,6 +221,17 @@ dependencies:
|
|
222
221
|
version: "0"
|
223
222
|
type: :development
|
224
223
|
version_requirements: *id019
|
224
|
+
- !ruby/object:Gem::Dependency
|
225
|
+
name: email_spec
|
226
|
+
prerelease: false
|
227
|
+
requirement: &id020 !ruby/object:Gem::Requirement
|
228
|
+
none: false
|
229
|
+
requirements:
|
230
|
+
- - ">="
|
231
|
+
- !ruby/object:Gem::Version
|
232
|
+
version: "0"
|
233
|
+
type: :development
|
234
|
+
version_requirements: *id020
|
225
235
|
description: Don't use. Not production ready
|
226
236
|
email:
|
227
237
|
- coryschires@gmail.com
|
@@ -545,6 +555,7 @@ files:
|
|
545
555
|
- db/migrate/20111016021105_create_impressions_table.rb
|
546
556
|
- db/migrate/20111019162723_create_rostra_question_followings.rb
|
547
557
|
- db/migrate/20111024223022_add_send_email_notifications_to_question_followings.rb
|
558
|
+
- db/migrate/20111029214642_add_impressions_count_to_questions.rb
|
548
559
|
- lib/generators/rostra/install_generator.rb
|
549
560
|
- lib/generators/rostra/templates/app/helpers/rostra/application_helper.rb
|
550
561
|
- lib/generators/rostra/templates/config/initializers/rostra.rb
|
@@ -560,7 +571,6 @@ files:
|
|
560
571
|
- MIT-LICENSE
|
561
572
|
- Rakefile
|
562
573
|
- README.rdoc
|
563
|
-
has_rdoc: true
|
564
574
|
homepage: ""
|
565
575
|
licenses: []
|
566
576
|
|
@@ -584,7 +594,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
584
594
|
requirements: []
|
585
595
|
|
586
596
|
rubyforge_project:
|
587
|
-
rubygems_version: 1.
|
597
|
+
rubygems_version: 1.8.11
|
588
598
|
signing_key:
|
589
599
|
specification_version: 3
|
590
600
|
summary: Don't use. Not production ready
|