-41
42
43
44
@@ -370,14 +384,19 @@ Instance Method Details
147
148
149
-150
+150
+151
+152
+153
|
- # File 'lib/riaction/riaction.rb', line 41
+ # File 'lib/riaction/riaction.rb', line 42
def establish_riactionary_class
class << self
- def riactionary?
+
+ def riactionary?
true
end
@@ -503,9 +522,6 @@ Instance Method Details
-166
-167
-168
169
170
171
@@ -517,10 +533,13 @@ Instance Method Details
177
178
179
-180
+180
+181
+182
+183
|
- # File 'lib/riaction/riaction.rb', line 166
+ # File 'lib/riaction/riaction.rb', line 169
def establish_riactionary_event_class
(::Riaction::Riaction::EVENT_CLASSES << self.to_s).uniq!
@@ -555,9 +574,6 @@ Instance Method Details
-152
-153
-154
155
156
157
@@ -567,10 +583,13 @@ Instance Method Details
161
162
163
-164
+164
+165
+166
+167
|
- # File 'lib/riaction/riaction.rb', line 152
+ # File 'lib/riaction/riaction.rb', line 155
def establish_riactionary_profile_class
(::Riaction::Riaction::PROFILE_CLASSES << self.to_s).uniq!
@@ -689,12 +708,12 @@ Returns:
-190
-191
-192
+193
+194
+195
|
- # File 'lib/riaction/riaction.rb', line 190
+ # File 'lib/riaction/riaction.rb', line 193
def riaction_events?
false
@@ -739,12 +758,12 @@ Returns:
-186
-187
-188
+189
+190
+191
|
- # File 'lib/riaction/riaction.rb', line 186
+ # File 'lib/riaction/riaction.rb', line 189
def riaction_profile?
false
@@ -789,12 +808,12 @@ Returns:
-182
-183
-184
+185
+186
+187
|
- # File 'lib/riaction/riaction.rb', line 182
+ # File 'lib/riaction/riaction.rb', line 185
def riactionary?
false
@@ -809,7 +828,7 @@ Returns:
diff --git a/doc/Riaction/Riaction/Event.html b/doc/Riaction/Riaction/Event.html
index 4408784..8652dab 100644
--- a/doc/Riaction/Riaction/Event.html
+++ b/doc/Riaction/Riaction/Event.html
@@ -99,7 +99,7 @@ Defined Under Namespace
diff --git a/doc/Riaction/Riaction/Event/InstanceMethods.html b/doc/Riaction/Riaction/Event/InstanceMethods.html
index 3b0cb54..a633ee8 100644
--- a/doc/Riaction/Riaction/Event/InstanceMethods.html
+++ b/doc/Riaction/Riaction/Event/InstanceMethods.html
@@ -156,9 +156,6 @@ Instance Method Details
-327
-328
-329
330
331
332
@@ -189,10 +186,13 @@ Instance Method Details
357
358
359
-360
+360
+361
+362
+363
|
- # File 'lib/riaction/riaction.rb', line 327
+ # File 'lib/riaction/riaction.rb', line 330
def riaction_event_params
resolved_hash = {}
@@ -268,14 +268,14 @@ Returns:
-362
-363
-364
365
-366
+366
+367
+368
+369
|
- # File 'lib/riaction/riaction.rb', line 362
+ # File 'lib/riaction/riaction.rb', line 365
def riaction_log_event?(name)
riaction_resolve_param self.class.riaction_events.fetch(name)[:guard]
@@ -292,7 +292,7 @@ Returns:
diff --git a/doc/Riaction/Riaction/InstanceMethods.html b/doc/Riaction/Riaction/InstanceMethods.html
index 37aecee..1ecdf6d 100644
--- a/doc/Riaction/Riaction/InstanceMethods.html
+++ b/doc/Riaction/Riaction/InstanceMethods.html
@@ -135,9 +135,6 @@ Instance Method Details
-196
-197
-198
199
200
201
@@ -154,10 +151,13 @@ Instance Method Details
212
213
214
-215
+215
+216
+217
+218
|
- # File 'lib/riaction/riaction.rb', line 196
+ # File 'lib/riaction/riaction.rb', line 199
def riaction_resolve_param(poly)
case poly
@@ -189,7 +189,7 @@ Instance Method Details
diff --git a/doc/Riaction/Riaction/Profile.html b/doc/Riaction/Riaction/Profile.html
index 52419f0..3123f97 100644
--- a/doc/Riaction/Riaction/Profile.html
+++ b/doc/Riaction/Riaction/Profile.html
@@ -99,7 +99,7 @@ Defined Under Namespace
diff --git a/doc/Riaction/Riaction/Profile/InstanceMethods.html b/doc/Riaction/Riaction/Profile/InstanceMethods.html
index 8e57695..23ca5ee 100644
--- a/doc/Riaction/Riaction/Profile/InstanceMethods.html
+++ b/doc/Riaction/Riaction/Profile/InstanceMethods.html
@@ -326,18 +326,18 @@ Instance Method Details
-257
-258
-259
260
261
262
263
264
-265
+265
+266
+267
+268
|
- # File 'lib/riaction/riaction.rb', line 257
+ # File 'lib/riaction/riaction.rb', line 260
def riaction_profile_achievements(filter_type=nil)
@iactionable_api ||= IActionable::Api.new
@@ -366,18 +366,18 @@ Instance Method Details
-267
-268
-269
270
271
272
273
274
-275
+275
+276
+277
+278
|
- # File 'lib/riaction/riaction.rb', line 267
+ # File 'lib/riaction/riaction.rb', line 270
def riaction_profile_challenges(filter_type=nil)
@iactionable_api ||= IActionable::Api.new
@@ -406,14 +406,14 @@ Instance Method Details
-237
-238
-239
240
-241
+241
+242
+243
+244
|
- # File 'lib/riaction/riaction.rb', line 237
+ # File 'lib/riaction/riaction.rb', line 240
def riaction_profile_display_name
riaction_resolve_param self.class.riaction_profile_keys.fetch(riaction_use_profile)[:display_name]
@@ -438,18 +438,18 @@ Instance Method Details
-277
-278
-279
280
281
282
283
284
-285
+285
+286
+287
+288
|
- # File 'lib/riaction/riaction.rb', line 277
+ # File 'lib/riaction/riaction.rb', line 280
def riaction_profile_goals(filter_type=nil)
@iactionable_api ||= IActionable::Api.new
@@ -478,19 +478,19 @@ Instance Method Details
-220
-221
-222
223
224
225
226
227
228
-229
+229
+230
+231
+232
|
- # File 'lib/riaction/riaction.rb', line 220
+ # File 'lib/riaction/riaction.rb', line 223
def riaction_profile_keys
resolved_hash = {}
@@ -520,18 +520,18 @@ Instance Method Details
-287
-288
-289
290
291
292
293
294
-295
+295
+296
+297
+298
|
- # File 'lib/riaction/riaction.rb', line 287
+ # File 'lib/riaction/riaction.rb', line 290
def riaction_profile_notifications
@iactionable_api ||= IActionable::Api.new
@@ -560,18 +560,18 @@ Instance Method Details
-297
-298
-299
300
301
302
303
304
-305
+305
+306
+307
+308
|
- # File 'lib/riaction/riaction.rb', line 297
+ # File 'lib/riaction/riaction.rb', line 300
def riaction_profile_points(point_type)
@iactionable_api ||= IActionable::Api.new
@@ -611,18 +611,18 @@ Instance Method Details
-247
-248
-249
250
251
252
253
254
-255
+255
+256
+257
+258
|
- # File 'lib/riaction/riaction.rb', line 247
+ # File 'lib/riaction/riaction.rb', line 250
def riaction_profile_summary(achievement_count=nil)
@iactionable_api ||= IActionable::Api.new
@@ -673,14 +673,14 @@ Raises:
-231
-232
-233
234
-235
+235
+236
+237
+238
|
- # File 'lib/riaction/riaction.rb', line 231
+ # File 'lib/riaction/riaction.rb', line 234
def riaction_set_profile(type)
raise RuntimeError.new("#{self.to_s} does not define a profile type #{type}") unless riaction_profile_keys.has_key?(type)
@@ -705,18 +705,18 @@ Raises:
-307
-308
-309
310
311
312
313
314
-315
+315
+316
+317
+318
|
- # File 'lib/riaction/riaction.rb', line 307
+ # File 'lib/riaction/riaction.rb', line 310
def riaction_update_profile_points(point_type, amount, reason="")
@iactionable_api ||= IActionable::Api.new
@@ -737,7 +737,7 @@ Raises:
diff --git a/doc/Riaction/RuntimeError.html b/doc/Riaction/RuntimeError.html
index 01f51db..29b8d49 100644
--- a/doc/Riaction/RuntimeError.html
+++ b/doc/Riaction/RuntimeError.html
@@ -107,7 +107,7 @@
diff --git a/doc/RiactionGenerator.html b/doc/RiactionGenerator.html
index 0802b1e..b229ed1 100644
--- a/doc/RiactionGenerator.html
+++ b/doc/RiactionGenerator.html
@@ -179,7 +179,7 @@ Instance Method Details
diff --git a/doc/_index.html b/doc/_index.html
index 757c47c..8e098e2 100644
--- a/doc/_index.html
+++ b/doc/_index.html
@@ -123,13 +123,6 @@ Namespace Listing A-Z
-
- EventPerformer
-
- (Riaction)
-
-
-
@@ -139,23 +132,23 @@ Namespace Listing A-Z
-
- InstanceMethods
+ InstanceMethods
- (Riaction::Riaction::Profile)
+ (Riaction::Riaction)
-
- InstanceMethods
+ InstanceMethods
- (Riaction::Riaction::Event)
+ (Riaction::Riaction::Profile)
-
- InstanceMethods
+ InstanceMethods
- (Riaction::Riaction)
+ (Riaction::Riaction::Event)
@@ -261,7 +254,7 @@ Namespace Listing A-Z
diff --git a/doc/class_list.html b/doc/class_list.html
index 9cb2520..08fcdab 100644
--- a/doc/class_list.html
+++ b/doc/class_list.html
@@ -39,7 +39,7 @@
diff --git a/doc/file.README.html b/doc/file.README.html
index 581a3cc..90fa019 100644
--- a/doc/file.README.html
+++ b/doc/file.README.html
@@ -295,7 +295,7 @@ Authors
diff --git a/doc/index.html b/doc/index.html
index 581a3cc..90fa019 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -295,7 +295,7 @@ Authors
diff --git a/doc/method_list.html b/doc/method_list.html
index 5aab294..e65071c 100644
--- a/doc/method_list.html
+++ b/doc/method_list.html
@@ -121,14 +121,6 @@
-
- perform
-
- Riaction::EventPerformer
-
-
-
-
- -
perform
Riaction::ProfileCreator
@@ -136,7 +128,7 @@
- -
+
-
retry_attempts_for_internal_error
Riaction::Constants
@@ -144,7 +136,7 @@
- -
+
-
#riaction
Riaction::Riaction::ClassMethods
@@ -152,7 +144,7 @@
- -
+
-
#riaction_event_params
Riaction::Riaction::Event::InstanceMethods
@@ -160,7 +152,7 @@
- -
+
-
#riaction_events?
Riaction::Riaction::ClassMethods
@@ -168,7 +160,7 @@
- -
+
-
#riaction_log_event?
Riaction::Riaction::Event::InstanceMethods
@@ -176,7 +168,7 @@
- -
+
-
riaction_options
Riaction::Constants
@@ -184,7 +176,7 @@
- -
+
-
#riaction_profile?
Riaction::Riaction::ClassMethods
@@ -192,7 +184,7 @@
- -
+
-
#riaction_profile_achievements
Riaction::Riaction::Profile::InstanceMethods
@@ -200,7 +192,7 @@
- -
+
-
#riaction_profile_challenges
Riaction::Riaction::Profile::InstanceMethods
@@ -208,7 +200,7 @@
- -
+
-
#riaction_profile_display_name
Riaction::Riaction::Profile::InstanceMethods
@@ -216,7 +208,7 @@
- -
+
-
#riaction_profile_goals
Riaction::Riaction::Profile::InstanceMethods
@@ -224,7 +216,7 @@
- -
+
-
#riaction_profile_keys
Riaction::Riaction::Profile::InstanceMethods
@@ -232,7 +224,7 @@
- -
+
-
#riaction_profile_notifications
Riaction::Riaction::Profile::InstanceMethods
@@ -240,7 +232,7 @@
- -
+
-
#riaction_profile_points
Riaction::Riaction::Profile::InstanceMethods
@@ -248,7 +240,7 @@
- -
+
-
#riaction_profile_summary
Riaction::Riaction::Profile::InstanceMethods
@@ -256,7 +248,7 @@
- -
+
-
#riaction_resolve_param
Riaction::Riaction::InstanceMethods
@@ -264,7 +256,7 @@
- -
+
-
#riaction_set_profile
Riaction::Riaction::Profile::InstanceMethods
@@ -272,7 +264,7 @@
- -
+
-
#riaction_update_profile_points
Riaction::Riaction::Profile::InstanceMethods
@@ -280,7 +272,7 @@
- -
+
-
#riactionary?
Riaction::Riaction::ClassMethods
@@ -288,7 +280,7 @@
- -
+
-
supported_identifier_types
Riaction::Constants
diff --git a/doc/top-level-namespace.html b/doc/top-level-namespace.html
index a849e30..dd6fa4a 100644
--- a/doc/top-level-namespace.html
+++ b/doc/top-level-namespace.html
@@ -98,7 +98,7 @@
Defined Under Namespace
diff --git a/lib/riaction/constants.rb b/lib/riaction/constants.rb
index afe98d6..0d9b956 100644
--- a/lib/riaction/constants.rb
+++ b/lib/riaction/constants.rb
@@ -1,13 +1,17 @@
module Riaction
class Constants
+ # sets the default actions to be considered as part of riaction
def self.crud_actions
Set.new [:create, :update, :destroy]
end
-
+
+ # sets the default number of attempts to retry a action incase of an internal error
def self.retry_attempts_for_internal_error
3
end
-
+
+ # sets the valid supported identifiers
+ # @return returns an array of symbols
def self.supported_identifier_types
[:email,:username,:custom,:facebook,:twitter,:salesforce]
end
diff --git a/lib/riaction/crud_event_callback.rb b/lib/riaction/crud_event_callback.rb
index 58cbb14..144358f 100644
--- a/lib/riaction/crud_event_callback.rb
+++ b/lib/riaction/crud_event_callback.rb
@@ -7,18 +7,21 @@ def initialize(event_name)
@event_name = event_name
end
+ # Enqueues a Riaction::EventPerformer object in resque after a model has been created
def after_create(record)
if record.riaction_log_event?(@event_name) && !record.class.riactionless?
Resque.enqueue(::Riaction::EventPerformer, @event_name, record.class.base_class.to_s, record.id)
end
end
+ # Enqueues a Riaction::EventPerformer object in resque after a model has been updated
def after_update(record)
if record.riaction_log_event?(@event_name) && !record.class.riactionless?
Resque.enqueue(::Riaction::EventPerformer, @event_name, record.class.base_class.to_s, record.id)
end
end
+ # Enqueues a Riaction::EventPerformer object in resque after a model has been destroyed
def after_destroy(record)
if record.riaction_log_event?(@event_name) && !record.class.riactionless?
Resque.enqueue(::Riaction::EventPerformer, @event_name, record.class.base_class.to_s, record.id)
diff --git a/lib/riaction/event_performer.rb b/lib/riaction/event_performer.rb
index 07ec6a4..051fa86 100644
--- a/lib/riaction/event_performer.rb
+++ b/lib/riaction/event_performer.rb
@@ -5,7 +5,7 @@ module Riaction
class EventPerformer
@queue = :riaction_event_logger
- def self.perform(event_name, klass_name, id, attempt=0)
+ # Sends an event to IActionable based on the name of a riaction class and the ID used to locate the instance
event_name_sym = event_name.to_sym
iactionable_api = IActionable::Api.new
event_object = klass_name.constantize.find_by_id!(id)
diff --git a/lib/riaction/profile_creation_callback.rb b/lib/riaction/profile_creation_callback.rb
index 436e316..58d9e57 100644
--- a/lib/riaction/profile_creation_callback.rb
+++ b/lib/riaction/profile_creation_callback.rb
@@ -3,6 +3,8 @@
module Riaction
class ProfileCreationCallback
+
+ # Enqueue a Riaction::ProfileCreatore object in resque
def after_create(record)
Resque.enqueue(::Riaction::ProfileCreator, record.class.base_class.to_s, record.id) unless record.class.riactionless?
end
diff --git a/lib/riaction/riaction.rb b/lib/riaction/riaction.rb
index 6299f04..2f0ca0d 100644
--- a/lib/riaction/riaction.rb
+++ b/lib/riaction/riaction.rb
@@ -38,8 +38,11 @@ def riaction(type, opts)
end
end
+ # Patches a class to turn it into a riactionary class, providing some default checks and attributes
def establish_riactionary_class
class << self
+
+ # returns true if a class has riaction setup
def riactionary?
true
end
diff --git a/riaction.gemspec b/riaction.gemspec
index 37a0c45..01e6430 100644
--- a/riaction.gemspec
+++ b/riaction.gemspec
@@ -5,9 +5,9 @@ require "riaction/version"
Gem::Specification.new do |s|
s.name = "riaction"
s.version = Riaction::VERSION
- s.authors = ["Chris Eberz"]
+ s.authors = ["Chris Eberz", "Katie Miller", "Nicholas Audo"]
s.email = ["ceberz@elctech.com"]
- s.homepage = ""
+ s.homepage = "https://github.com/zortnac/riaction/"
s.summary = %q{Wrapper for IActionable's restful API and an "acts-as" style interface for models to behave as profiles and drive game events.}
s.description = %q{Wrapper for IActionable's restful API and an "acts-as" style interface for models to behave as profiles and drive game events.}
|