-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
38 lines (32 loc) · 1.07 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Grammar adds verb and pronoun inflection support to ActiveSupport.
With Grammar, you can do things like
'am'.second_person_plural
# => 'are'
'have'.third_person_singular
# => 'has'
and
@current_user = @john
@user_to_display = @lucy
Grammar::Pronoun.noun_or_pronoun(@user_to_display, @current_user)
# => 'John'
@current_user = @lucy
Grammar::Pronoun.pronoun_or_noun(@user_to_display, @current_user)
# => 'you'
If you're using Rails (specifically, ActionPack), you can do the following:
# in app/controllers/news_controller.rb:
class NewsController < ApplicationController
is_grammatical
...
append_before_filter :load_grammatical_context
...
def load_grammatical_context
Grammar::GrammaticalContext.new(:audience => self.current_user)
end
end
# in app/views/news/index.html.erb:
...
<% @news_items.each do |item| -%>
<% with_grammatical_context(:subject => item.follower, :object => item.followee) do |gc| -%>
<%= gc.subject %> <%= gc.conjugate('is') %> now following <%= gc.object %>.
<% end -%>
<% end -%>