spear-cb-api 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 29b5f37465df0d5077509166f6c6ddf4a213199c
4
- data.tar.gz: c360be2ffff026916b5db1aee3152b5a0973d9e6
3
+ metadata.gz: e3420fd6c8fe874e3c219e3a8bae150722e8e4e5
4
+ data.tar.gz: 31a2bee7c53637998dc5e2f431f8039e53b4a33e
5
5
  SHA512:
6
- metadata.gz: 3a006f99f34b2a912857f5f574de2028f673ffba67662333aff12e07685843d1c1303dd5980392690d98af45984c0a90235f9f0ce92d5e2c27399eaba7e9dbfa
7
- data.tar.gz: 8469319fd0519780ac29a35347c0696271516a8e1ae2ae2d73c5ae6b87d94c348aeca4c97cc6cecde7c2c13c5dd297a10fad8637bc8e12831246bc9ba777069c
6
+ metadata.gz: da45fbd00e3606a1bcb93fb5deb500b7a9c0768f1954e3016d6945026a6b0b93b4bfea06712f47e4b52d6365d13818861081ee3126e95ec6e0eb634f2651fdc4
7
+ data.tar.gz: 9ecc7e5d1013e5dd4bf820068505c9601169e5c820b545c6eaa1b2d15ad0a820c55184c32adcc3a369114e5122a1ad3ca5522a1e03a5113a5c6f3c325fe0a5cb
data/lib/spear.rb CHANGED
@@ -39,6 +39,9 @@ module Spear
39
39
  end
40
40
 
41
41
  module Job
42
+ autoload :EmbededClass, 'spear/structure/job/embeded_class'
43
+ autoload :Search, 'spear/structure/job/search'
44
+ autoload :Retrieve, 'spear/structure/job/retrieve'
42
45
  end
43
46
 
44
47
  module TalentNetwork
@@ -2,6 +2,15 @@ module Spear
2
2
  module Plugins
3
3
  module Model
4
4
  module Job
5
+ def search_job(params={})
6
+ response = super(params)
7
+ Structure::Job::Search.new(response)
8
+ end
9
+
10
+ def retrieve_job(job_id, host_site)
11
+ response = super(job_id, host_site)
12
+ Structure::Job::Retrieve.new(response)
13
+ end
5
14
  end
6
15
  end
7
16
  end
@@ -4,32 +4,32 @@ module Spear
4
4
  module Resume
5
5
  def parse_file(file)
6
6
  response = super(file)
7
- response = Structure::Resume::Parse.new(response)
7
+ Structure::Resume::Parse.new(response)
8
8
  end
9
9
 
10
10
  def create_resume(data={})
11
11
  response = super(data)
12
- response = Structure::Resume::Create.new(response)
12
+ Structure::Resume::Create.new(response)
13
13
  end
14
14
 
15
15
  def edit_resume(data={})
16
16
  response = super(data)
17
- response = Structure::Resume::Edit.new(response)
17
+ Structure::Resume::Edit.new(response)
18
18
  end
19
19
 
20
20
  def upload_file(file, resume_external_id, user_external_id)
21
21
  response = super(file, resume_external_id, user_external_id)
22
- response = Structure::Resume::Upload.new(response)
22
+ Structure::Resume::Upload.new(response)
23
23
  end
24
24
 
25
25
  def own_all(user_external_id, host_site)
26
26
  response = super(user_external_id, host_site)
27
- response = Structure::Resume::Ownall.new(response)
27
+ Structure::Resume::Ownall.new(response)
28
28
  end
29
29
 
30
30
  def retrieve_resume(resume_external_id, user_external_id)
31
31
  response = super(user_external_id, host_site)
32
- response = Structure::Resume::Retrieve.new(response)
32
+ Structure::Resume::Retrieve.new(response)
33
33
  end
34
34
 
35
35
  end
@@ -0,0 +1,38 @@
1
+ # TODO: Extract Languages and EmployerOrgs ...
2
+ module Spear
3
+ module Structure
4
+ module Job
5
+ module EmbededClass
6
+ ##################################################################
7
+ # Resume embeded class
8
+ ##################################################################
9
+ class CbJob
10
+ attr_accessor :did, :tn_did, :job_title, :state, :city, :posted_date, :employment_type
11
+
12
+ def initialize(tn_did, job={})
13
+ @did = job['DID']
14
+ @tn_did = tn_did
15
+ @job_title = job['JobTitle']
16
+ @state = job['State']
17
+ @city = job['City']
18
+ @posted_date = Date.strptime(job['PostedDate'], '%m/%d/%Y').to_time.strftime('%Y-%m-%d')
19
+ @employment_type = job['EmploymentType']
20
+ end
21
+ end
22
+
23
+ def generate_jobs(jobs, tn_did)
24
+ if !jobs.nil?
25
+ if jobs.kind_of?(Array)
26
+ jobs.map {|job| CbJob.new(tn_did, job)}
27
+ else # Hash
28
+ [CbJob.new(tn_did, jobs)]
29
+ end
30
+ else
31
+ []
32
+ end
33
+ end
34
+
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,18 @@
1
+ module Spear
2
+ module Structure
3
+ module Job
4
+ class Retrieve < Structure::Base
5
+ attr_reader :job_id
6
+ attr_accessor :job_description, :job_requirements, :job_title
7
+
8
+ def initialize(response)
9
+ super(response)
10
+ @job_id = response.request.options[:query][:DID]
11
+ @job_description = @root["Job"]["JobDescription"]
12
+ @job_requirements = @root["Job"]["JobRequirements"]
13
+ @job_title = @root["Job"]["JobTitle"]
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ module Spear
2
+ module Structure
3
+ module Job
4
+ class Search < Structure::Base
5
+ include EmbededClass
6
+
7
+ attr_reader :tn_did
8
+ attr_accessor :jobs
9
+
10
+ def initialize(response)
11
+ super(response)
12
+ @tn_did = response.request.options[:query][:TalentNetworkDID]
13
+ @jobs = generate_jobs(@root['Results']['JobSearchResult'], @tn_did)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
data/lib/spear/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Spear
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/spear-cb-api.gemspec CHANGED
@@ -13,19 +13,20 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = "https://github.com/hilotus/spear-cb-api"
14
14
  spec.license = "MIT"
15
15
 
16
- spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
16
+ spec.required_ruby_version = '>= 2.1.0'
20
17
 
21
- spec.add_development_dependency "builder", "~> 3.2"
22
- spec.add_development_dependency "activesupport", "~> 4.2"
23
- spec.add_development_dependency "activemodel", "~> 4.2"
18
+ spec.add_dependency "builder", "~> 3.2"
19
+ spec.add_dependency "activesupport", "~> 4.2"
20
+ spec.add_dependency "activemodel", "~> 4.2"
21
+ spec.add_dependency "sucker_punch", "~> 1.0"
22
+ spec.add_dependency "httparty", "~> 0.13"
24
23
 
25
- spec.add_development_dependency "sucker_punch", "~> 1.0"
26
- spec.add_development_dependency "httparty", "~> 0.13"
27
24
  spec.add_development_dependency "rspec", "~> 3.2", ">= 3.2.0"
28
-
29
25
  spec.add_development_dependency "bundler", "~> 1.6"
30
26
  spec.add_development_dependency "rake", "~> 10.4"
27
+
28
+ spec.files = `git ls-files -z`.split("\x0")
29
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
30
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
31
+ spec.require_paths = ["lib"]
31
32
  end
data/spec/spear_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  describe Spear do
2
2
  before :each do
3
- Spear.config({dev_key: 'xxx', :project => 'ProjectName'})
3
+ Spear.config({dev_key: 'xxx', :project => 'ProjectName', :using_model => true})
4
4
  end
5
5
 
6
6
  it "check user existing" do
@@ -15,12 +15,12 @@ describe Spear do
15
15
 
16
16
  it 'search job' do
17
17
  s = Spear.search_job({:TalentNetworkDID => 'TN818G76D6YWYNBXHB3Z', :SiteEntity => 'TalentNetworkJob', :CountryCode => 'IN'})
18
- puts s
18
+ puts s.jobs.last.posted_date
19
19
  end
20
20
 
21
21
  it "retrieve job" do
22
22
  s = Spear.retrieve_job('J3J4BP6MGVH2DJZ6MJH', 'IN')
23
- puts s
23
+ puts s.job_description
24
24
  end
25
25
 
26
26
  it "create application" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spear-cb-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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-26 00:00:00.000000000 Z
11
+ date: 2015-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -17,7 +17,7 @@ dependencies:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.2'
20
- type: :development
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
@@ -31,7 +31,7 @@ dependencies:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '4.2'
34
- type: :development
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
@@ -45,7 +45,7 @@ dependencies:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '4.2'
48
- type: :development
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
@@ -59,7 +59,7 @@ dependencies:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.0'
62
- type: :development
62
+ type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
@@ -73,7 +73,7 @@ dependencies:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0.13'
76
- type: :development
76
+ type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
@@ -159,6 +159,9 @@ files:
159
159
  - lib/spear/resource/user.rb
160
160
  - lib/spear/resources.rb
161
161
  - lib/spear/structure/base.rb
162
+ - lib/spear/structure/job/embeded_class.rb
163
+ - lib/spear/structure/job/retrieve.rb
164
+ - lib/spear/structure/job/search.rb
162
165
  - lib/spear/structure/resume/create.rb
163
166
  - lib/spear/structure/resume/edit.rb
164
167
  - lib/spear/structure/resume/embeded_class.rb
@@ -185,7 +188,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
185
188
  requirements:
186
189
  - - ">="
187
190
  - !ruby/object:Gem::Version
188
- version: '0'
191
+ version: 2.1.0
189
192
  required_rubygems_version: !ruby/object:Gem::Requirement
190
193
  requirements:
191
194
  - - ">="