make_flaggable 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.
data/README.rdoc CHANGED
@@ -66,7 +66,13 @@ migrate the database
66
66
  flagging = article.flaggings.first
67
67
  user = flagging.flagger
68
68
 
69
- # Returns true if the article was flagged by any flagger, false otherwise
69
+ # Returns true if the flagger flagged the flaggable, false otherwise.
70
+ user.flagged?(article)
71
+
72
+ # Return true if the flaggable was flagged by the flagger, false otherwise.
73
+ article.flagged_by?(user)
74
+
75
+ # Returns true if the article was flagged by any flagger at all, false otherwise.
70
76
  article.flagged?
71
77
 
72
78
  # Flaggings can also be accessed by its flagger.
@@ -78,4 +84,8 @@ MakeFlaggable uses RSpec for testing and has a rake task for executing the provi
78
84
 
79
85
  rake spec
80
86
 
87
+ or simply
88
+
89
+ rake
90
+
81
91
  Copyright © 2010-2011 Kai Schlamp (http://www.medihack.org), released under the MIT license
@@ -15,5 +15,9 @@ module MakeFlaggable
15
15
  def flagged?
16
16
  flaggings.count > 0
17
17
  end
18
+
19
+ def flagged_by?(flagger)
20
+ flagger.flagged?(self)
21
+ end
18
22
  end
19
23
  end
@@ -57,6 +57,12 @@ module MakeFlaggable
57
57
  success
58
58
  end
59
59
 
60
+ def flagged?(flaggable)
61
+ check_flaggable(flaggable)
62
+
63
+ fetch_flaggings(flaggable).try(:first) ? true : false
64
+ end
65
+
60
66
  private
61
67
 
62
68
  def fetch_flaggings(flaggable)
@@ -1,3 +1,3 @@
1
1
  module MakeFlaggable
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.add_development_dependency "database_cleaner", "0.6.7.RC"
21
21
  s.add_development_dependency "sqlite3-ruby", "~> 1.3.0"
22
22
  s.add_development_dependency "generator_spec", "~> 0.8.2"
23
+ s.add_development_dependency "rake", "0.8.7"
23
24
 
24
25
  s.files = `git ls-files`.split("\n")
25
26
  s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
@@ -20,6 +20,12 @@ describe "Make Flaggable" do
20
20
  @flagger_once.class.flagger?.should == true
21
21
  end
22
22
 
23
+ it "should have flaggings" do
24
+ @flagger.flaggings.length.should == 0
25
+ @flagger.flag!(@flaggable)
26
+ @flagger.flaggings.reload.length.should == 1
27
+ end
28
+
23
29
  describe "flagger" do
24
30
  describe "flag" do
25
31
  it "should create a flagging" do
@@ -79,10 +85,14 @@ describe "Make Flaggable" do
79
85
  end
80
86
  end
81
87
 
82
- it "should have flaggings" do
83
- @flagger.flaggings.length.should == 0
84
- @flagger.flag!(@flaggable)
85
- @flagger.flaggings.reload.length.should == 1
88
+ describe "flagged?" do
89
+ it "should check if flagger is flagged the flaggable" do
90
+ @flagger.flagged?(@flaggable).should == false
91
+ @flagger.flag!(@flaggable)
92
+ @flagger.flagged?(@flaggable).should == true
93
+ @flagger.unflag!(@flaggable)
94
+ @flagger.flagged?(@flaggable).should == false
95
+ end
86
96
  end
87
97
  end
88
98
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: make_flaggable
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.2
5
+ version: 0.0.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Kai Schlamp
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-06-18 00:00:00 +02:00
13
+ date: 2011-06-19 00:00:00 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -79,6 +79,17 @@ dependencies:
79
79
  version: 0.8.2
80
80
  type: :development
81
81
  version_requirements: *id006
82
+ - !ruby/object:Gem::Dependency
83
+ name: rake
84
+ prerelease: false
85
+ requirement: &id007 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - "="
89
+ - !ruby/object:Gem::Version
90
+ version: 0.8.7
91
+ type: :development
92
+ version_requirements: *id007
82
93
  description: A user-centric flagging extension for Rails 3 applications.
83
94
  email:
84
95
  - schlamp@gmx.de