spear-cb-api 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 572c44d8a917c806d6cc051ec15a1718f18bf0e8
4
- data.tar.gz: c1a4a9002901cfd850f11c9818afaf7f7fef340b
3
+ metadata.gz: 99a2043f153e08a27aca5f2460d0c8e740f54820
4
+ data.tar.gz: b6860970868165b0524d84f8405e7ce141e99234
5
5
  SHA512:
6
- metadata.gz: 2def3db8234e53e22b19122a937c2675c4e754bfe270db980cf44eeafe323479176f7239f9c88c96211adf010c3810e044b232ae21d3c8830e2cbb67813d8bac
7
- data.tar.gz: 02c44672205e3af0bc2cc8c91459efe0fe93056b98efd8a4faf49d49a9927e58c900934f2fff1088bf24aabb10a37063e9f9cd18bc5a65e471944c66cc39b523
6
+ metadata.gz: 1a0125557056f2a98096a3b604523e38259adfa5303c112bdfc2b2a27ac302f1e5291c61b3679ee1a1c04b43321a9ac60bf207cc1e71847c78312cd0700967e6
7
+ data.tar.gz: 4a62e65fe56416e23b67c06270f6f099f5f51bc7e6261816b4635b71da873fc42d01dbb44363efa2da8c2449be101b8140af49280e2e0b5681de4846e6fb7cdc
data/lib/spear.rb CHANGED
@@ -36,6 +36,8 @@ module Spear
36
36
  end
37
37
 
38
38
  module Application
39
+ autoload :Create, 'spear/structure/application/create'
40
+ autoload :History, 'spear/structure/application/history'
39
41
  end
40
42
 
41
43
  module Job
@@ -45,6 +47,9 @@ module Spear
45
47
  end
46
48
 
47
49
  module TalentNetwork
50
+ autoload :EmbededClass, 'spear/structure/talent_network/embeded_class'
51
+ autoload :CreateMember, 'spear/structure/talent_network/create_member'
52
+ autoload :JoinFormQuestion, 'spear/structure/talent_network/join_form_question'
48
53
  end
49
54
  end
50
55
 
@@ -1,12 +1,10 @@
1
1
  module Spear
2
2
  module Configuration
3
- include Resources
4
-
5
3
  @@options = {}
6
4
 
7
5
  # use https or http
8
6
  def ssh?
9
- @@options[:use_ssh] || true
7
+ @@options[:use_ssh].nil? ? true : @@options[:use_ssh]
10
8
  end
11
9
 
12
10
  def hostname
@@ -22,7 +20,7 @@ module Spear
22
20
  end
23
21
 
24
22
  def test?
25
- @@options[:use_test] || false
23
+ @@options[:use_test].nil? ? false : @@options[:use_test]
26
24
  end
27
25
 
28
26
  def dev_key
@@ -31,11 +29,11 @@ module Spear
31
29
 
32
30
  # need save api info
33
31
  def save_api?
34
- @@options[:saving_api] || false
32
+ @@options[:saving_api].nil? ? false : @@options[:saving_api]
35
33
  end
36
34
 
37
35
  def use_model?
38
- @@options[:using_model] || false
36
+ @@options[:using_model].nil? ? false : @@options[:using_model]
39
37
  end
40
38
 
41
39
  def project
@@ -59,7 +57,13 @@ module Spear
59
57
  private
60
58
  def include_plugins
61
59
  Request.include Plugins::SaveApis if save_api?
62
- Spear.extend Plugins::Models if use_model?
60
+
61
+ if use_model?
62
+ Spear.extend Plugins::Models
63
+ else
64
+ Spear.extend Resources
65
+ end
66
+
63
67
  # Spear.extend Dummy if use_dummy?
64
68
  end
65
69
 
@@ -2,6 +2,18 @@ module Spear
2
2
  module Plugins
3
3
  module Model
4
4
  module Application
5
+ include Resource::Application
6
+
7
+ def history(user_external_id)
8
+ response = super(user_external_id)
9
+ Structure::Application::History.new(response)
10
+ end
11
+
12
+ # Application Creation
13
+ def create_application(host_site, data={})
14
+ response = super(host_site, data)
15
+ Structure::Application::Create.new(response)
16
+ end
5
17
  end
6
18
  end
7
19
  end
@@ -2,6 +2,8 @@ module Spear
2
2
  module Plugins
3
3
  module Model
4
4
  module Job
5
+ include Resource::Job
6
+
5
7
  def search_job(params={})
6
8
  response = super(params)
7
9
  Structure::Job::Search.new(response)
@@ -2,6 +2,8 @@ module Spear
2
2
  module Plugins
3
3
  module Model
4
4
  module Resume
5
+ include Resource::Resume
6
+
5
7
  def parse_file(file)
6
8
  response = super(file)
7
9
  Structure::Resume::Parse.new(response)
@@ -2,6 +2,17 @@ module Spear
2
2
  module Plugins
3
3
  module Model
4
4
  module TalentNetwork
5
+ include Resource::TalentNetwork
6
+
7
+ def join_form_questions(talent_network_did)
8
+ response = super(talent_network_did)
9
+ Structure::TalentNetwork::JoinFormQuestion.new(response)
10
+ end
11
+
12
+ def create_member(data={})
13
+ response = super(data)
14
+ Structure::TalentNetwork::CreateMember.new(response)
15
+ end
5
16
  end
6
17
  end
7
18
  end
@@ -2,6 +2,8 @@ module Spear
2
2
  module Plugins
3
3
  module Model
4
4
  module User
5
+ include Resource::User
6
+
5
7
  def check_existing(email, password='')
6
8
  response = super(email, password)
7
9
  Structure::User::CheckExisting.new(response)
data/lib/spear/request.rb CHANGED
@@ -6,11 +6,21 @@ module Spear
6
6
  extend ActiveModel::Callbacks
7
7
  define_model_callbacks :execute, :only => [:before, :after]
8
8
 
9
+ attr_accessor :method, :query, :body, :api_options, :url
10
+
9
11
  # params: {:body => {}, :query => {}, :api_options => {}}
10
12
  # exp: api_options: {:path => "/v1"}
11
- def execute(method, endpoint, params={})
13
+ def initialize(method, endpoint, params={})
14
+ @method = method
15
+ @query = params[:query] || {}
16
+ @body = params[:body] || {}
17
+ @api_options = params[:api_options] || {}
18
+ @url = generate_resource + endpoint
19
+ end
20
+
21
+ def execute
12
22
  run_callbacks(:execute) {
13
- response = exec(method, endpoint, params)
23
+ response = exec
14
24
  begin
15
25
  self.api_response = response
16
26
  rescue NoMethodError => e # if we don't use save api info plugin, it'll throw NoMethodError.
@@ -20,24 +30,19 @@ module Spear
20
30
  end
21
31
 
22
32
  private
23
- def exec(method, endpoint, params={})
24
- query = params[:query] || {}
25
- body = params[:body] || {}
26
- api_options = params[:api_options] || {}
27
- url = generate_resource(api_options) + endpoint
28
-
33
+ def exec
29
34
  begin
30
- case method
35
+ case @method
31
36
  when :get
32
- HTTParty.get(url, query: splice_query(query))
37
+ HTTParty.get(@url, query: splice_query)
33
38
  when :post
34
- HTTParty.post(url, body: splice_body(body), query: query)
39
+ HTTParty.post(@url, body: splice_body, query: @query)
35
40
  when :upload_file
36
- HTTParty.post(url, body: body, query: splice_query(query))
41
+ HTTParty.post(@url, body: @body, query: splice_query)
37
42
  when :parse_file
38
- HTTParty.post(url, body: splice_body(body))
43
+ HTTParty.post(@url, body: splice_body)
39
44
  when :apply
40
- HTTParty.post(url, body: to_xml(body), query: splice_query(query))
45
+ HTTParty.post(@url, body: to_xml(@body), query: splice_query)
41
46
  else
42
47
  raise Spear::ParametersNotValid.new("#{method} is not support.")
43
48
  end
@@ -47,27 +52,27 @@ module Spear
47
52
  end
48
53
 
49
54
  # generate cb api host and version
50
- def generate_resource(api_options)
55
+ def generate_resource
51
56
  uri = URI("")
52
57
  uri.scheme = Spear.ssh? ? 'https' : 'http'
53
58
  uri.host = Spear.hostname
54
59
  uri.port = Spear.port
55
60
 
56
61
  # Some api endpoint have no version and fixed pattern.
57
- if api_options[:path].nil?
62
+ if @api_options[:path].nil?
58
63
  uri.path = "/#{Spear.version}"
59
64
  else
60
- uri.path = "/#{api_options[:path]}"
65
+ uri.path = "#{@api_options[:path]}"
61
66
  end
62
67
 
63
68
  uri.to_s
64
69
  end
65
70
 
66
71
  # splice request body
67
- def splice_body(body, xml=true)
68
- body[:DeveloperKey] = Spear.dev_key
69
- body[:Test] = Spear.test?
70
- xml ? to_xml(body) : body
72
+ def splice_body
73
+ @body[:DeveloperKey] = Spear.dev_key
74
+ @body[:Test] = Spear.test? if need_test_key?
75
+ to_xml(@body)
71
76
  end
72
77
 
73
78
  # parse body from hash to xml format
@@ -76,10 +81,14 @@ module Spear
76
81
  end
77
82
 
78
83
  # splice query(url params) {:query => {}} with DeveloperKey and Test
79
- def splice_query(query)
80
- query[:DeveloperKey] = Spear.dev_key
81
- query[:Test] = Spear.test?
82
- query
84
+ def splice_query
85
+ @query[:DeveloperKey] = Spear.dev_key
86
+ @query[:Test] = Spear.test? if need_test_key?
87
+ @query
88
+ end
89
+
90
+ def need_test_key?
91
+ @api_options[:need_test_key].nil? ? true : @api_options[:need_test_key]
83
92
  end
84
93
 
85
94
  end
@@ -1,21 +1,20 @@
1
- # encoding: utf-8
2
-
3
1
  module Spear
4
2
  module Resource
5
3
  module Application
6
4
  def history(user_external_id)
7
5
  raise Spear::ParametersRequired.new('UserExternalId') if user_external_id.blank?
8
6
 
9
- Spear::Request.new.execute(:get, "/application/history",
10
- {query: {:ExternalID => user_external_id}, api_options: {path: 'v1'}})
7
+ Spear::Request.new(:get, "/application/history",
8
+ {query: {:ExternalID => user_external_id}, api_options: {path: '/v1'}}).execute
11
9
  end
12
10
 
13
11
  # Application Creation
14
12
  def create_application(host_site, data={})
15
13
  raise Spear::ParametersRequired.new('HostSite') if host_site.blank?
14
+ raise Spear::ParametersRequired.new(%w{JobID Resume Responses}) if data[:JobDID].blank? or data[:Resume].nil? or data[:Responses].nil?
16
15
 
17
- Spear::Request.new.execute(:apply, "/cbapi/application",
18
- {query: {:HostSite => host_site}, body: data, api_options: {path: ""}})
16
+ Spear::Request.new(:apply, '',
17
+ {query: {:HostSite => host_site}, body: data, api_options: {path: "/cbapi/application"}}).execute
19
18
  end
20
19
  end
21
20
  end
@@ -1,10 +1,8 @@
1
- # encoding: utf-8
2
-
3
1
  module Spear
4
2
  module Resource
5
3
  module Job
6
4
  def search_job(params={})
7
- Spear::Request.new.execute(:get, "/jobsearch", {:query => params})
5
+ Spear::Request.new(:get, "/jobsearch", {:query => params}).execute
8
6
  end
9
7
 
10
8
  # job_id:
@@ -13,7 +11,7 @@ module Spear
13
11
  def retrieve_job(job_id)
14
12
  raise Spear::ParametersRequired.new('JobID') if job_id.blank?
15
13
 
16
- Spear::Request.new.execute(:get, "/job", {:query => {:DID => job_id}})
14
+ Spear::Request.new(:get, "/job", {:query => {:DID => job_id}}).execute
17
15
  end
18
16
  end
19
17
  end
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  module Spear
4
2
  module Resource
5
3
  module Resume
@@ -10,40 +8,22 @@ module Spear
10
8
  end
11
9
 
12
10
  file.rewind
13
- Spear::Request.new.execute(:post, "/resume/parse", {
11
+ Spear::Request.new(:post, "/resume/parse", {
14
12
  :body => {
15
13
  :FileName => file.original_filename,
16
14
  :FileBytes => Base64.encode64(file.read)
17
15
  }
18
- })
16
+ }).execute
19
17
  end
20
18
 
21
- # {
22
- # ShowContactInfo: true,
23
- # Title: 'asasdasdasd',
24
- # ResumeText: 'albee009@gmail.com JobsCentral999',
25
- # Visibility: true,
26
- # CanRelocateNationally: false,
27
- # CanRelocateInternationally: false,
28
- # TotalYearsExperience: 1,
29
- # HostSite: 'T3',
30
- # DesiredJobTypes: 'ETFE',
31
- # CompanyExperiences: [],
32
- # Educations: [],
33
- # Languages: [],
34
- # CustomValues: []
35
- # }
36
19
  def create_resume(data={})
37
- Spear::Request.new.execute(:post, "/resume/create", {body: data})
20
+ Spear::Request.new(:post, "/resume/create", {body: data}).execute
38
21
  end
39
22
 
40
- # {
41
- # ...
42
- # # if editting, we should add this column
43
- # ExternalID: 'asdasdsdaas'
44
- # }
45
23
  def edit_resume(data={})
46
- Spear::Request.new.execute(:post, "/resume/edit", {body: data})
24
+ raise Spear::ParametersRequired.new('Resume ExternalId') if data[:ExternalID].blank?
25
+
26
+ Spear::Request.new(:post, "/resume/edit", {body: data}).execute
47
27
  end
48
28
 
49
29
  def upload_file(file, resume_external_id, user_external_id)
@@ -54,7 +34,7 @@ module Spear
54
34
  raise Spear::ParametersRequired.new(%w{UserExternalId ResumeExternalId}) if user_external_id.blank? or resume_external_id.blank?
55
35
 
56
36
  file.rewind
57
- Spear::Request.new.execute(:upload_file, "/resume/upload", {
37
+ Spear::Request.new(:upload_file, "/resume/upload", {
58
38
  :body => {
59
39
  :FileBytes => Base64.encode64(file.read)
60
40
  },
@@ -63,22 +43,22 @@ module Spear
63
43
  :ExternalID => resume_external_id,
64
44
  :ExternalUserID => user_external_id
65
45
  }
66
- })
46
+ }).execute
67
47
  end
68
48
 
69
49
  # list all of my resumes
70
50
  def own_all(user_external_id, host_site)
71
51
  raise Spear::ParametersRequired.new(%w{UserExternalId HostSite}) if user_external_id.blank? or host_site.blank?
72
52
 
73
- Spear::Request.new.execute(:get, "/resume/ownall", {
74
- :query => {:ExternalUserID => user_external_id, :HostSite => host_site}})
53
+ Spear::Request.new(:get, "/resume/ownall", {
54
+ :query => {:ExternalUserID => user_external_id, :HostSite => host_site}}).execute
75
55
  end
76
56
 
77
57
  def retrieve_resume(resume_external_id, user_external_id)
78
58
  raise Spear::ParametersRequired.new(%w{UserExternalId ResumeExternalId}) if user_external_id.blank? or resume_external_id.blank?
79
59
 
80
- Spear::Request.new.execute(:get, "/resume/retrieve", {
81
- :query => {:ExternalUserID => user_external_id, :ExternalID => resume_external_id}})
60
+ Spear::Request.new(:get, "/resume/retrieve", {
61
+ :query => {:ExternalUserID => user_external_id, :ExternalID => resume_external_id}}).execute
82
62
  end
83
63
  end
84
64
  end
@@ -1,29 +1,16 @@
1
- # encoding: utf-8
2
-
3
1
  module Spear
4
2
  module Resource
5
3
  module TalentNetwork
6
4
  def join_form_questions(talent_network_did)
7
5
  raise Spear::ParametersRequired.new('TalentNetworkDID') if talent_network_did.blank?
8
6
 
9
- Spear::Request.new.execute(:get, "/talentnetwork/config/join/questions/#{talent_network_did}/json",
10
- {api_options: {path: ""}})
7
+ Spear::Request.new(:get, '',
8
+ {api_options: {path: "/talentnetwork/config/join/questions/#{talent_network_did}/json"}}).execute
11
9
  end
12
10
 
13
- # {
14
- # TalentNetworkDID: 'YourTalentNetworkDID',
15
- # PreferredLanguage: 'USEnglish',
16
- # AcceptPrivacy: '',
17
- # AcceptTerms: '',
18
- # ResumeWordDoc: '',
19
- # JoinValues: [
20
- # {Key: 'MxDOTalentNetworkMemberInfo_EmailAddress', Value: 'some.email@example.com'},
21
- # {Key: 'JQ7I3CM6P9B09VCVD9YF', Value: 'AVAILABLENOW'}
22
- # ]
23
- # }
24
11
  def create_member(data={})
25
- Spear::Request.new.execute(:post, "/talentnetwork/member/create/json",
26
- {api_options: {path: ""}, body: data})
12
+ Spear::Request.new(:post, '', {api_options:
13
+ {path: "/talentnetwork/member/create/json", :need_test_key => false}, body: data}).execute
27
14
  end
28
15
  end
29
16
  end
@@ -1,41 +1,20 @@
1
- # encoding: utf-8
2
-
3
1
  module Spear
4
2
  module Resource
5
3
  module User
6
4
  def check_existing(email, password='')
7
5
  if password.blank?
8
- Spear::Request.new.execute(:post, "/user/checkexisting", {body: {:Email => email}})
6
+ Spear::Request.new(:post, "/user/checkexisting", {body: {:Email => email}}).execute
9
7
  else
10
- Spear::Request.new.execute(:post, "/user/checkexisting", {body: {:Email => email, :Password => password}})
8
+ Spear::Request.new(:post, "/user/checkexisting", {body: {:Email => email, :Password => password}}).execute
11
9
  end
12
10
  end
13
11
 
14
- # {
15
- # FirstName: 'asdasdad',
16
- # LastName: 'asdasdad',
17
- # Email: 'ascacasc@sina.com.cn',
18
- # Password: 'Qwer1234!',
19
- # Phone: '+657777888999',
20
- # City: 'Singapore',
21
- # State: 'SG',
22
- # CountryCode: 'SG',
23
- # AllowNewsletterEmails: false,
24
- # HostSite: 'T3',
25
- # AllowPartnerEmails: false,
26
- # AllowEventEmails: false,
27
- # SendEmail: false,
28
- # Gender: 'U',
29
- # UserType: 'jobseeker',
30
- # Status: 'active',
31
- # Test: false
32
- # }
33
12
  def create_user(data={})
34
- Spear::Request.new.execute(:post, "/user/create", {body: data})
13
+ Spear::Request.new(:post, "/user/create", {body: data}).execute
35
14
  end
36
15
 
37
16
  def retrieve_user(user_external_id, password)
38
- Spear::Request.new.execute(:post, "/user/retrieve", {body: {:ExternalID => user_external_id, :Password => password}})
17
+ Spear::Request.new(:post, "/user/retrieve", {body: {:ExternalID => user_external_id, :Password => password}}).execute
39
18
  end
40
19
  end
41
20
  end
@@ -1,10 +1,9 @@
1
- # encoding: utf-8
2
-
3
1
  module Spear
4
2
  module Resources
5
- include Resource::User
6
- include Resource::Resume
7
3
  include Resource::Application
8
4
  include Resource::Job
5
+ include Resource::Resume
6
+ include Resource::TalentNetwork
7
+ include Resource::User
9
8
  end
10
- end
9
+ end
@@ -0,0 +1,19 @@
1
+ module Spear
2
+ module Structure
3
+ module Application
4
+ class Create < Structure::Base
5
+ attr_reader :total_results, :returned_results
6
+
7
+ attr_accessor :results
8
+
9
+ def initialize(response)
10
+ super(response)
11
+
12
+ @total_results = @root["TotalResults"]
13
+ @returned_results = @root["ReturnedResults"]
14
+ @results = @root["Results"]
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ module Spear
2
+ module Structure
3
+ module Application
4
+ class History < Structure::Base
5
+ def initialize(response)
6
+ super(response)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -9,7 +9,11 @@ module Spear
9
9
 
10
10
  @response = response
11
11
  # get the root keyvalue of the hash
12
- @root = response.to_h.first.last
12
+ if response.to_h.has_key?('Errors')
13
+ @root = response.to_h
14
+ else
15
+ @root = response.to_h.first.last
16
+ end
13
17
  @status = @root["Status"]
14
18
  @error_message = get_error_message(@root)
15
19
  end
@@ -1,4 +1,3 @@
1
- # TODO: Extract Languages and EmployerOrgs ...
2
1
  module Spear
3
2
  module Structure
4
3
  module Job
@@ -7,7 +7,10 @@ module Spear
7
7
 
8
8
  def initialize(response)
9
9
  super(response)
10
- @job_id = response.request.options[:query][:DID]
10
+
11
+ if response.kind_of?(HTTParty::Response)
12
+ @job_id = response.request.options[:query][:DID]
13
+ end
11
14
 
12
15
  unless @root["Job"].nil?
13
16
  @job_description = @root["Job"]["JobDescription"]
@@ -9,7 +9,10 @@ module Spear
9
9
 
10
10
  def initialize(response)
11
11
  super(response)
12
- @tn_did = response.request.options[:query][:TalentNetworkDID]
12
+
13
+ if response.kind_of?(HTTParty::Response)
14
+ @tn_did = response.request.options[:query][:TalentNetworkDID]
15
+ end
13
16
 
14
17
  job_search_result = @root['Results'].nil? ? [] : @root['Results']['JobSearchResult']
15
18
  @jobs = generate_jobs(job_search_result, @tn_did)
@@ -0,0 +1,15 @@
1
+ module Spear
2
+ module Structure
3
+ module TalentNetwork
4
+ class CreateMember < Structure::Base
5
+ attr_reader :member_did
6
+
7
+ def initialize(response)
8
+ super(response)
9
+ @member_did = @root['MemberDID']
10
+ end
11
+
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,36 @@
1
+ module Spear
2
+ module Structure
3
+ module TalentNetwork
4
+ module EmbededClass
5
+ ##################################################################
6
+ # Resume embeded class
7
+ ##################################################################
8
+ class JoinQuestion
9
+ attr_accessor :text, :required, :form_value, :option_display_type, :order, :options
10
+
11
+ def initialize(question)
12
+ @text = question['Text']
13
+ @required = question['Required']
14
+ @form_value = question['FormValue']
15
+ @option_display_type = question['OptionDisplayType']
16
+ @order = question['Order']
17
+ @options = question['Options']
18
+ end
19
+ end
20
+
21
+ def generate_questions(questions)
22
+ if !questions.nil?
23
+ if questions.kind_of?(Array)
24
+ questions.map {|question| JoinQuestion.new(question)}
25
+ else # Hash
26
+ [JoinQuestion.new(questions)]
27
+ end
28
+ else
29
+ []
30
+ end
31
+ end
32
+
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,17 @@
1
+ module Spear
2
+ module Structure
3
+ module TalentNetwork
4
+ class JoinFormQuestion < Structure::Base
5
+ include EmbededClass
6
+
7
+ attr_accessor :join_questions
8
+
9
+ def initialize(response)
10
+ super(response)
11
+ @join_questions = generate_questions(@root["JoinQuestions"])
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
data/lib/spear/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Spear
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
data/spec/spear_spec.rb CHANGED
@@ -5,26 +5,46 @@ describe Spear do
5
5
 
6
6
  it "check user existing" do
7
7
  s = Spear.check_existing('zhangfei@163.com.cn', '111111111')
8
- puts s
8
+ puts s.response
9
9
  end
10
10
 
11
11
  it "application history" do
12
12
  s = Spear.history('XRHR3NV6S8SK6DJ0GKSD')
13
- puts s
13
+ puts s.response
14
14
  end
15
15
 
16
16
  it 'search job' do
17
17
  s = Spear.search_job({:TalentNetworkDID => 'TN818G76D6YWYNBXHB3Z', :SiteEntity => 'TalentNetworkJob', :CountryCode => 'IN'})
18
- puts s.jobs.last.nil? ? 'nil' : s.jobs.last.posted_date
18
+ puts s.response
19
19
  end
20
20
 
21
21
  it "retrieve job" do
22
22
  s = Spear.retrieve_job('J3J4BP6MGVH2DJZ6MJH')
23
- puts s.job_description
23
+ puts s.response
24
24
  end
25
25
 
26
26
  it "create application" do
27
- s = Spear.create_application('IN')
28
- puts s
27
+ s = Spear.create_application('IN', {JobDID: 'xxx', Resume: {ResumeTitle: 'title'}, Responses: [{QuestionID: 'id', ResponseText: 'text'}]})
28
+ puts s.response
29
+ end
30
+
31
+ it "tn join form question" do
32
+ s = Spear.join_form_questions('TN818G76D6YWYNBXHB3Z')
33
+ puts s.response
34
+ end
35
+
36
+ it "tn create member" do
37
+ s = Spear.create_member({
38
+ TalentNetworkDID: 'TN818G76D6YWYNBXHB3Z',
39
+ PreferredLanguage: 'USEnglish',
40
+ AcceptPrivacy: false,
41
+ AcceptTerms: false,
42
+ ResumeWordDoc: '',
43
+ JoinValues: [
44
+ {Key: 'MxDOTalentNetworkMemberInfo_EmailAddress', Value: 'some.email@example.com'},
45
+ {Key: 'JQ7I3CM6P9B09VCVD9YF', Value: 'AVAILABLENOW'}
46
+ ]
47
+ })
48
+ puts s.response
29
49
  end
30
50
  end
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.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - CBluowei
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-02 00:00:00.000000000 Z
11
+ date: 2015-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -158,6 +158,8 @@ files:
158
158
  - lib/spear/resource/talent_network.rb
159
159
  - lib/spear/resource/user.rb
160
160
  - lib/spear/resources.rb
161
+ - lib/spear/structure/application/create.rb
162
+ - lib/spear/structure/application/history.rb
161
163
  - lib/spear/structure/base.rb
162
164
  - lib/spear/structure/job/embeded_class.rb
163
165
  - lib/spear/structure/job/retrieve.rb
@@ -169,6 +171,9 @@ files:
169
171
  - lib/spear/structure/resume/parse.rb
170
172
  - lib/spear/structure/resume/retrieve.rb
171
173
  - lib/spear/structure/resume/upload.rb
174
+ - lib/spear/structure/talent_network/create_member.rb
175
+ - lib/spear/structure/talent_network/embeded_class.rb
176
+ - lib/spear/structure/talent_network/join_form_question.rb
172
177
  - lib/spear/structure/user/check_existing.rb
173
178
  - lib/spear/structure/user/create.rb
174
179
  - lib/spear/structure/user/retrieve.rb