paul_revere 1.4 → 2.0.0

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +1 -1
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +16 -2
  5. data/MIT-LICENSE +1 -1
  6. data/NEWS.md +8 -0
  7. data/README.md +47 -49
  8. data/Rakefile +12 -9
  9. data/app/assets/javascripts/announcements.js +22 -8
  10. data/app/helpers/announcements_helper.rb +10 -2
  11. data/app/models/announcement.rb +5 -1
  12. data/app/views/announcements/_private_announcement.html.erb +3 -0
  13. data/app/views/announcements/_public_announcement.html.erb +8 -0
  14. data/gemfiles/rails_4.0.0.gemfile +1 -1
  15. data/gemfiles/rails_4.1.0.gemfile +1 -1
  16. data/gemfiles/rails_4.2.0.gemfile +1 -1
  17. data/lib/generators/paul_revere/paul_revere_generator.rb +6 -10
  18. data/lib/generators/paul_revere/templates/migration.rb +2 -6
  19. data/lib/paul_revere.rb +1 -1
  20. data/lib/paul_revere/version.rb +1 -1
  21. data/paul_revere.gemspec +17 -15
  22. data/spec/factories.rb +5 -0
  23. data/spec/fake_app.rb +5 -1
  24. data/spec/helpers/announcements_helper_spec.rb +75 -23
  25. data/spec/javascripts/announcements_spec.js +10 -0
  26. data/spec/javascripts/helpers/.gitkeep +0 -0
  27. data/spec/javascripts/support/jasmine.yml +10 -0
  28. data/spec/javascripts/support/jquery-2.1.3.min.js +4 -0
  29. data/spec/lib/generators/paul_revere/paul_revere_generator_spec.rb +14 -2
  30. data/spec/models/announcement_spec.rb +11 -16
  31. data/spec/paul_revere_spec.rb +1 -1
  32. data/spec/rails_helper.rb +4 -0
  33. data/spec/views/announcements/_email_announcement.erb_spec.rb +1 -1
  34. data/spec/views/announcements/_private_announcement.html.erb_spec.rb +21 -0
  35. data/spec/views/announcements/_public_announcement.html.erb_spec.rb +20 -0
  36. metadata +55 -12
  37. data/app/views/announcements/_announcement.html.erb +0 -1
  38. data/app/views/announcements/_announcement_for_all.html.erb +0 -8
  39. data/lib/generators/paul_revere/USAGE +0 -9
  40. data/shoulda_macros/announcement.rb +0 -18
  41. data/spec/views/announcements/_announcement.html.erb_spec.rb +0 -29
  42. data/spec/views/announcements/_announcement_for_all.html.erb_spec.rb +0 -26
@@ -1 +0,0 @@
1
- <%= render 'announcements/announcement_for_all' if current_user %>
@@ -1,8 +0,0 @@
1
- <% if current_announcement.exists? && !announcement_hidden?(current_announcement) %>
2
- <div id="announcement">
3
- <span><%= current_announcement.body.html_safe %></span>
4
- <span class="hide">
5
- <%= link_to "hide", "#", onclick: "hideAnnouncement('announcement_#{current_announcement.created_at.iso8601}')" %>
6
- </span>
7
- </div>
8
- <% end %>
@@ -1,9 +0,0 @@
1
- Description:
2
- Copies a javascript file and a migration into the application.
3
-
4
- Example:
5
- rails generate paul_revere
6
-
7
- This will create:
8
- public/javascripts/announcements.js
9
- db/migrate/create_announcements.rb
@@ -1,18 +0,0 @@
1
- class ActiveSupport::TestCase
2
-
3
- def self.with_current_announcement(&blk)
4
- context "When there is a current announcement" do
5
- setup do
6
- Annoucement.create!(:body => 'therefore,')
7
- end
8
- merge_block(&blk)
9
- end
10
- end
11
-
12
- def self.should_display_current_announcement
13
- should "have the current announcement in it" do
14
- assert_match Announcement.current.body, @email.body
15
- end
16
- end
17
-
18
- end
@@ -1,29 +0,0 @@
1
- require "rails_helper"
2
-
3
- class User; end
4
-
5
- module ApplicationHelper
6
- def current_user
7
- raise
8
- end
9
- end
10
-
11
- describe "announcements/_announcement" do
12
- before(:example) do
13
- stub_template "announcements/_announcement_for_all.html.erb" => "Partial"
14
- end
15
-
16
- it "renders the all partial when there is a user" do
17
- allow(view).to receive(:current_user).and_return(User.new)
18
- render
19
-
20
- expect(rendered).to match /Partial/
21
- end
22
-
23
- it "does not render the all partial when there is not a user" do
24
- allow(view).to receive(:current_user).and_return(nil)
25
- render
26
-
27
- expect(rendered).to eq "\n"
28
- end
29
- end
@@ -1,26 +0,0 @@
1
- require "rails_helper"
2
-
3
- describe "announcements/_announcement_for_all" do
4
- it "renders nothing when announcement does not exist" do
5
- expect(Announcement.count).to eq 0
6
- render
7
-
8
- expect(rendered).to eq ""
9
- end
10
-
11
- it "renders nothing when an Announcement exists but is hidden" do
12
- Announcement.create!(body: "Test")
13
- allow(view).to receive(:announcement_hidden?).and_return(true)
14
- render
15
-
16
- expect(rendered).to eq ""
17
- end
18
-
19
- it "renders the announcement when an Announcement exists and is not hidden" do
20
- announcement = Announcement.create!(body: "Test")
21
- render
22
-
23
- expect(rendered).to match /Test/
24
- expect(rendered).to match /announcement_#{announcement.created_at.iso8601}/
25
- end
26
- end