tortoiselabs 0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e136ce22e408526d7c3b1943109df33754828a51
4
- data.tar.gz: 034993dbd882ec9335b1cdd8305c3d2befa3353b
3
+ metadata.gz: bec4abdb5f37466a005c591bde033c8f3ed9947f
4
+ data.tar.gz: 7413afe6764feb48253f41e18ad13b934ecb9ede
5
5
  SHA512:
6
- metadata.gz: 5c26e7690ab29d6c04eb5c283b2cddf807fa6f15329cc04abd865204d66fa17bdaf5e38c873749440d8b81d84c898bff2b640c759045a78798e4567d47148cb6
7
- data.tar.gz: dcae0f8796209cce5dc8bc22d2be75efc9cb95265670d7e381f1520e71cdefffea5a555e627ebf94df9218ef5829cd3f1cf7a2ae7118604848a45a3ee6377e38
6
+ metadata.gz: 442d0246edcf676fd00c3d8bb44ea9094cfe9992c6a77c3db2dcfca754d8a7296285cc4bd808198ae3816b50c60f396b83aaeb4b9fd606c9f7451cb05fbf1824
7
+ data.tar.gz: 9881290bb3012c983848a23cf9e6349f7bf1d4ce7ecde941190a34e088646ac759a3ad76dcae1b68b8eb76dd03b6e1d0df8d70419cc58d1db8357ecb992be4c4
@@ -0,0 +1,67 @@
1
+ module TortoiseLabs
2
+ module Support
3
+ class Ticket
4
+ attr_reader :closed_at, :department, :opened_at, :priority, :replies
5
+ attr_reader :subject, :id, :user
6
+
7
+ def initialize(thash)
8
+ @closed_at, @department = thash["closed_at"], thash["department"]
9
+ @opened_at, @priority = thash["opened_at"], thash["priority"]
10
+ @subject, @user, @id = thash["subject"], thash["user"], thash["ticket"]
11
+ @is_open = thash["is_open"]
12
+
13
+ @replies = Array.new
14
+
15
+ thash["replies"].each do |reply|
16
+ obj = Reply.new(reply)
17
+ @replies << obj
18
+ end
19
+ end
20
+
21
+ # Instance Methods
22
+
23
+ def close
24
+ result = TortoiseLabs::Client.get("/support/ticket/#{@id}/close")
25
+ Ticket.list
26
+ end
27
+
28
+ def open?
29
+ @is_open
30
+ end
31
+
32
+ def reply(message)
33
+ result = TortoiseLabs::Client.post("/support/ticket/#{@id}",
34
+ {:message => message})
35
+ Ticket.list
36
+ end
37
+
38
+ # Class Methods
39
+
40
+ def self.list
41
+ result = TortoiseLabs::Client.get("/support/tickets")
42
+ tickets = Array.new
43
+ JSON.parse(result)["tickets"].each do |tickethash|
44
+ obj = Ticket.new(tickethash)
45
+ tickets << obj
46
+ end
47
+ tickets
48
+ end
49
+
50
+ def self.create(subject, message)
51
+ result = TortoiseLabs::Client.post("/support/ticket/new",
52
+ {:subject => subject, :message => message})
53
+ self.list
54
+ end
55
+ end
56
+
57
+ class Reply
58
+ attr_reader :message, :replied_at, :ticket, :user
59
+
60
+ def initialize(rhash)
61
+ @message, @replied_at = rhash["message"], rhash["replied_at"]
62
+ @ticket, @user = rhash["ticket"], rhash["user"]
63
+ end
64
+ end
65
+ end
66
+ end
67
+
data/lib/tortoiselabs.rb CHANGED
@@ -5,3 +5,4 @@ require 'tortoiselabs/client'
5
5
  require 'tortoiselabs/vps'
6
6
  require 'tortoiselabs/dns'
7
7
  require 'tortoiselabs/billing'
8
+ require 'tortoiselabs/support'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tortoiselabs
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.1'
4
+ version: '0.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Northall
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description: A TortoiseLabs API wrapper.
28
42
  email: andrew@northall.me.uk
29
43
  executables: []
@@ -35,6 +49,7 @@ files:
35
49
  - lib/tortoiselabs/client.rb
36
50
  - lib/tortoiselabs/dns.rb
37
51
  - lib/tortoiselabs/vps.rb
52
+ - lib/tortoiselabs/support.rb
38
53
  homepage: https://github.com/somasonic/tortoiselabs-ruby
39
54
  licenses:
40
55
  - MIT