triumph 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.3
data/lib/achievements.rb CHANGED
@@ -8,12 +8,12 @@ module Achievements
8
8
 
9
9
  def grant_achievement(achievement)
10
10
  unless self.has_achievement?(achievement)
11
- CompletedAchievement.create!(:achievemnt_id => achievement.id, :user_id => self.id)
11
+ CompletedAchievement.create!(:achievement_id => achievement.id, :user_id => self.id)
12
12
  end
13
13
  end
14
14
 
15
15
  def has_achievement?(achievement)
16
- CompletedAchievements.where("achievement_id = ?", achievement.id).count >= 1
16
+ CompletedAchievement.where("achievement_id = ?", achievement.id).count >= 1
17
17
  end
18
18
 
19
19
  end
File without changes
@@ -5,13 +5,13 @@ class Achievement < ActiveRecord::Base
5
5
  def self.check_achievements_for(object)
6
6
 
7
7
  user = object.user
8
- object_class = object.class.underscore.downcase
8
+ object_class = object.class.to_s.underscore.downcase
9
9
  potential_achievements = Achievement.where("observe_class = ?", object_class)
10
10
 
11
11
  potential_achievements.each do |achievement|
12
- total = user.send(object.class.to_s.pluralize.underscore.to_sym).where(achievement.conditions)
13
- if total > achievment.quantity
14
- user.grant_achievment(achievement)
12
+ total = user.send(object.class.to_s.pluralize.underscore.to_sym).where(achievement.conditions).count
13
+ if total >= achievement.quantity
14
+ user.grant_achievement(achievement)
15
15
  end
16
16
  end
17
17
  end
File without changes
File without changes
@@ -5,7 +5,7 @@ class CreateAchievements < ActiveRecord::Migration
5
5
  t.text :description
6
6
  t.string :observe_class
7
7
  t.string :conditions
8
- t.int :quantity
8
+ t.integer :quantity
9
9
 
10
10
  t.timestamps
11
11
  end
@@ -1,7 +1,7 @@
1
1
  class CreateCompletedAchievements < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :completed_achievements do |t|
4
- t.int :achievement_id
4
+ t.integer :achievement_id
5
5
  t.integer :user_id
6
6
 
7
7
  t.timestamps
@@ -1,7 +1,7 @@
1
1
  class CreateAchievementConditions < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :achievement_conditions do |t|
4
- t.int :achievement_id
4
+ t.integer :achievement_id
5
5
  t.string :comparison_attribute
6
6
  t.string :comparison_operator
7
7
  t.string :comparison_value
@@ -1,10 +1,12 @@
1
+ require 'rails/generators'
2
+
1
3
  class AchievementObserverGenerator < Rails::Generators::Base
2
4
  source_root File.expand_path('../templates', __FILE__)
3
5
 
4
6
  argument :model_name, :type => :string, :description => "The name of the model to observe."
5
7
 
6
8
  def generate
7
- empty_directory "app/models/triumph"
9
+ empty_directory "app/models"
8
10
  template "achievement_observer.rb", "app/models/triumph/#{model_name.underscore}_observer.rb"
9
11
  end
10
12
 
@@ -1,10 +1,12 @@
1
+ require 'rails/generators'
2
+
1
3
  class TriumphGenerator < Rails::Generators::Base
2
4
 
3
- source_root File.expand_path('../../lib/db/migrate', __FILE__)
5
+ source_root File.expand_path('../../../../lib/db/migrate', __FILE__)
4
6
 
5
7
  def generate
6
8
  copy_file "20110711040135_create_achievements.rb", "db/migrate/#{Time.now.utc.strftime("%Y%m%d%H%M%S")}_create_achievements.rb"
7
- copy_file "20110712025245_create_completed_achievements.rb", "db/migrate/#{Time.now.utc.strftime("%Y%m%d%H%M%S")}_create_completed_achievements.rb"
8
- copy_file "20110712033351_create_achievement_conditions.rb", "db/migrate/#{Time.now.utc.strftime("%Y%m%d%H%M%S")}_create_achievement_conditions.rb"
9
+ copy_file "20110712025245_create_completed_achievements.rb", "db/migrate/#{(Time.now + 1.minute).utc.strftime("%Y%m%d%H%M%S")}_create_completed_achievements.rb"
10
+ copy_file "20110712033351_create_achievement_conditions.rb", "db/migrate/#{(Time.now + 2.minutes).utc.strftime("%Y%m%d%H%M%S")}_create_achievement_conditions.rb"
9
11
  end
10
12
  end
data/triumph.gemspec ADDED
@@ -0,0 +1,90 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{triumph}
8
+ s.version = "0.1.3"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = [%q{Adam Bray}]
12
+ s.date = %q{2011-07-15}
13
+ s.description = %q{Triumph makes it easy to add achievements to your app, even dynamically at runtime.}
14
+ s.email = %q{adam.bray@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".DS_Store",
21
+ ".document",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "lib/.DS_Store",
29
+ "lib/achievements.rb",
30
+ "lib/app/controllers/achievements_controller.rb",
31
+ "lib/app/models/achievement.rb",
32
+ "lib/app/models/completed_achievement.rb",
33
+ "lib/app/views/achievements/index.html.erb",
34
+ "lib/app/views/achievements/new.html.erb",
35
+ "lib/db/.DS_Store",
36
+ "lib/db/migrate/20110711040135_create_achievements.rb",
37
+ "lib/db/migrate/20110712025245_create_completed_achievements.rb",
38
+ "lib/db/migrate/20110712033351_create_achievement_conditions.rb",
39
+ "lib/generators/.DS_Store",
40
+ "lib/generators/achievement_observer/achievement_observer_generator.rb",
41
+ "lib/generators/achievement_observer/templates/achievement_observer.rb",
42
+ "lib/generators/triumph/.DS_Store",
43
+ "lib/generators/triumph/triumph_generator.rb",
44
+ "lib/tasks/triumph_tasks.rake",
45
+ "lib/triumph.rb",
46
+ "rails/init.rb",
47
+ "test/helper.rb",
48
+ "test/test_triumph.rb",
49
+ "triumph.gemspec"
50
+ ]
51
+ s.homepage = %q{http://github.com/adambray/triumph}
52
+ s.licenses = [%q{MIT}]
53
+ s.require_paths = [%q{lib}]
54
+ s.rubygems_version = %q{1.8.5}
55
+ s.summary = %q{Trimuph helps you add achievements to your app}
56
+
57
+ if s.respond_to? :specification_version then
58
+ s.specification_version = 3
59
+
60
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
+ s.add_runtime_dependency(%q<rails>, [">= 3.0.0"])
62
+ s.add_runtime_dependency(%q<rails3-generators>, [">= 0"])
63
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
64
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
65
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
66
+ s.add_development_dependency(%q<rcov>, [">= 0"])
67
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
68
+ s.add_development_dependency(%q<rails>, [">= 3.0.0"])
69
+ else
70
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
71
+ s.add_dependency(%q<rails3-generators>, [">= 0"])
72
+ s.add_dependency(%q<shoulda>, [">= 0"])
73
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
74
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
75
+ s.add_dependency(%q<rcov>, [">= 0"])
76
+ s.add_dependency(%q<rdoc>, [">= 0"])
77
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
78
+ end
79
+ else
80
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
81
+ s.add_dependency(%q<rails3-generators>, [">= 0"])
82
+ s.add_dependency(%q<shoulda>, [">= 0"])
83
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
84
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
85
+ s.add_dependency(%q<rcov>, [">= 0"])
86
+ s.add_dependency(%q<rdoc>, [">= 0"])
87
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
88
+ end
89
+ end
90
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: triumph
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Adam Bray
@@ -157,8 +157,11 @@ files:
157
157
  - VERSION
158
158
  - lib/.DS_Store
159
159
  - lib/achievements.rb
160
+ - lib/app/controllers/achievements_controller.rb
160
161
  - lib/app/models/achievement.rb
161
162
  - lib/app/models/completed_achievement.rb
163
+ - lib/app/views/achievements/index.html.erb
164
+ - lib/app/views/achievements/new.html.erb
162
165
  - lib/db/.DS_Store
163
166
  - lib/db/migrate/20110711040135_create_achievements.rb
164
167
  - lib/db/migrate/20110712025245_create_completed_achievements.rb
@@ -173,6 +176,7 @@ files:
173
176
  - rails/init.rb
174
177
  - test/helper.rb
175
178
  - test/test_triumph.rb
179
+ - triumph.gemspec
176
180
  homepage: http://github.com/adambray/triumph
177
181
  licenses:
178
182
  - MIT