badgeville_berlin 1.0.1 → 1.0.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/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: