triumph 0.1.1 → 0.1.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/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