teleportd 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,7 +5,9 @@ require 'teleportd/version'
5
5
  require 'teleportd/config'
6
6
  require 'teleportd/request'
7
7
  require 'teleportd/search'
8
+ require 'teleportd/get'
8
9
  require 'teleportd/search_result'
10
+ require 'teleportd/get_search_result'
9
11
 
10
12
  module Teleportd
11
13
  end
@@ -0,0 +1,32 @@
1
+ module Teleportd
2
+ class Get
3
+
4
+ attr_reader :sha
5
+
6
+ # Accepts either a Teleportd::SearchResult or a string representing the sha of a result
7
+ #
8
+ # @params [sha_or_search_result]
9
+ # @return [Teleportd::Get]
10
+ def initialize sha_or_search_result
11
+ @sha = handle_sha(sha_or_search_result)
12
+ @request = Request.new(request_uri)
13
+ end
14
+
15
+
16
+ # Returns a Teleportd::GetSearchResult representing the get search
17
+ #
18
+ # @return [Teleportd::GetSearchResult]
19
+ def result
20
+ @result ||= GetSearchResult.new(@request.parsed_response['hit'])
21
+ end
22
+
23
+ private
24
+ def handle_sha sha_or_search_result
25
+ sha_or_search_result.is_a?(Teleportd::SearchResult) ? sha_or_search_result.sha : sha_or_search_result
26
+ end
27
+
28
+ def request_uri
29
+ "/get?user_key=#{Config.api_key}&sha=#{sha}"
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ module Teleportd
2
+ class GetSearchResult < SearchResult
3
+
4
+ # Returns the associated comment information from the Get request
5
+ # as hashes.
6
+ #
7
+ # @return [Array<Hash>]
8
+ def comments
9
+ result_hash['cmt']
10
+ end
11
+
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module Teleportd
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teleportd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
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-07-01 00:00:00.000000000 Z
12
+ date: 2012-07-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &14633940 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: 1.7.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: 1.7.1
24
+ version_requirements: *14633940
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: activesupport
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &14633320 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: '0'
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
35
+ version_requirements: *14633320
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: i18n
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &14632620 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ! '>='
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: '0'
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
46
+ version_requirements: *14632620
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: curb
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &14631980 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ! '>='
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: '0'
70
55
  type: :runtime
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
57
+ version_requirements: *14631980
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: pry
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &14631360 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ! '>='
@@ -85,12 +65,7 @@ dependencies:
85
65
  version: '0'
86
66
  type: :development
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
68
+ version_requirements: *14631360
94
69
  description: Ruby Wrapper Library for Teleportd API
95
70
  email:
96
71
  - nicholas.fine@gmail.com
@@ -105,6 +80,8 @@ files:
105
80
  - Rakefile
106
81
  - lib/teleportd.rb
107
82
  - lib/teleportd/config.rb
83
+ - lib/teleportd/get.rb
84
+ - lib/teleportd/get_search_result.rb
108
85
  - lib/teleportd/request.rb
109
86
  - lib/teleportd/search.rb
110
87
  - lib/teleportd/search_result.rb
@@ -130,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
107
  version: '0'
131
108
  requirements: []
132
109
  rubyforge_project:
133
- rubygems_version: 1.8.24
110
+ rubygems_version: 1.8.15
134
111
  signing_key:
135
112
  specification_version: 3
136
113
  summary: Ruby Wrapper Library for Teleportd API