spear-cb-api 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,21 @@
1
+ module Spear
2
+ module Structure
3
+ module Resume
4
+ class Retrieve < Structure::Base
5
+ include EmbededClass
6
+
7
+ attr_accessor :title, :total_years_experience, :educations, :company_experiences
8
+
9
+ def initialize(response)
10
+ super(response)
11
+
12
+ @resume = @root['Resume']
13
+ @title = @resume['Title']
14
+ @total_years_experience = (@resume['TotalYearsExperience'].to_i rescue 0)
15
+ @educations = generate_educations(@resume['Educations'])
16
+ @company_experiences = generate_experiences(@resume['CompanyExperiences'])
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,8 @@
1
+ module Spear
2
+ module Structure
3
+ module Resume
4
+ class Upload < Structure::Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,17 @@
1
+ module Spear
2
+ module Structure
3
+ module User
4
+ class CheckExisting < Structure::Base
5
+ attr_reader :external_id, :oauth_token, :check_status
6
+
7
+ # http://api.careerbuilder.com/UserInfo.aspx
8
+ def initialize(response)
9
+ super(response)
10
+ @external_id = @root["ResponseExternalID"]
11
+ @oauth_token = @root["ResponseOAuthToken"]
12
+ @check_status = @root['UserCheckStatus']
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ module Spear
2
+ module Structure
3
+ module User
4
+ class Create < Structure::Base
5
+ attr_reader :external_id
6
+
7
+ # http://api.careerbuilder.com/UserInfo.aspx
8
+ def initialize(response)
9
+ super(response)
10
+ @external_id = @root["ResponseExternalID"]
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,21 @@
1
+ module Spear
2
+ module Structure
3
+ module User
4
+ class Retrieve < Structure::Base
5
+ attr_reader :external_id
6
+ attr_accessor :email, :first_name, :last_name, :phone
7
+
8
+ # http://api.careerbuilder.com/UserInfo.aspx
9
+ def initialize(response)
10
+ super(response)
11
+ @user_info = @root['UserInfo']
12
+ @external_id = @root['Request']['ExternalID']
13
+ @email = @user_info['Email']
14
+ @first_name = @user_info['FirstName']
15
+ @last_name = @user_info['LastName']
16
+ @phone = @user_info['Phone']
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
data/lib/spear/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Spear
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/spear-cb-api.gemspec CHANGED
@@ -18,7 +18,12 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.add_development_dependency "builder", "~> 3.2"
22
+ spec.add_development_dependency "activesupport", "~> 4.2"
23
+ spec.add_development_dependency "activemodel", "~> 4.2"
24
+
21
25
  spec.add_development_dependency "sucker_punch", "~> 1.0"
26
+ spec.add_development_dependency "httparty", "~> 0.13"
22
27
  spec.add_development_dependency "rspec", "~> 3.2", ">= 3.2.0"
23
28
 
24
29
  spec.add_development_dependency "bundler", "~> 1.6"
@@ -0,0 +1,30 @@
1
+ describe Spear do
2
+ before :each do
3
+ Spear.config({dev_key: 'xxx', :project => 'ProjectName'})
4
+ end
5
+
6
+ it "check user existing" do
7
+ s = Spear.check_existing('zhangfei@163.com.cn', '111111111')
8
+ puts s
9
+ end
10
+
11
+ it "application history" do
12
+ s = Spear.history('XRHR3NV6S8SK6DJ0GKSD')
13
+ puts s
14
+ end
15
+
16
+ it 'search job' do
17
+ s = Spear.search_job({:TalentNetworkDID => 'TN818G76D6YWYNBXHB3Z', :SiteEntity => 'TalentNetworkJob', :CountryCode => 'IN'})
18
+ puts s
19
+ end
20
+
21
+ it "retrieve job" do
22
+ s = Spear.retrieve_job('J3J4BP6MGVH2DJZ6MJH', 'IN')
23
+ puts s
24
+ end
25
+
26
+ it "create application" do
27
+ s = Spear.create_application('IN')
28
+ puts s
29
+ end
30
+ end
metadata CHANGED
@@ -1,15 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spear-cb-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - CBluowei
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-13 00:00:00.000000000 Z
11
+ date: 2015-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: builder
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.2'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '4.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '4.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activemodel
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.2'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '4.2'
13
55
  - !ruby/object:Gem::Dependency
14
56
  name: sucker_punch
15
57
  requirement: !ruby/object:Gem::Requirement
@@ -24,6 +66,20 @@ dependencies:
24
66
  - - "~>"
25
67
  - !ruby/object:Gem::Version
26
68
  version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: httparty
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.13'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.13'
27
83
  - !ruby/object:Gem::Dependency
28
84
  name: rspec
29
85
  requirement: !ruby/object:Gem::Requirement
@@ -86,15 +142,36 @@ files:
86
142
  - README.md
87
143
  - Rakefile
88
144
  - lib/spear.rb
89
- - lib/spear/async_job.rb
90
- - lib/spear/client.rb
145
+ - lib/spear/configuration.rb
91
146
  - lib/spear/exceptions.rb
147
+ - lib/spear/plugins/model/application.rb
148
+ - lib/spear/plugins/model/job.rb
149
+ - lib/spear/plugins/model/resume.rb
150
+ - lib/spear/plugins/model/talent_network.rb
151
+ - lib/spear/plugins/model/user.rb
152
+ - lib/spear/plugins/models.rb
153
+ - lib/spear/plugins/save_apis.rb
92
154
  - lib/spear/request.rb
155
+ - lib/spear/resource/application.rb
156
+ - lib/spear/resource/job.rb
93
157
  - lib/spear/resource/resume.rb
158
+ - lib/spear/resource/talent_network.rb
94
159
  - lib/spear/resource/user.rb
160
+ - lib/spear/resources.rb
161
+ - lib/spear/structure/base.rb
162
+ - lib/spear/structure/resume/create.rb
163
+ - lib/spear/structure/resume/edit.rb
164
+ - lib/spear/structure/resume/embeded_class.rb
165
+ - lib/spear/structure/resume/ownall.rb
166
+ - lib/spear/structure/resume/parse.rb
167
+ - lib/spear/structure/resume/retrieve.rb
168
+ - lib/spear/structure/resume/upload.rb
169
+ - lib/spear/structure/user/check_existing.rb
170
+ - lib/spear/structure/user/create.rb
171
+ - lib/spear/structure/user/retrieve.rb
95
172
  - lib/spear/version.rb
96
173
  - spear-cb-api.gemspec
97
- - spec/client_spec.rb
174
+ - spec/spear_spec.rb
98
175
  - spec/spec_helper.rb
99
176
  homepage: https://github.com/hilotus/spear-cb-api
100
177
  licenses:
@@ -121,5 +198,5 @@ signing_key:
121
198
  specification_version: 4
122
199
  summary: Cb api wrapper
123
200
  test_files:
124
- - spec/client_spec.rb
201
+ - spec/spear_spec.rb
125
202
  - spec/spec_helper.rb
@@ -1,23 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Spear
4
- class AsyncJob
5
- include SuckerPunch::Job
6
-
7
- def perform(options={})
8
- # TODO: save the error to log
9
- HTTParty.post(
10
- %q{http://ciws.hilotus.com/api/v1/api-info},
11
- :body => {
12
- :project => options[:project],
13
- :url => options[:url],
14
- :method => options[:method],
15
- :request => options[:request],
16
- :response => options[:response],
17
- :duration => options[:duration]
18
- }.to_json,
19
- :options => {:headers => {'Content-Type' => 'application/json'}}
20
- ) rescue options
21
- end
22
- end
23
- end
data/lib/spear/client.rb DELETED
@@ -1,58 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Spear
4
- class Client
5
- include Spear::Resource::User
6
- include Spear::Resource::Resume
7
-
8
- attr_reader :options, :request
9
-
10
- def initialize(options={})
11
- raise Spear::InvalidClientOptionsException.new('DeveloperKey is missing!') if options[:dev_key].nil?
12
- raise Spear::InvalidClientOptionsException.new('ProjectName is missing!') if options[:project].nil?
13
-
14
- @options = options
15
- @request = generate_request
16
- end
17
-
18
- def test?
19
- @options[:use_test] || false
20
- end
21
-
22
- # use https or http
23
- def ssh?
24
- @options[:use_ssh] || true
25
- end
26
-
27
- def hostname
28
- @options[:hostname] || 'api.careerbuilder.com'
29
- end
30
-
31
- def port
32
- @options[:port] || 443
33
- end
34
-
35
- def version
36
- @options[:version] || "v2"
37
- end
38
-
39
- def dev_key
40
- @options[:dev_key]
41
- end
42
-
43
- # need save api info
44
- def save_api?
45
- @options[:use_saving_api] || false
46
- end
47
-
48
- def project
49
- @options[:project]
50
- end
51
-
52
- private
53
- def generate_request(options={})
54
- options = {:client => self}.merge(options)
55
- return Spear::Request.new(options)
56
- end
57
- end
58
- end
data/spec/client_spec.rb DELETED
@@ -1,5 +0,0 @@
1
- describe Spear::Client do
2
- it "check user existing" do
3
-
4
- end
5
- end