ebayer 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
+