badgeville_berlin 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README_ADVANCED.md CHANGED
@@ -106,7 +106,10 @@ This is an open source Ruby wrapper for interacting with the [Badgeville RESTful
106
106
 
107
107
  ```
108
108
 
109
- ### 8. Delete a reward definition.
109
+ ### 8. Delete a reward definition.
110
+ <ul>
111
+ <li>A reward definition can only be deleted if associated earned rewards have been deleted.</li>
112
+ </ul>
110
113
  ```ruby
111
114
  BadgevilleBerlin::RewardDefinition.delete(new_reward_def.id)
112
115
  ```
data/badgeville.gemspec CHANGED
@@ -31,6 +31,6 @@ Gem::Specification.new do |s|
31
31
  s.add_development_dependency "autotest-growl"
32
32
  s.add_development_dependency "logger", ">=1.2.8"
33
33
 
34
- s.add_runtime_dependency "activeresource", '>= 3.1.3'
34
+ s.add_runtime_dependency "activeresource", "~> 3.1"
35
35
  # s.add_runtime_dependency "rest-client"
36
36
  end
@@ -1,5 +1,6 @@
1
1
  # Subclasses BaseResource to represent a remote resource model class.
2
2
  module BadgevilleBerlin
3
3
  class ActivityDefinition < BadgevilleBerlin::BaseResource
4
+ COMPLEX_ATTRIBUTES = :selector, :adjustment
4
5
  end
5
6
  end
@@ -4,6 +4,8 @@ module BadgevilleBerlin
4
4
  # Subclasses ActiveResource::Base as BaseResource
5
5
  class BaseResource < ActiveResource::Base
6
6
 
7
+ COMPLEX_ATTRIBUTES = []
8
+
7
9
  def initialize(attributes = {}, persisted = false)
8
10
  #we return a nested JSON response with player rewards keyed off of mongo id's
9
11
  #on groups endpoint which causes activeresource to break when looking up a
@@ -36,7 +38,7 @@ module BadgevilleBerlin
36
38
  end
37
39
  end
38
40
  when Hash
39
- if [:selector, :adjustment].include?(key)
41
+ if self.class::COMPLEX_ATTRIBUTES.include?(key)
40
42
  #if the key is selector or adjustment, as on the ActivityDefinition object, we don't want to create a nested resource
41
43
  value
42
44
  else
@@ -1,5 +1,6 @@
1
1
  # Subclasses BaseResource to represent a remote resource model class.
2
2
  module BadgevilleBerlin
3
3
  class Player < BadgevilleBerlin::BaseResource
4
+ COMPLEX_ATTRIBUTES = [:custom]
4
5
  end
5
6
  end
@@ -1,3 +1,3 @@
1
1
  module BadgevilleBerlin
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -36,7 +36,6 @@ module BadgevilleBerlin
36
36
  # context "BaseResource passes correct arguments to send method" do
37
37
  # it "should call sanitize request and update record." do
38
38
  # @mock_activity_definition.bucket_drain_rate = 180
39
- # debugger
40
39
  # @path = ENDPOINTKEY + "/activity_definitions/" + @mock_activity_definition._id + ".json"
41
40
  # FakeWeb.allow_net_connect = false
42
41
  #
@@ -13,8 +13,9 @@ module BadgevilleBerlin
13
13
  FakeWeb.allow_net_connect = true
14
14
 
15
15
  # Configure the gem with the host site and the API Key
16
- my_api_key = "<myapikey>"
17
- my_hostname = "<http://myhostname.com>"
16
+
17
+ my_hostname = '<http://myhostname.com>'
18
+ my_api_key = '<my_api_key>'
18
19
 
19
20
  Config.conf(:host_name => my_hostname, :api_key => my_api_key)
20
21
 
@@ -265,8 +266,17 @@ module BadgevilleBerlin
265
266
 
266
267
  # DELETE RewardDefinition
267
268
  it "should have deleted a reward definition", :affects_bv_server => true do
268
- RewardDefinition.delete(@new_reward_defn.id)
269
- lambda { RewardDefinition.find(@new_reward_defn.id) }.should raise_error(ActiveResource::ResourceNotFound)
269
+ # Not in the README:
270
+ @new_reward_defn2 = RewardDefinition.new(
271
+ :site_id => @new_site.id,
272
+ :name => 'Blog Rockstar',
273
+ :reward_template => '{"message":"Congrats, you are a Blog Rockstar!"}',
274
+ :components => '[{"comparator":{"$gte":1},"where":{"verb":"blog","player_id":"%player_id"},"command":"count"}]',
275
+ :active => true )
276
+ @new_reward_defn2.save
277
+
278
+ RewardDefinition.delete(@new_reward_defn2.id)
279
+ lambda { RewardDefinition.find(@new_reward_defn2.id) }.should raise_error(ActiveResource::ResourceNotFound)
270
280
  end
271
281
 
272
282
  # DELETE ActivityDefinition
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: badgeville_berlin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2012-10-30 00:00:00.000000000 Z
15
+ date: 2013-09-13 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: ruby-debug19
@@ -163,17 +163,17 @@ dependencies:
163
163
  requirement: !ruby/object:Gem::Requirement
164
164
  none: false
165
165
  requirements:
166
- - - ! '>='
166
+ - - ~>
167
167
  - !ruby/object:Gem::Version
168
- version: 3.1.3
168
+ version: '3.1'
169
169
  type: :runtime
170
170
  prerelease: false
171
171
  version_requirements: !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
174
- - - ! '>='
174
+ - - ~>
175
175
  - !ruby/object:Gem::Version
176
- version: 3.1.3
176
+ version: '3.1'
177
177
  description: This is an open source Ruby wrapper for interacting with the Badgeville
178
178
  RESTful Berlin API.
179
179
  email: