riaction 1.2.1 → 1.2.2
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/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/README.md +1 -0
- data/db/riaction.db +0 -0
- data/lib/riaction/event_performer.rb +7 -6
- data/lib/riaction/version.rb +1 -1
- data/spec/event_performer_spec.rb +19 -0
- data/spec/profile_creation_spec.rb +14 -0
- metadata +18 -18
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
data/db/riaction.db
CHANGED
|
Binary file
|
|
@@ -6,18 +6,19 @@ module Riaction
|
|
|
6
6
|
@queue = :riaction_event_logger
|
|
7
7
|
|
|
8
8
|
def self.perform(event_name, klass_name, id, attempt=0)
|
|
9
|
+
event_name_sym = event_name.to_sym
|
|
9
10
|
iactionable_api = IActionable::Api.new
|
|
10
11
|
event_object = klass_name.constantize.find_by_id!(id)
|
|
11
12
|
event_params = event_object.riaction_event_params
|
|
12
13
|
|
|
13
14
|
if ( klass_name.constantize.riactionary? &&
|
|
14
15
|
klass_name.constantize.riaction_events? &&
|
|
15
|
-
klass_name.constantize.riaction_defines_event?(
|
|
16
|
-
iactionable_api.log_event( event_params[
|
|
17
|
-
event_params[
|
|
18
|
-
event_params[
|
|
19
|
-
|
|
20
|
-
event_params[
|
|
16
|
+
klass_name.constantize.riaction_defines_event?(event_name_sym) )
|
|
17
|
+
iactionable_api.log_event( event_params[event_name_sym][:profile][:type],
|
|
18
|
+
event_params[event_name_sym][:profile][:id_type],
|
|
19
|
+
event_params[event_name_sym][:profile][:id],
|
|
20
|
+
event_name_sym,
|
|
21
|
+
event_params[event_name_sym][:params])
|
|
21
22
|
else
|
|
22
23
|
raise ::Riaction::ConfigurationError.new("#{klass_name} does not define event #{event_name}")
|
|
23
24
|
end
|
data/lib/riaction/version.rb
CHANGED
|
@@ -224,6 +224,25 @@ describe "sending an event to IActionable from the name of a riaction class and
|
|
|
224
224
|
::Riaction::EventPerformer.perform(:make_a_comment, 'Comment', @comment.id)
|
|
225
225
|
end
|
|
226
226
|
end
|
|
227
|
+
|
|
228
|
+
describe "when the arguments passed to perform() are all strings" do
|
|
229
|
+
before do
|
|
230
|
+
Comment.class_eval do
|
|
231
|
+
riaction :event, :name => :make_a_comment, :trigger => :create, :profile => :user, :profile_type => :npc
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
@comment = Comment.riactionless{ Comment.create(:user_id => @user.id, :content => 'this is a comment') }
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
it "should behave correctly and without error" do
|
|
238
|
+
@api.should_receive(:log_event).once.with(@comment.riaction_event_params[:make_a_comment][:profile][:type],
|
|
239
|
+
@comment.riaction_event_params[:make_a_comment][:profile][:id_type],
|
|
240
|
+
@comment.riaction_event_params[:make_a_comment][:profile][:id],
|
|
241
|
+
:make_a_comment,
|
|
242
|
+
{})
|
|
243
|
+
lambda {::Riaction::EventPerformer.perform('make_a_comment', 'Comment', @comment.id.to_s)}.should_not raise_error
|
|
244
|
+
end
|
|
245
|
+
end
|
|
227
246
|
end
|
|
228
247
|
|
|
229
248
|
after do
|
|
@@ -126,6 +126,20 @@ describe "automatic profile creation from riaction definitions:" do
|
|
|
126
126
|
::Riaction::ProfileCreator.perform('User', @user.id, 0)
|
|
127
127
|
end
|
|
128
128
|
end
|
|
129
|
+
|
|
130
|
+
describe "when the arguments passed to perform are all strings" do
|
|
131
|
+
before do
|
|
132
|
+
User.class_eval do
|
|
133
|
+
riaction :profile, :type => :player, :custom => :id
|
|
134
|
+
end
|
|
135
|
+
@user = User.riactionless{ User.create(:name => 'zortnac') }
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
it "it should behave normally and without error" do
|
|
139
|
+
@api.should_receive(:create_profile).once.with('player', 'custom', @user.id.to_s, nil)
|
|
140
|
+
lambda {::Riaction::ProfileCreator.perform('User', @user.id.to_s)}.should_not raise_error
|
|
141
|
+
end
|
|
142
|
+
end
|
|
129
143
|
end
|
|
130
144
|
|
|
131
145
|
after do
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: riaction
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.2
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-02-
|
|
12
|
+
date: 2012-02-28 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rspec
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &2153265020 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '2.6'
|
|
22
22
|
type: :development
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *2153265020
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: sqlite3
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &2153264580 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0'
|
|
33
33
|
type: :development
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *2153264580
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: ruby-debug19
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &2153264060 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: '0'
|
|
44
44
|
type: :development
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *2153264060
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: rake
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &2153263580 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ! '>='
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: '0'
|
|
55
55
|
type: :runtime
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *2153263580
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: activerecord
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &2153263060 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: 3.0.0
|
|
66
66
|
type: :runtime
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *2153263060
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: activesupport
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &2153262560 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ! '>='
|
|
@@ -76,10 +76,10 @@ dependencies:
|
|
|
76
76
|
version: 3.0.0
|
|
77
77
|
type: :runtime
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *2153262560
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: resque
|
|
82
|
-
requirement: &
|
|
82
|
+
requirement: &2153262180 !ruby/object:Gem::Requirement
|
|
83
83
|
none: false
|
|
84
84
|
requirements:
|
|
85
85
|
- - ! '>='
|
|
@@ -87,10 +87,10 @@ dependencies:
|
|
|
87
87
|
version: '0'
|
|
88
88
|
type: :runtime
|
|
89
89
|
prerelease: false
|
|
90
|
-
version_requirements: *
|
|
90
|
+
version_requirements: *2153262180
|
|
91
91
|
- !ruby/object:Gem::Dependency
|
|
92
92
|
name: ruby-iactionable
|
|
93
|
-
requirement: &
|
|
93
|
+
requirement: &2153261600 !ruby/object:Gem::Requirement
|
|
94
94
|
none: false
|
|
95
95
|
requirements:
|
|
96
96
|
- - ! '>='
|
|
@@ -98,7 +98,7 @@ dependencies:
|
|
|
98
98
|
version: 0.0.2
|
|
99
99
|
type: :runtime
|
|
100
100
|
prerelease: false
|
|
101
|
-
version_requirements: *
|
|
101
|
+
version_requirements: *2153261600
|
|
102
102
|
description: Wrapper for IActionable's restful API and an "acts-as" style interface
|
|
103
103
|
for models to behave as profiles and drive game events.
|
|
104
104
|
email:
|