ebayer 1.1.0 → 1.2.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.
Files changed (3) hide show
  1. data/README.rdoc +3 -2
  2. data/lib/ebayer/get_user_profile.rb +50 -36
  3. metadata +128 -84
@@ -2,10 +2,11 @@
2
2
 
3
3
  Using ebayer is very simple. Please follow these beneath steps and we are all set to get the open ebay api working.
4
4
 
5
- ebay = Ebay.new("http://open.api.sandbox.ebay.com/shopping", "MethodName","response type", "version", "app id", "username")
5
+ ebay = Ebayer::OpenEbay.new("GetUserProfile", "<app id>", "TESTUSER_magickbookseller")
6
+
6
7
  This init method will be futher improvised and will be configurable. Its just matter of time :)
7
8
 
8
- ebay.get_user_information
9
+ ebay.user_information
9
10
 
10
11
  This method will retrive the user details
11
12
 
@@ -1,41 +1,55 @@
1
- class Ebay
2
-
3
- attr_accessor :open_url, :callname, :response_encoding, :app_id, :user_id, :response
4
-
5
-
6
- def initialize(open_url, callname, response_encoding, api_version, app_id, user_id)
7
- @open_url = open_url
8
- @callname = callname
9
- @response_encoding= response_encoding
10
- @api_version = api_version
11
- @app_id = app_id
12
- @user_id = user_id
13
- end
1
+ module Ebayer
2
+
3
+ class OpenEbay
4
+ EBAYOPENURL= "http://open.api.sandbox.ebay.com/shopping"
5
+ RESPONSEENCODING = "JSON"
6
+ APIVERSION = "721"
14
7
 
15
-
16
-
17
- def url_definer
18
- url = @open_url+"?callname=#{@callname}&responseencoding=#{@response_encoding}&appid=#{@app_id}&siteid=0&UserID=#{@user_id}&IncludeSelector=Details&version=#{@api_version}"
19
- return url
20
- end
21
-
22
- def request_ebay
23
- requested_url = self.url_definer
24
- new_response = HTTParty.get(requested_url)
25
- @response = self.response_parser(new_response.body)
26
- end
27
-
28
- def response_parser(response_content)
29
- Hashie::Mash.new(JSON(response_content))
30
- end
31
-
32
- def success?
33
- self.response_content ? (self.response_content["Ack"] == "Success") : (self.response_content["Ack"] == "Failure")
34
- end
35
-
36
- def user_information
37
- self.request_ebay
8
+ attr_accessor :open_url, :callname, :response_encoding, :app_id, :user_id, :response
9
+
10
+ def initialize( callname, app_id, user_id)
11
+ @callname = callname
12
+ @app_id = app_id
13
+ @user_id = user_id
14
+ end
15
+
16
+ ##Defineing the url. URL should have all the required elements like following:
17
+ ##callname - Name of the method being called
18
+ ##ResponseEncoding - Response format. XML, JSON, Text formats are allowed. For this version lets keep JSON
19
+ ##AppId - Appid is generated on ebay. While in production ensure you are using production keys and not sandbox
20
+ ##ApiVersion - Version of api you are placing the call.
21
+
22
+ def url_definer
23
+ url = EBAYOPENURL+"?callname=#{@callname}&responseencoding=#{RESPONSEENCODING}&appid=#{@app_id}&siteid=0&UserID=#{@user_id}&IncludeSelector=Details&version=#{APIVERSION}"
24
+ return url
25
+ end
26
+
27
+ ##Placing request to ebay via httparty.
28
+
29
+ def request_ebay
30
+ requested_url = self.url_definer
31
+ response = nil
32
+ begin
33
+ new_response = HTTParty.get(requested_url)
34
+ rescue Timeout::Error
35
+ raise TimeoutError, "Ebay is currently unavailbale. Please try again later"
36
+ end
37
+ @response = self.response_parser(new_response.body)
38
+ end
39
+
40
+ ##response parsing from string to JSON and mashing it into hash format of access. The rails way!
41
+ def response_parser(response_content)
42
+ Hashie::Mash.new(JSON(response_content))
43
+ end
44
+
45
+ ##For all those who require just the information and do no require whole response. Just a handy method.
46
+ def user_information
47
+ self.request_ebay
48
+ end
38
49
  end
39
50
 
51
+ class EbayError < StandardError; end
52
+ class TimeoutError < EbayError; end
40
53
 
41
54
  end
55
+
metadata CHANGED
@@ -1,144 +1,188 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ebayer
3
- version: !ruby/object:Gem::Version
4
- version: 1.1.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 31
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 2
9
+ - 0
10
+ version: 1.2.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - kranthicu
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-06-09 00:00:00.000000000 -04:00
17
+
18
+ date: 2011-07-07 00:00:00 -04:00
13
19
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rspec
17
- requirement: &79195040 !ruby/object:Gem::Requirement
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
18
23
  none: false
19
- requirements:
24
+ requirements:
20
25
  - - ~>
21
- - !ruby/object:Gem::Version
26
+ - !ruby/object:Gem::Version
27
+ hash: 3
28
+ segments:
29
+ - 2
30
+ - 3
31
+ - 0
22
32
  version: 2.3.0
23
- type: :development
33
+ requirement: *id001
24
34
  prerelease: false
25
- version_requirements: *79195040
26
- - !ruby/object:Gem::Dependency
27
- name: bundler
28
- requirement: &79194770 !ruby/object:Gem::Requirement
35
+ name: rspec
36
+ type: :development
37
+ - !ruby/object:Gem::Dependency
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
29
39
  none: false
30
- requirements:
40
+ requirements:
31
41
  - - ~>
32
- - !ruby/object:Gem::Version
42
+ - !ruby/object:Gem::Version
43
+ hash: 23
44
+ segments:
45
+ - 1
46
+ - 0
47
+ - 0
33
48
  version: 1.0.0
34
- type: :development
49
+ requirement: *id002
35
50
  prerelease: false
36
- version_requirements: *79194770
37
- - !ruby/object:Gem::Dependency
38
- name: jeweler
39
- requirement: &79194520 !ruby/object:Gem::Requirement
51
+ name: bundler
52
+ type: :development
53
+ - !ruby/object:Gem::Dependency
54
+ version_requirements: &id003 !ruby/object:Gem::Requirement
40
55
  none: false
41
- requirements:
56
+ requirements:
42
57
  - - ~>
43
- - !ruby/object:Gem::Version
58
+ - !ruby/object:Gem::Version
59
+ hash: 11
60
+ segments:
61
+ - 1
62
+ - 6
63
+ - 2
44
64
  version: 1.6.2
65
+ requirement: *id003
66
+ prerelease: false
67
+ name: jeweler
45
68
  type: :development
69
+ - !ruby/object:Gem::Dependency
70
+ version_requirements: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ hash: 3
76
+ segments:
77
+ - 0
78
+ version: "0"
79
+ requirement: *id004
46
80
  prerelease: false
47
- version_requirements: *79194520
48
- - !ruby/object:Gem::Dependency
49
81
  name: rcov
50
- requirement: &79194260 !ruby/object:Gem::Requirement
51
- none: false
52
- requirements:
53
- - - ! '>='
54
- - !ruby/object:Gem::Version
55
- version: '0'
56
82
  type: :development
83
+ - !ruby/object:Gem::Dependency
84
+ version_requirements: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ requirement: *id005
57
94
  prerelease: false
58
- version_requirements: *79194260
59
- - !ruby/object:Gem::Dependency
60
95
  name: httparty
61
- requirement: &79194000 !ruby/object:Gem::Requirement
62
- none: false
63
- requirements:
64
- - - ! '>='
65
- - !ruby/object:Gem::Version
66
- version: '0'
67
96
  type: :development
97
+ - !ruby/object:Gem::Dependency
98
+ version_requirements: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ hash: 3
104
+ segments:
105
+ - 0
106
+ version: "0"
107
+ requirement: *id006
68
108
  prerelease: false
69
- version_requirements: *79194000
70
- - !ruby/object:Gem::Dependency
71
109
  name: json
72
- requirement: &79193750 !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
110
  type: :development
111
+ - !ruby/object:Gem::Dependency
112
+ version_requirements: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 3
118
+ segments:
119
+ - 0
120
+ version: "0"
121
+ requirement: *id007
79
122
  prerelease: false
80
- version_requirements: *79193750
81
- - !ruby/object:Gem::Dependency
82
123
  name: hashie
83
- requirement: &79193480 !ruby/object:Gem::Requirement
84
- none: false
85
- requirements:
86
- - - ! '>='
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
124
  type: :development
125
+ - !ruby/object:Gem::Dependency
126
+ version_requirements: &id008 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ hash: 3
132
+ segments:
133
+ - 0
134
+ version: "0"
135
+ requirement: *id008
90
136
  prerelease: false
91
- version_requirements: *79193480
92
- - !ruby/object:Gem::Dependency
93
137
  name: rspec
94
- requirement: &79193220 !ruby/object:Gem::Requirement
95
- none: false
96
- requirements:
97
- - - ! '>='
98
- - !ruby/object:Gem::Version
99
- version: '0'
100
138
  type: :development
101
- prerelease: false
102
- version_requirements: *79193220
103
139
  description: This gem intended to use Ebay API withint ruby/rails applications
104
140
  email: kranthicu@gmail.com
105
141
  executables: []
142
+
106
143
  extensions: []
107
- extra_rdoc_files:
144
+
145
+ extra_rdoc_files:
108
146
  - LICENSE.txt
109
147
  - README.rdoc
110
- files:
148
+ files:
111
149
  - lib/ebayer.rb
112
150
  - lib/ebayer/get_user_profile.rb
113
151
  - LICENSE.txt
114
152
  - README.rdoc
115
153
  has_rdoc: true
116
154
  homepage: http://github.com/kranthicu/ebayer
117
- licenses:
155
+ licenses:
118
156
  - MIT
119
157
  post_install_message:
120
158
  rdoc_options: []
121
- require_paths:
159
+
160
+ require_paths:
122
161
  - lib
123
- required_ruby_version: !ruby/object:Gem::Requirement
162
+ required_ruby_version: !ruby/object:Gem::Requirement
124
163
  none: false
125
- requirements:
126
- - - ! '>='
127
- - !ruby/object:Gem::Version
128
- version: '0'
129
- segments:
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ hash: 3
168
+ segments:
130
169
  - 0
131
- hash: -800815533
132
- required_rubygems_version: !ruby/object:Gem::Requirement
170
+ version: "0"
171
+ required_rubygems_version: !ruby/object:Gem::Requirement
133
172
  none: false
134
- requirements:
135
- - - ! '>='
136
- - !ruby/object:Gem::Version
137
- version: '0'
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ hash: 3
177
+ segments:
178
+ - 0
179
+ version: "0"
138
180
  requirements: []
181
+
139
182
  rubyforge_project:
140
- rubygems_version: 1.6.2
183
+ rubygems_version: 1.4.1
141
184
  signing_key:
142
185
  specification_version: 3
143
186
  summary: Ebay API now made easy for rubyists and rails
144
187
  test_files: []
188
+