popolo 0.0.2 → 0.0.3

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.
Files changed (96) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +65 -7
  3. data/app/assets/javascripts/popolo.js +1 -0
  4. data/app/assets/stylesheets/popolo/bootstrap.min.scss +7 -0
  5. data/app/assets/stylesheets/popolo/main.css.scss +14 -0
  6. data/app/assets/stylesheets/popolo.css +3 -0
  7. data/app/controllers/popolo/memberships_controller.rb +7 -0
  8. data/app/controllers/popolo/organizations_controller.rb +0 -39
  9. data/app/controllers/popolo/people_controller.rb +1 -6
  10. data/app/controllers/popolo/posts_controller.rb +1 -1
  11. data/app/helpers/popolo_helper.rb +0 -8
  12. data/app/models/popolo/area.rb +20 -12
  13. data/app/models/popolo/contact_detail.rb +22 -0
  14. data/app/models/popolo/count.rb +24 -0
  15. data/app/models/popolo/date_string.rb +23 -0
  16. data/app/models/popolo/group_result.rb +15 -0
  17. data/app/models/popolo/identifier.rb +1 -1
  18. data/app/models/popolo/link.rb +7 -3
  19. data/app/models/popolo/membership.rb +34 -9
  20. data/app/models/popolo/motion.rb +37 -0
  21. data/app/models/popolo/organization.rb +37 -16
  22. data/app/models/popolo/other_name.rb +5 -5
  23. data/app/models/popolo/person.rb +57 -27
  24. data/app/models/popolo/post.rb +27 -13
  25. data/app/models/popolo/vote.rb +28 -0
  26. data/app/models/popolo/vote_event.rb +35 -0
  27. data/app/views/popolo/contact_details/_contact_detail.html.erb +17 -0
  28. data/app/views/popolo/identifiers/_identifier.html.erb +2 -0
  29. data/app/views/popolo/links/_link.html.erb +1 -0
  30. data/app/views/popolo/memberships/show.html.erb +81 -0
  31. data/app/views/popolo/organizations/index.html.erb +16 -1
  32. data/app/views/popolo/organizations/show.html.erb +146 -1
  33. data/app/views/popolo/other_names/other_name.html.erb +9 -0
  34. data/app/views/popolo/people/show.html.erb +120 -0
  35. data/app/views/popolo/posts/show.html.erb +90 -0
  36. data/config/routes.rb +4 -12
  37. data/lib/generators/popolo_generator.rb +4 -0
  38. data/lib/popolo/initializers/pupa_compat.rb +11 -0
  39. data/lib/popolo/version.rb +1 -1
  40. data/lib/popolo.rb +17 -5
  41. data/spec/controllers/popolo/memberships_controller_spec.rb +16 -0
  42. data/spec/controllers/popolo/organizations_controller_spec.rb +1 -47
  43. data/spec/controllers/popolo/people_controller_spec.rb +0 -14
  44. data/spec/controllers/popolo/posts_controller_spec.rb +0 -8
  45. data/spec/dummy/app/assets/stylesheets/application.css +1 -0
  46. data/spec/dummy/app/models/cat.rb +0 -3
  47. data/spec/dummy/app/models/dog.rb +0 -7
  48. data/spec/dummy/app/views/layouts/application.html.erb +2 -0
  49. data/spec/dummy/config/locales/en.yml +30 -0
  50. data/spec/dummy/config/routes.rb +1 -1
  51. data/spec/dummy/log/test.log +8670 -48801
  52. data/spec/factories.rb +3 -8
  53. data/spec/models/popolo/{source_spec.rb → contact_detail_spec.rb} +2 -2
  54. data/spec/models/popolo/count_spec.rb +7 -0
  55. data/spec/models/popolo/date_string_spec.rb +121 -0
  56. data/spec/models/popolo/group_result_spec.rb +7 -0
  57. data/spec/models/popolo/membership_spec.rb +1 -17
  58. data/spec/models/popolo/motion_spec.rb +5 -0
  59. data/spec/models/popolo/organization_spec.rb +1 -19
  60. data/spec/models/popolo/other_name_spec.rb +1 -17
  61. data/spec/models/popolo/person_spec.rb +23 -19
  62. data/spec/models/popolo/post_spec.rb +1 -3
  63. data/spec/models/popolo/vote_event_spec.rb +4 -0
  64. data/spec/models/popolo/vote_spec.rb +4 -0
  65. data/spec/popolo_spec.rb +65 -0
  66. data/spec/routing/popolo/memberships_routing_spec.rb +11 -0
  67. data/spec/routing/popolo/organizations_routing_spec.rb +1 -19
  68. data/spec/routing/popolo/people_routing_spec.rb +1 -11
  69. data/spec/routing/popolo/posts_routing_spec.rb +1 -7
  70. data/spec/spec_helper.rb +6 -1
  71. data/spec/support/shared_examples.rb +19 -0
  72. metadata +99 -109
  73. data/app/assets/javascripts/popolo/application.js +0 -13
  74. data/app/assets/stylesheets/popolo/application.css +0 -13
  75. data/app/controllers/popolo/areas_controller.rb +0 -43
  76. data/app/models/popolo/address.rb +0 -27
  77. data/app/models/popolo/event.rb +0 -46
  78. data/app/models/popolo/source.rb +0 -29
  79. data/app/views/popolo/addresses/_address.html.erb +0 -16
  80. data/app/views/popolo/areas/index.html.erb +0 -1
  81. data/app/views/popolo/areas/show.html.erb +0 -1
  82. data/app/views/popolo/areas_or_organizations/_breadcrumb.html.erb +0 -13
  83. data/app/views/popolo/areas_or_organizations/_index.html.erb +0 -31
  84. data/app/views/popolo/areas_or_organizations/_show.html.erb +0 -18
  85. data/app/views/popolo/organizations/post.html.erb +0 -27
  86. data/app/views/popolo/organizations/posts.html.erb +0 -23
  87. data/app/views/popolo/people/index.html.erb +0 -0
  88. data/app/views/popolo/posts/index.html.erb +0 -0
  89. data/lib/popolo/mixins/eventable.rb +0 -15
  90. data/lib/popolo/mixins/sluggable.rb +0 -66
  91. data/spec/controllers/popolo/areas_controller_spec.rb +0 -53
  92. data/spec/dummy/log/development.log +0 -6
  93. data/spec/models/popolo/address_spec.rb +0 -4
  94. data/spec/models/popolo/event_spec.rb +0 -7
  95. data/spec/popolo/mixins/sluggable_spec.rb +0 -153
  96. data/spec/routing/popolo/areas_routing_spec.rb +0 -25
@@ -1 +1,146 @@
1
- <%= render partial: 'popolo/areas_or_organizations/show', locals: {object: @organization} %>
1
+ <nav>
2
+ <ol class="breadcrumb">
3
+ <li><%= link_to Popolo::Organization.model_name.human(count: Float::INFINITY), organizations_path %></li>
4
+ <% @organization.ancestors.each do |ancestor| %>
5
+ <li><%= link_to ancestor, ancestor %></li>
6
+ <% end %>
7
+ <li class="active"><%= @organization %></li>
8
+ </ol>
9
+ </nav>
10
+
11
+ <section>
12
+ <header class="page-header">
13
+ <div class="media">
14
+ <div class="pull-left">
15
+ <% if @organization.image %>
16
+ <div class="media-object popolo-circle" style="background-image: url(<%= @organization.image %>)">
17
+ </div>
18
+ <% end %>
19
+ </div>
20
+ <div class="media-body">
21
+ <h1 class="media-heading">
22
+ <%= @organization %>
23
+ </h1>
24
+ </div>
25
+ </div>
26
+ </header>
27
+
28
+ <dl>
29
+ <% if @organization.classification? %>
30
+ <dt><%= Popolo::Organization.human_attribute_name(:classification) %></dt>
31
+ <dd><%=t @organization.classification, count: 1, scope: [:popolo, :organizations, :classifications], default: @organization.classification %></dd>
32
+ <% end %>
33
+ <% if @organization.founding_date? %>
34
+ <dt><%= Popolo::Organization.human_attribute_name(:founding_date) %></dt>
35
+ <dd><%=l @organization.founding_date %></dd>
36
+ <% end %>
37
+ <% if @organization.dissolution_date? %>
38
+ <dt><%= Popolo::Organization.human_attribute_name(:dissolution_date) %></dt>
39
+ <dd><%=l @organization.dissolution_date %></dd>
40
+ <% end %>
41
+ </dl>
42
+
43
+ <aside>
44
+ <% unless @organization.contact_details.empty? %>
45
+ <section>
46
+ <header>
47
+ <h2><%= Popolo::ContactDetail.model_name.human(count: @organization.contact_details.size) %></h2>
48
+ </header>
49
+ <dl class="dl-horizontal">
50
+ <%= render @organization.contact_details %>
51
+ </dl>
52
+ </section>
53
+ <% end %>
54
+ <% unless @organization.other_names.empty? %>
55
+ <section>
56
+ <header>
57
+ <h2><%= Popolo::OtherName.model_name.human(count: @organization.other_names.size) %></h2>
58
+ </header>
59
+ <ul>
60
+ <%= render @organization.other_names %>
61
+ </ul>
62
+ </section>
63
+ <% end %>
64
+ <% unless @organization.identifiers.empty? %>
65
+ <section>
66
+ <header>
67
+ <h2><%= Popolo::Identifier.model_name.human(count: @organization.identifiers.size) %></h2>
68
+ </header>
69
+ <dl class="dl-horizontal">
70
+ <%= render @organization.identifiers %>
71
+ </dl>
72
+ </section>
73
+ <% end %>
74
+ <% unless @organization.links.empty? %>
75
+ <section>
76
+ <header>
77
+ <h2><%= Popolo::Link.model_name.human(count: @organization.links.size) %></h2>
78
+ </header>
79
+ <ul>
80
+ <%= render @organization.links %>
81
+ </ul>
82
+ </section>
83
+ <% end %>
84
+ <% unless @organization.sources.empty? %>
85
+ <section>
86
+ <header>
87
+ <h2><%=t 'popolo/source', count: @organization.sources.size, scope: [:popolo] %></h2>
88
+ </header>
89
+ <ul>
90
+ <%= render @organization.sources %>
91
+ </ul>
92
+ </section>
93
+ <% end %>
94
+ </aside>
95
+
96
+ <aside>
97
+ <% unless @organization.memberships.empty? %>
98
+ <section>
99
+ <header>
100
+ <h2>
101
+ <%= Popolo::Membership.model_name.human(count: @organization.memberships.size) %>
102
+ </h2>
103
+ </header>
104
+ <ol>
105
+ <% @organization.memberships.each do |membership| %>
106
+ <li>
107
+ <%= link_to membership.to_s(format: :person), membership %>
108
+ </li>
109
+ <% end %>
110
+ </ol>
111
+ </section>
112
+ <% end %>
113
+ <% unless @organization.posts.empty? %>
114
+ <section>
115
+ <header>
116
+ <h2>
117
+ <%= Popolo::Post.model_name.human(count: @organization.posts.size) %>
118
+ </h2>
119
+ </header>
120
+ <ol>
121
+ <% @organization.posts.each do |post| %>
122
+ <li>
123
+ <%= link_to post, post %>
124
+ </li>
125
+ <% end %>
126
+ </ol>
127
+ </section>
128
+ <% end %>
129
+ <% unless @organization.children.empty? %>
130
+ <section>
131
+ <header>
132
+ <h2>
133
+ <%= Popolo::Organization.model_name.human(count: @organization.children.size) %>
134
+ </h2>
135
+ </header>
136
+ <ol>
137
+ <% @organization.children.each do |organization| %>
138
+ <li>
139
+ <%= link_to organization, organization %>
140
+ </li>
141
+ <% end %>
142
+ </ol>
143
+ </section>
144
+ <% end %>
145
+ </aside>
146
+ </section>
@@ -0,0 +1,9 @@
1
+ <li>
2
+ <%= other_name.name %>
3
+ <% if other_name.start_date? || other_name.end_date? %>
4
+ (<%=l other_name.start_date %>—<%=l other_name.end_date %>)
5
+ <% end %>
6
+ <% if other_name.note? %>
7
+ <span class="label label-info"><%= other_name.note %></span>
8
+ <% end %>
9
+ </li>
@@ -0,0 +1,120 @@
1
+ <section>
2
+ <header class="page-header">
3
+ <div class="media">
4
+ <div class="pull-left">
5
+ <% if @person.image %>
6
+ <div class="media-object popolo-circle" style="background-image: url(<%= @person.image %>)">
7
+ </div>
8
+ <% end %>
9
+ </div>
10
+ <div class="media-body">
11
+ <h1 class="media-heading">
12
+ <%= @person %>
13
+ </h1>
14
+ </div>
15
+ </div>
16
+ </header>
17
+
18
+ <dl>
19
+ <% if @person.email? %>
20
+ <dt><%= Popolo::Person.human_attribute_name(:email) %></dt>
21
+ <dd><%= mail_to @person.email %></dd>
22
+ <% end %>
23
+ <% if @person.gender? %>
24
+ <dt><%= Popolo::Person.human_attribute_name(:gender) %></dt>
25
+ <dd><%= @person.gender %></dd>
26
+ <% end %>
27
+ <% if @person.national_identity? %>
28
+ <dt><%= Popolo::Person.human_attribute_name(:national_identity) %></dt>
29
+ <dd><%= @person.national_identity %></dd>
30
+ <% end %>
31
+ <% if @person.birth_date? %>
32
+ <dt><%= Popolo::Person.human_attribute_name(:birth_date) %></dt>
33
+ <dd><%=l @person.birth_date %></dd>
34
+ <% end %>
35
+ <% if @person.death_date? %>
36
+ <dt><%= Popolo::Person.human_attribute_name(:death_date) %></dt>
37
+ <dd><%=l @person.death_date %></dd>
38
+ <% end %>
39
+ <% if @person.summary? %>
40
+ <dt><%= Popolo::Person.human_attribute_name(:summary) %></dt>
41
+ <dd><%= simple_format @person.summary %></dd>
42
+ <% end %>
43
+ <% if @person.biography? %>
44
+ <dt><%= Popolo::Person.human_attribute_name(:biography) %></dt>
45
+ <dd><%= simple_format @person.biography %></dd>
46
+ <% end %>
47
+ </dl>
48
+
49
+ <aside>
50
+ <% unless @person.contact_details.empty? %>
51
+ <section>
52
+ <header>
53
+ <h2><%= Popolo::ContactDetail.model_name.human(count: @person.contact_details.size) %></h2>
54
+ </header>
55
+ <dl class="dl-horizontal">
56
+ <%= render @person.contact_details %>
57
+ </dl>
58
+ </section>
59
+ <% end %>
60
+ <% unless @person.other_names.empty? %>
61
+ <section>
62
+ <header>
63
+ <h2><%= Popolo::OtherName.model_name.human(count: @person.other_names.size) %></h2>
64
+ </header>
65
+ <ul>
66
+ <%= render @person.other_names %>
67
+ </ul>
68
+ </section>
69
+ <% end %>
70
+ <% unless @person.identifiers.empty? %>
71
+ <section>
72
+ <header>
73
+ <h2><%= Popolo::Identifier.model_name.human(count: @person.identifiers.size) %></h2>
74
+ </header>
75
+ <dl class="dl-horizontal">
76
+ <%= render @person.identifiers %>
77
+ </dl>
78
+ </section>
79
+ <% end %>
80
+ <% unless @person.links.empty? %>
81
+ <section>
82
+ <header>
83
+ <h2><%= Popolo::Link.model_name.human(count: @person.links.size) %></h2>
84
+ </header>
85
+ <ul>
86
+ <%= render @person.links %>
87
+ </ul>
88
+ </section>
89
+ <% end %>
90
+ <% unless @person.sources.empty? %>
91
+ <section>
92
+ <header>
93
+ <h2><%=t 'popolo/source', count: @person.sources.size, scope: [:popolo] %></h2>
94
+ </header>
95
+ <ul>
96
+ <%= render @person.sources %>
97
+ </ul>
98
+ </section>
99
+ <% end %>
100
+ </aside>
101
+
102
+ <aside>
103
+ <% unless @person.memberships.empty? %>
104
+ <section>
105
+ <header>
106
+ <h2>
107
+ <%= Popolo::Membership.model_name.human(count: @person.memberships.size) %>
108
+ </h2>
109
+ </header>
110
+ <ol>
111
+ <% @person.memberships.each do |membership| %>
112
+ <li>
113
+ <%= link_to membership.to_s(format: :organization), membership %>
114
+ </li>
115
+ <% end %>
116
+ </ol>
117
+ </section>
118
+ <% end %>
119
+ </aside>
120
+ </section>
@@ -0,0 +1,90 @@
1
+ <nav>
2
+ <ol class="breadcrumb">
3
+ <li><%= link_to Popolo::Organization.model_name.human(count: Float::INFINITY), organizations_path %></li>
4
+ <% @post.organization.ancestors_and_self.each do |ancestor| %>
5
+ <li><%= link_to ancestor, ancestor %></li>
6
+ <% end %>
7
+ <li class="active"><%= @post %></li>
8
+ </ol>
9
+ </nav>
10
+
11
+ <section>
12
+ <header class="page-header">
13
+ <div class="media">
14
+ <div class="media-body">
15
+ <h1 class="media-heading">
16
+ <%= @post %>
17
+ </h1>
18
+ </div>
19
+ </div>
20
+ </header>
21
+
22
+ <dl>
23
+ <dt><%= Popolo::Post.human_attribute_name(:organization) %></dt>
24
+ <dd><%= link_to @post.organization, @post.organization %></dd>
25
+ <% if @post.role? %>
26
+ <dt><%= Popolo::Post.human_attribute_name(:role) %></dt>
27
+ <dd><%= @post.role %></dd>
28
+ <% end %>
29
+ <% if @post.start_date? %>
30
+ <dt><%= Popolo::Post.human_attribute_name(:start_date) %></dt>
31
+ <dd><%=l @post.start_date %></dd>
32
+ <% end %>
33
+ <% if @post.end_date? %>
34
+ <dt><%= Popolo::Post.human_attribute_name(:end_date) %></dt>
35
+ <dd><%=l @post.end_date %></dd>
36
+ <% end %>
37
+ </dl>
38
+
39
+ <aside>
40
+ <% unless @post.contact_details.empty? %>
41
+ <section>
42
+ <header>
43
+ <h2><%= Popolo::ContactDetail.model_name.human(count: @post.contact_details.size) %></h2>
44
+ </header>
45
+ <dl class="dl-horizontal">
46
+ <%= render @post.contact_details %>
47
+ </dl>
48
+ </section>
49
+ <% end %>
50
+ <% unless @post.links.empty? %>
51
+ <section>
52
+ <header>
53
+ <h2><%= Popolo::Link.model_name.human(count: @post.links.size) %></h2>
54
+ </header>
55
+ <ul>
56
+ <%= render @post.links %>
57
+ </ul>
58
+ </section>
59
+ <% end %>
60
+ <% unless @post.sources.empty? %>
61
+ <section>
62
+ <header>
63
+ <h2><%=t 'popolo/source', count: @post.sources.size, scope: [:popolo] %></h2>
64
+ </header>
65
+ <ul>
66
+ <%= render @post.sources %>
67
+ </ul>
68
+ </section>
69
+ <% end %>
70
+ </aside>
71
+
72
+ <aside>
73
+ <% unless @post.memberships.empty? %>
74
+ <section>
75
+ <header>
76
+ <h2>
77
+ <%= Popolo::Membership.model_name.human(count: @post.memberships.size) %>
78
+ </h2>
79
+ </header>
80
+ <ol>
81
+ <% @post.memberships.each do |membership| %>
82
+ <li>
83
+ <%= link_to membership, membership %>
84
+ </li>
85
+ <% end %>
86
+ </ol>
87
+ </section>
88
+ <% end %>
89
+ </aside>
90
+ </section>
data/config/routes.rb CHANGED
@@ -1,16 +1,8 @@
1
1
  Popolo::Engine.routes.draw do
2
- resources :areas, only: [:index, :show]
3
- resources :organizations, only: [:index, :show]
4
- resources :people, only: [:index, :show]
5
- resources :posts, only: [:index, :show]
6
-
7
- match 'areas/*path/areas' => 'areas#nested_index', as: 'nested_areas'
8
- match 'areas/*path' => 'areas#nested_show', as: 'nested_area'
9
-
10
- match 'organizations/*path/organizations' => 'organizations#nested_index', as: 'nested_organizations'
11
- match 'organizations/*path/posts/:id' => 'organizations#post', as: 'nested_organization_post'
12
- match 'organizations/*path/posts' => 'organizations#posts', as: 'nested_organization_posts'
13
- match 'organizations/*path' => 'organizations#nested_show', as: 'nested_organization'
2
+ resources :organizations, only: [:index, :show], id: /.*/
3
+ resources :memberships, only: :show, id: /.*/
4
+ resources :people, only: :show, id: /.*/
5
+ resources :posts, only: :show, id: /.*/
14
6
 
15
7
  # A host application will sometimes complain about a missing `root_path`, even
16
8
  # if it defines a `root_path`. Setting a reasonable default here.
@@ -28,6 +28,10 @@ module Popolo
28
28
  end
29
29
  end
30
30
 
31
+ def add_ruby_version_to_gemfile
32
+ prepend_to_file 'Gemfile', "ruby '1.9.3'"
33
+ end
34
+
31
35
  def show_readme
32
36
  readme 'README' if behavior == :invoke
33
37
  end
@@ -0,0 +1,11 @@
1
+ # @see https://github.com/mongoid/mongoid/blob/master/lib/mongoid/factory.rb#L39
2
+ module Mongoid
3
+ module Factory
4
+ old_from_db = instance_method(:from_db)
5
+
6
+ define_method(:from_db) do |klass, attributes=nil, criteria_instance_id=nil|
7
+ attributes.delete('_type') if attributes && klass.name.deconstantize == 'Popolo'
8
+ old_from_db.bind(self).call(klass, attributes, criteria_instance_id)
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module Popolo
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/popolo.rb CHANGED
@@ -6,13 +6,25 @@ require 'mongoid'
6
6
  require 'mongoid/tree'
7
7
 
8
8
  module Popolo
9
- # The parent controller all Popolo controllers inherits from.
10
- # Defaults to ApplicationController. This should be set early
11
- # in the initialization process and should be set to a string.
9
+ # The parent controller all Popolo controllers inherit from. Defaults to
10
+ # ApplicationController. This should be set early in the initialization
11
+ # process and should be set to a string.
12
12
  #
13
13
  # @see https://github.com/plataformatec/devise/blob/master/lib/devise.rb#L196
14
14
  mattr_accessor :parent_controller
15
15
  @@parent_controller = 'ApplicationController'
16
- end
17
16
 
18
- require 'popolo/mixins/sluggable'
17
+ # The database and session storage options used by all Popolo models.
18
+ #
19
+ # @see http://mongoid.org/en/mongoid/docs/documents.html#storage
20
+ mattr_accessor :storage_options
21
+ @@storage_options = {}
22
+
23
+ # The storage options for each Popolo model.
24
+ #
25
+ # @see http://mongoid.org/en/mongoid/docs/documents.html#storage
26
+ mattr_accessor :storage_options_per_class
27
+ @@storage_options_per_class = {}
28
+
29
+ DATE_STRING_FORMAT = /\A\d{4}(-\d{2}){0,2}\z/
30
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe Popolo::MembershipsController do
4
+ before :each do
5
+ @routes = Popolo::Engine.routes
6
+ @membership = FactoryGirl.create :membership
7
+ end
8
+
9
+ describe 'GET show' do
10
+ it 'assigns the requested membership as @membership' do
11
+ get :show, id: @membership.id.to_s
12
+ assigns(:membership).should == @membership
13
+ response.should be_success
14
+ end
15
+ end
16
+ end
@@ -1,15 +1,9 @@
1
- # coding: utf-8
2
1
  require 'spec_helper'
3
2
 
4
3
  describe Popolo::OrganizationsController do
5
4
  before :each do
6
5
  @routes = Popolo::Engine.routes
7
- @organization = FactoryGirl.create :organization, name: 'Acme Corporation'
8
- @abc = @organization.children.create name: 'ABC, Inc.'
9
- @xyz = @organization.children.create name: 'XYZ, Inc.'
10
- @department = @xyz.children.create name: "Marketing Department"
11
- @branch = @department.children.create name: "Youth Branch"
12
- @post = FactoryGirl.create :post, organization: @xyz
6
+ @organization = FactoryGirl.create :organization
13
7
  end
14
8
 
15
9
  describe 'GET index' do
@@ -27,44 +21,4 @@ describe Popolo::OrganizationsController do
27
21
  response.should be_success
28
22
  end
29
23
  end
30
-
31
- describe 'GET nested_index' do
32
- it 'succeeds if properly nested' do
33
- get :nested_index, path: 'acme-corporation/xyz-inc/marketing-department'
34
- assigns(:organizations).to_a.should == [@branch]
35
- response.should be_success
36
- end
37
-
38
- it 'fails if improperly nested' do
39
- expect {get :nested_index, path: 'acme-corporation/abc-inc/marketing-department'}.to raise_error(Mongoid::Errors::DocumentNotFound)
40
- end
41
- end
42
-
43
- describe 'GET nested_show' do
44
- it 'succeeds if properly nested' do
45
- get :nested_show, path: 'acme-corporation/xyz-inc/marketing-department'
46
- assigns(:organization).should == @department
47
- response.should be_success
48
- end
49
-
50
- it 'fails if improperly nested' do
51
- expect {get :nested_show, path: 'acme-corporation/abc-inc/marketing-department'}.to raise_error(Mongoid::Errors::DocumentNotFound)
52
- end
53
- end
54
-
55
- describe 'GET posts' do
56
- it 'assigns the requested posts as @posts' do
57
- get :posts, path: 'acme-corporation/xyz-inc'
58
- assigns(:posts).to_a.should == [@post]
59
- response.should be_success
60
- end
61
- end
62
-
63
- describe 'GET post' do
64
- it 'assigns the requested post as @post' do
65
- get :post, path: 'acme-corporation/xyz-inc', id: 'marketing-director'
66
- assigns(:post).should == @post
67
- response.should be_success
68
- end
69
- end
70
24
  end
@@ -6,25 +6,11 @@ describe Popolo::PeopleController do
6
6
  @person = FactoryGirl.create :person
7
7
  end
8
8
 
9
- describe 'GET index' do
10
- it 'assigns all people as @people' do
11
- get :index
12
- assigns(:people).to_a.should == [@person]
13
- response.should be_success
14
- end
15
- end
16
-
17
9
  describe 'GET show' do
18
10
  it 'assigns the requested person as @person' do
19
11
  get :show, id: @person.id.to_s
20
12
  assigns(:person).should == @person
21
13
  response.should be_success
22
14
  end
23
-
24
- it 'gets the requested person by slug' do
25
- get :show, id: @person.slug
26
- assigns(:person).should == @person
27
- response.should be_success
28
- end
29
15
  end
30
16
  end
@@ -6,14 +6,6 @@ describe Popolo::PostsController do
6
6
  @post = FactoryGirl.create :post
7
7
  end
8
8
 
9
- describe 'GET index' do
10
- it 'assigns all posts as @posts' do
11
- get :index
12
- assigns(:posts).to_a.should == [@post]
13
- response.should be_success
14
- end
15
- end
16
-
17
9
  describe 'GET show' do
18
10
  it 'assigns the requested post as @post' do
19
11
  get :show, id: @post.id.to_s
@@ -10,4 +10,5 @@
10
10
  *
11
11
  *= require_self
12
12
  *= require_tree .
13
+ *= require popolo
13
14
  */
@@ -1,6 +1,3 @@
1
1
  class Cat
2
2
  include Mongoid::Document
3
-
4
- include Popolo::Sluggable
5
- index({slug: 1}, unique: true)
6
3
  end
@@ -1,10 +1,3 @@
1
1
  class Dog
2
2
  include Mongoid::Document
3
-
4
- def self.slug_source
5
- :moniker
6
- end
7
-
8
- include Popolo::Sluggable
9
- index({slug: 1}, unique: true)
10
3
  end
@@ -8,7 +8,9 @@
8
8
  </head>
9
9
  <body>
10
10
 
11
+ <div class="container">
11
12
  <%= yield %>
13
+ </div>
12
14
 
13
15
  </body>
14
16
  </html>
@@ -3,3 +3,33 @@
3
3
 
4
4
  en:
5
5
  hello: "Hello world"
6
+ mongoid:
7
+ models:
8
+ popolo/contact_detail:
9
+ one: Contact detail
10
+ other: Contact details
11
+ popolo/identifier:
12
+ one: Identifier
13
+ other: Identifiers
14
+ popolo/link:
15
+ one: Link
16
+ other: Links
17
+ popolo/membership:
18
+ one: Membership
19
+ other: Memberships
20
+ popolo/organization:
21
+ one: Organization
22
+ other: Organizations
23
+ popolo/other_name:
24
+ one: Other name
25
+ other: Other names
26
+ popolo/person:
27
+ one: Person
28
+ other: People
29
+ popolo/post:
30
+ one: Post
31
+ other: Posts
32
+ popolo:
33
+ popolo/source:
34
+ one: Source
35
+ other: Sources
@@ -1,3 +1,3 @@
1
1
  Rails.application.routes.draw do
2
- mount Popolo::Engine => '/popolo'
2
+ mount Popolo::Engine => '/'
3
3
  end