spear-cb-api 0.0.1 → 0.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.
@@ -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