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 +1 -1
- data/lib/achievements.rb +2 -2
- data/lib/app/controllers/achievements_controller.rb +0 -0
- data/lib/app/models/achievement.rb +4 -4
- data/lib/app/views/achievements/index.html.erb +0 -0
- data/lib/app/views/achievements/new.html.erb +0 -0
- data/lib/db/migrate/20110711040135_create_achievements.rb +1 -1
- data/lib/db/migrate/20110712025245_create_completed_achievements.rb +1 -1
- data/lib/db/migrate/20110712033351_create_achievement_conditions.rb +1 -1
- data/lib/generators/achievement_observer/achievement_observer_generator.rb +3 -1
- data/lib/generators/triumph/triumph_generator.rb +5 -3
- data/triumph.gemspec +90 -0
- metadata +7 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.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!(:
|
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
|
-
|
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
|
14
|
-
user.
|
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
|
@@ -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
|
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('
|
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:
|
4
|
+
hash: 29
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.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
|