gumroad 0.0.1 → 0.9.0

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.
@@ -11,6 +11,11 @@ Authentication
11
11
  client = Gumroad.new(username, password)
12
12
  ```
13
13
 
14
+ If you feel the need to, you can revoke the session.
15
+ ``` ruby
16
+ client.destroy
17
+ ```
18
+
14
19
  Links
15
20
  --------
16
21
  ``` ruby
@@ -26,7 +31,7 @@ You now have a Gumroad::Link object. You can call methods such as `link.name` an
26
31
  It's pretty easy to create a link.
27
32
 
28
33
  ``` ruby
29
- client.links.create(name: 'Github', url: 'http://github.com')
34
+ client.links.create(name: '@maxstoller', url: 'http://twitter.com/maxstoller', description: 'A link to @maxstoller.', price: '100')
30
35
  ```
31
36
 
32
37
  Thanks
@@ -1,13 +1,23 @@
1
1
  module Gumroad
2
2
  class Link
3
3
  attr_reader :json
4
- attr_accessor :name, :url, :description, :user, :price_cents
4
+ attr_accessor :id, :name, :url, :description, :price
5
5
 
6
6
  def initialize(session, json)
7
7
  @session = session
8
- [:name, :url, :description, :user, :price_cents].each do |attribute|
8
+ [:id, :name, :url, :description, :price].each do |attribute|
9
9
  instance_variable_set(:"@#{attribute}", json[attribute.to_s])
10
10
  end
11
11
  end
12
+
13
+ def save
14
+ params = {name: name, url: url, description: description, price: price}
15
+ json = @session.post("/links", params)['link']
16
+ self
17
+ end
18
+
19
+ def destroy
20
+ @session.delete("/links/#{id}")
21
+ end
12
22
  end
13
23
  end
@@ -14,10 +14,8 @@ module Gumroad
14
14
  end
15
15
  end
16
16
 
17
- def create(options={})
18
- scoped_options = {}
19
- options.each { |k, v| scoped_options["link[#{k.to_s}]"] = v }
20
- json = @session.post('/links', scoped_options)
17
+ def create(params={})
18
+ json = @session.post('/links', params)
21
19
  Gumroad::Link.new(@session, json['link'])
22
20
  end
23
21
  end
@@ -12,6 +12,10 @@ module Gumroad
12
12
  self.class.basic_auth token, ''
13
13
  end
14
14
 
15
+ def destroy
16
+ delete('/sessions')
17
+ end
18
+
15
19
  def post(path, params)
16
20
  self.class.post(path, query: params)
17
21
  end
@@ -20,6 +24,10 @@ module Gumroad
20
24
  self.class.get(path)
21
25
  end
22
26
 
27
+ def delete(path)
28
+ self.class.delete(path)
29
+ end
30
+
23
31
  def links
24
32
  Gumroad::LinkProxy.new(self)
25
33
  end
@@ -1,3 +1,3 @@
1
1
  module Gumroad
2
- VERSION = "0.0.1"
2
+ VERSION = "0.9.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gumroad
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.9.0
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 00:00:00.000000000Z
12
+ date: 2012-02-14 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &70098124087580 !ruby/object:Gem::Requirement
16
+ requirement: &70180085319780 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70098124087580
24
+ version_requirements: *70180085319780
25
25
  description: A Ruby wrapper for the Gumroad API.
26
26
  email:
27
27
  - maxstoller@gmail.com