make_flaggable 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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