cb-api 0.4.0 → 0.4.6
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.
- data/lib/cb.rb +18 -16
- data/lib/cb/clients/application_api.rb +4 -4
- data/lib/cb/clients/job_api.rb +1 -0
- data/lib/cb/clients/spot_api.rb +25 -0
- data/lib/cb/config.rb +6 -3
- data/lib/cb/criteria/spot_retrieve_criteria.rb +12 -0
- data/lib/cb/exceptions.rb +4 -0
- data/lib/cb/models/api_response_model.rb +34 -0
- data/lib/cb/models/{branding → implementations/branding}/media.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/section.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/style.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/styles/base.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/styles/buttons.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/styles/company_info.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/styles/container.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/styles/content.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/styles/css_adapter.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/styles/headings.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/styles/job_details.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/styles/page.rb +0 -0
- data/lib/cb/models/{branding → implementations/branding}/widget.rb +0 -0
- data/lib/cb/models/{cb_application.rb → implementations/cb_application.rb} +0 -0
- data/lib/cb/models/{cb_application_external.rb → implementations/cb_application_external.rb} +0 -0
- data/lib/cb/models/{cb_application_schema.rb → implementations/cb_application_schema.rb} +0 -0
- data/lib/cb/models/{cb_category.rb → implementations/cb_category.rb} +0 -0
- data/lib/cb/models/{cb_company.rb → implementations/cb_company.rb} +0 -0
- data/lib/cb/models/{cb_education.rb → implementations/cb_education.rb} +0 -0
- data/lib/cb/models/{cb_email_subscription.rb → implementations/cb_email_subscription.rb} +0 -0
- data/lib/cb/models/{cb_employee_type.rb → implementations/cb_employee_type.rb} +0 -0
- data/lib/cb/models/{cb_job.rb → implementations/cb_job.rb} +0 -0
- data/lib/cb/models/{cb_job_branding.rb → implementations/cb_job_branding.rb} +0 -0
- data/lib/cb/models/{cb_resume.rb → implementations/cb_resume.rb} +0 -0
- data/lib/cb/models/{cb_saved_search.rb → implementations/cb_saved_search.rb} +0 -0
- data/lib/cb/models/implementations/cb_spot.rb +32 -0
- data/lib/cb/models/{cb_talent_network.rb → implementations/cb_talent_network.rb} +0 -0
- data/lib/cb/models/{cb_user.rb → implementations/cb_user.rb} +0 -0
- data/lib/cb/responses/raw_api_response.rb +34 -0
- data/lib/cb/responses/spot/retrieve_response.rb +28 -0
- data/lib/cb/utils/api.rb +4 -18
- data/lib/cb/utils/fluid_attributes.rb +2 -2
- data/lib/cb/version.rb +1 -1
- metadata +167 -37
- checksums.yaml +0 -7
    
        data/lib/cb.rb
    CHANGED
    
    | @@ -1,15 +1,17 @@ | |
| 1 1 | 
             
            require 'cb/config'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 5 | 
            -
            Dir[File.dirname(__FILE__) + '/cb/models/*.rb'].each {| file| require file }
         | 
| 6 | 
            -
            require 'cb/models/branding/styles/base'
         | 
| 7 | 
            -
            require 'cb/models/branding/styles/css_adapter'
         | 
| 8 | 
            -
            Dir[File.dirname(__FILE__) + '/cb/models/**/*.rb'].each {| file| require file }
         | 
| 2 | 
            +
            require 'cb/models/implementations/branding/styles/base'
         | 
| 3 | 
            +
            require 'cb/models/implementations/branding/styles/css_adapter'
         | 
| 4 | 
            +
            require 'cb/exceptions'
         | 
| 9 5 |  | 
| 10 | 
            -
             | 
| 11 | 
            -
               | 
| 6 | 
            +
            def require_directory(relative_path)
         | 
| 7 | 
            +
              Dir[File.dirname(__FILE__) + relative_path].each { |file| require file }
         | 
| 8 | 
            +
            end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            required_paths = %w(/cb/utils/*.rb /cb/clients/*.rb /cb/criteria/*.rb /cb/models/*.rb
         | 
| 11 | 
            +
                                /cb/models/**/*.rb /cb/responses/*.rb /cb/responses/**/*.rb)
         | 
| 12 | 
            +
            required_paths.each { |path| require_directory path }
         | 
| 12 13 |  | 
| 14 | 
            +
            module Cb
         | 
| 13 15 | 
             
            	def self.configure
         | 
| 14 16 | 
             
            		yield configuration
         | 
| 15 17 | 
             
            	end
         | 
| @@ -28,11 +30,11 @@ module Cb | |
| 28 30 | 
             
              end
         | 
| 29 31 |  | 
| 30 32 | 
             
              def self.job_search_criteria
         | 
| 31 | 
            -
                Cb::JobSearchCriteria.new | 
| 33 | 
            +
                Cb::JobSearchCriteria.new
         | 
| 32 34 | 
             
              end
         | 
| 33 35 |  | 
| 34 36 | 
             
              def self.job_detail_criteria
         | 
| 35 | 
            -
                Cb:: | 
| 37 | 
            +
                Cb::JobDetailsCriteria.new
         | 
| 36 38 | 
             
              end
         | 
| 37 39 |  | 
| 38 40 | 
             
              def self.category
         | 
| @@ -79,10 +81,6 @@ module Cb | |
| 79 81 | 
             
                Cb::EmailSubscriptionApi
         | 
| 80 82 | 
             
              end
         | 
| 81 83 |  | 
| 82 | 
            -
              def self.saved_job_search_api
         | 
| 83 | 
            -
                Cb::SavedJobSearchApi
         | 
| 84 | 
            -
              end
         | 
| 85 | 
            -
             | 
| 86 84 | 
             
              def self.saved_search_api
         | 
| 87 85 | 
             
                Cb::SavedSearchApi
         | 
| 88 86 | 
             
              end
         | 
| @@ -94,4 +92,8 @@ module Cb | |
| 94 92 | 
             
              def self.anon_saved_search_api
         | 
| 95 93 | 
             
                Cb::AnonSavedSearchApi
         | 
| 96 94 | 
             
              end
         | 
| 97 | 
            -
             | 
| 95 | 
            +
             | 
| 96 | 
            +
              def self.spot
         | 
| 97 | 
            +
                Cb::ApiClients::Spot
         | 
| 98 | 
            +
              end
         | 
| 99 | 
            +
            end
         | 
| @@ -17,11 +17,11 @@ module Cb | |
| 17 17 | 
             
                  json_hash = my_api.cb_get(Cb.configuration.uri_application, :query => {:JobDID => did})
         | 
| 18 18 |  | 
| 19 19 | 
             
                  if json_hash.has_key?('ResponseBlankApplication')
         | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 20 | 
            +
                    if json_hash['ResponseBlankApplication'].has_key?('BlankApplication')
         | 
| 21 | 
            +
                      app = Cb::CbApplicationSchema.new(json_hash['ResponseBlankApplication']['BlankApplication'])
         | 
| 22 | 
            +
                    end
         | 
| 23 23 |  | 
| 24 | 
            -
             | 
| 24 | 
            +
                    my_api.append_api_responses(app, json_hash['ResponseBlankApplication'])
         | 
| 25 25 | 
             
                  end
         | 
| 26 26 |  | 
| 27 27 | 
             
                  my_api.append_api_responses(app, json_hash)
         | 
    
        data/lib/cb/clients/job_api.rb
    CHANGED
    
    | @@ -24,6 +24,7 @@ module Cb | |
| 24 24 | 
             
                        end
         | 
| 25 25 | 
             
                      end
         | 
| 26 26 | 
             
                      my_api.append_api_responses(jobs, json_hash['ResponseJobSearch'])
         | 
| 27 | 
            +
                      my_api.append_api_responses(jobs, json_hash['ResponseJobSearch']['SearchMetaData']['SearchLocations']['SearchLocation'])
         | 
| 27 28 | 
             
                    end
         | 
| 28 29 |  | 
| 29 30 | 
             
                    my_api.append_api_responses(jobs, json_hash)
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            require 'json'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Cb::ApiClients
         | 
| 4 | 
            +
              class Spot
         | 
| 5 | 
            +
                class << self
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  def retrieve(criteria)
         | 
| 8 | 
            +
                    response = retrieve_api_response criteria
         | 
| 9 | 
            +
                    Cb::Responses::Spot::Retrieve.extract_models response
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  private
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  def retrieve_api_response(criteria)
         | 
| 15 | 
            +
                    params = api_client.class.criteria_to_hash criteria
         | 
| 16 | 
            +
                    api_client.cb_get(Cb.configuration.uri_spot_retrieve, :query => params)
         | 
| 17 | 
            +
                  end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                  def api_client
         | 
| 20 | 
            +
                    @api ||= Cb::Utils::Api.new
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
    
        data/lib/cb/config.rb
    CHANGED
    
    | @@ -18,7 +18,8 @@ module Cb | |
| 18 18 | 
             
                              :uri_saved_job_search_create,
         | 
| 19 19 | 
             
                              :uri_job_branding, :uri_tn_join_questions, :uri_tn_job_info, :uri_tn_join_form_geo,
         | 
| 20 20 | 
             
                              :uri_tn_join_form_branding, :uri_tn_member_create,
         | 
| 21 | 
            -
                              :uri_subscription_retrieve, :uri_subscription_modify
         | 
| 21 | 
            +
                              :uri_subscription_retrieve, :uri_subscription_modify,
         | 
| 22 | 
            +
                              :uri_spot_retrieve
         | 
| 22 23 |  | 
| 23 24 | 
             
                def initialize
         | 
| 24 25 | 
             
                  Cb::Utils::Country.inject_convenience_methods
         | 
| @@ -63,6 +64,7 @@ module Cb | |
| 63 64 | 
             
                  @uri_subscription_retrieve          ||= '/v1/user/subscription/retrieve'
         | 
| 64 65 | 
             
                  @uri_subscription_modify            ||= '/v1/user/subscription'
         | 
| 65 66 | 
             
                  @uri_saved_job_search_create        ||= '/v2/savedsearch/create'
         | 
| 67 | 
            +
                  @uri_spot_retrieve                  ||= '/v2/spot/load'
         | 
| 66 68 | 
             
                end
         | 
| 67 69 |  | 
| 68 70 | 
             
                def to_hash
         | 
| @@ -101,11 +103,12 @@ module Cb | |
| 101 103 | 
             
                    :uri_tn_join_questions            => @uri_tn_join_questions,
         | 
| 102 104 | 
             
                    :uri_subscription_retrieve        => @uri_subscription_retrieve,
         | 
| 103 105 | 
             
                    :uri_subscription_modify          => @uri_subscription_modify,
         | 
| 104 | 
            -
                    :uri_saved_job_search_create      => @uri_saved_job_search_create
         | 
| 106 | 
            +
                    :uri_saved_job_search_create      => @uri_saved_job_search_create,
         | 
| 107 | 
            +
                    :uri_spot_retrieve                => @uri_spot_retrieve
         | 
| 105 108 | 
             
                  }
         | 
| 106 109 | 
             
                end
         | 
| 107 110 |  | 
| 108 | 
            -
                 | 
| 111 | 
            +
                protected
         | 
| 109 112 | 
             
                #################################################################
         | 
| 110 113 |  | 
| 111 114 | 
             
                def set_defaults
         | 
| @@ -0,0 +1,12 @@ | |
| 1 | 
            +
            module Cb::Criteria
         | 
| 2 | 
            +
              class SpotRetrieve
         | 
| 3 | 
            +
                extend Cb::Utils::FluidAttributes
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                fluid_attr_accessor :contenttype, :language, :sortfield, :sortdirection, :maxitems
         | 
| 6 | 
            +
                (1..8).each { |num| fluid_attr_accessor "field#{num.to_s}".to_sym }
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                def retrieve
         | 
| 9 | 
            +
                  Cb::ApiClients::Spot.retrieve self
         | 
| 10 | 
            +
                end
         | 
| 11 | 
            +
              end
         | 
| 12 | 
            +
            end
         | 
| @@ -0,0 +1,34 @@ | |
| 1 | 
            +
            module Cb
         | 
| 2 | 
            +
              module Models
         | 
| 3 | 
            +
                class ApiResponseModel
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                  attr_accessor :api_response
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  def initialize(response={})
         | 
| 8 | 
            +
                    @api_response = response
         | 
| 9 | 
            +
                    validate_api_response
         | 
| 10 | 
            +
                    set_model_properties
         | 
| 11 | 
            +
                  end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                  protected
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                  def required_fields
         | 
| 16 | 
            +
                    # return an array of hash keys to check for in your api hash
         | 
| 17 | 
            +
                    raise NotImplementedError.new(__method__)
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  def set_model_properties
         | 
| 21 | 
            +
                    # do whatever work you need to do to set up the attributes on your model
         | 
| 22 | 
            +
                    raise NotImplementedError.new(__method__)
         | 
| 23 | 
            +
                  end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                  private
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                  def validate_api_response
         | 
| 28 | 
            +
                    missing_fields  = required_fields.map { |field| field unless @api_response.has_key?(field) }.compact
         | 
| 29 | 
            +
                    raise ExpectedResponseFieldMissing.new(missing_fields.join(' ')) unless missing_fields.empty?
         | 
| 30 | 
            +
                  end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                end
         | 
| 33 | 
            +
              end
         | 
| 34 | 
            +
            end
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
    
        data/lib/cb/models/{cb_application_external.rb → implementations/cb_application_external.rb}
    RENAMED
    
    | 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| @@ -0,0 +1,32 @@ | |
| 1 | 
            +
            module Cb::Models
         | 
| 2 | 
            +
              class Spot < ApiResponseModel
         | 
| 3 | 
            +
             | 
| 4 | 
            +
                attr_accessor :content_type, :start_date, :end_date, :sequence, :language, :experiment_weight_custom_column,
         | 
| 5 | 
            +
                              :field_1, :field_2, :field_3, :field_4, :field_5, :field_6, :field_7, :field_8,
         | 
| 6 | 
            +
                              :text_1, :text_2, :text_3, :text_4
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                def initialize(response={})
         | 
| 9 | 
            +
                  super(response)
         | 
| 10 | 
            +
                end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                private
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                def required_fields
         | 
| 15 | 
            +
                  %w(ContentType StartDate EndDate Sequence Language)
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                def set_model_properties
         | 
| 19 | 
            +
                  @content_type                     = api_response['ContentType']                  || String.new
         | 
| 20 | 
            +
                  @start_date                       = api_response['StartDate']                    || String.new
         | 
| 21 | 
            +
                  @end_date                         = api_response['EndDate']                      || String.new
         | 
| 22 | 
            +
                  @sequence                         = api_response['Sequence']                     || String.new
         | 
| 23 | 
            +
                  @language                         = api_response['Language']                     || String.new
         | 
| 24 | 
            +
                  @experiment_weight_custom_value   = api_response['ExperimentWeightCustomValue']  || String.new
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  # meta programming the @field_# and @text_# variables => ruby swag
         | 
| 27 | 
            +
                  (1..8).each { |num| instance_variable_set("@field_#{num.to_s}", api_response["Field#{num.to_s}"] || String.new) }
         | 
| 28 | 
            +
                  (1..4).each { |num| instance_variable_set("@text_#{num.to_s}",  api_response["Text#{num.to_s}"]  || String.new) }
         | 
| 29 | 
            +
                end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
              end
         | 
| 32 | 
            +
            end
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| @@ -0,0 +1,34 @@ | |
| 1 | 
            +
            module Cb
         | 
| 2 | 
            +
              module Responses
         | 
| 3 | 
            +
                class RawApiResponse
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                  attr_accessor :raw_api_hash
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  def initialize(raw_api_response={})
         | 
| 8 | 
            +
                    @raw_api_hash = raw_api_response
         | 
| 9 | 
            +
                    validate_raw_api_response
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  def validate_raw_api_response
         | 
| 13 | 
            +
                    # call #required_response_field in here for each node that you know you'll need - stuff like the root node
         | 
| 14 | 
            +
                    # or the node that contains the data from which your model is built.
         | 
| 15 | 
            +
                    raise NotImplementedError.new(__method__)
         | 
| 16 | 
            +
                  end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  def extract_models
         | 
| 19 | 
            +
                    # your api hash is considered valid at this point - grab the data you need and turn it into model(s)
         | 
| 20 | 
            +
                    raise NotImplementedError.new(__method__)
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  protected
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                  def required_response_field(field_name, parent_hash)
         | 
| 26 | 
            +
                    [field_name, parent_hash].each do |arg|
         | 
| 27 | 
            +
                      raise ArgumentError.new("No nils! field_name nil?: #{field_name.nil?} parent_hash nil?: #{parent_hash.nil?}") if arg.nil?
         | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
                    raise ExpectedResponseFieldMissing.new(field_name) unless parent_hash.has_key? field_name
         | 
| 30 | 
            +
                  end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                end
         | 
| 33 | 
            +
              end
         | 
| 34 | 
            +
            end
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            module Cb::Responses::Spot
         | 
| 2 | 
            +
              class Retrieve < Cb::Responses::RawApiResponse
         | 
| 3 | 
            +
             | 
| 4 | 
            +
                ROOT_NODE = 'ResponseRetrieve'
         | 
| 5 | 
            +
                SPOT_COLLECTION = 'SpotData'
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                class << self
         | 
| 8 | 
            +
                  def extract_models(raw_api_response)
         | 
| 9 | 
            +
                    new(raw_api_response).extract_models
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                def initialize(raw_api_response={})
         | 
| 14 | 
            +
                  super(raw_api_response)
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                def validate_raw_api_response
         | 
| 18 | 
            +
                  required_response_field ROOT_NODE, raw_api_hash
         | 
| 19 | 
            +
                  required_response_field SPOT_COLLECTION, raw_api_hash[ROOT_NODE]
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                def extract_models
         | 
| 23 | 
            +
                  spot_models = raw_api_hash[ROOT_NODE][SPOT_COLLECTION].map { |spot_data| Cb::Models::Spot.new(spot_data) }
         | 
| 24 | 
            +
                  Cb::Utils::Api.new.append_api_responses(spot_models, raw_api_hash[ROOT_NODE])
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
            end
         | 
    
        data/lib/cb/utils/api.rb
    CHANGED
    
    | @@ -51,7 +51,6 @@ module Cb | |
| 51 51 |  | 
| 52 52 | 
             
                    resp.each do | api_key, api_value |
         | 
| 53 53 | 
             
                      meta_name = get_meta_name_for api_key
         | 
| 54 | 
            -
             | 
| 55 54 | 
             
                      unless meta_name.empty?
         | 
| 56 55 | 
             
                        if meta_name == 'errors' && api_value.is_a?(Hash)
         | 
| 57 56 | 
             
                          api_value = api_value.values
         | 
| @@ -73,6 +72,7 @@ module Cb | |
| 73 72 |  | 
| 74 73 | 
             
                    obj.class.send(:attr_reader, 'cb_response')
         | 
| 75 74 | 
             
                    obj.instance_variable_set(:@cb_response, meta_class)
         | 
| 75 | 
            +
                    obj
         | 
| 76 76 | 
             
                  end
         | 
| 77 77 |  | 
| 78 78 | 
             
                  def self.criteria_to_hash(criteria)
         | 
| @@ -109,23 +109,9 @@ module Cb | |
| 109 109 |  | 
| 110 110 | 
             
                  def get_meta_name_for(api_key)
         | 
| 111 111 | 
             
                    key_map = {
         | 
| 112 | 
            -
             | 
| 113 | 
            -
             | 
| 114 | 
            -
             | 
| 115 | 
            -
                                'TimeElapsed' =>                'time_elapsed',
         | 
| 116 | 
            -
                                'TotalPages' =>                 'total_pages',
         | 
| 117 | 
            -
                                'TotalCount' =>                 'total_count',
         | 
| 118 | 
            -
                                'FirstItemIndex' =>             'first_item_index',
         | 
| 119 | 
            -
                                'LastItemIndex' =>              'last_item_index',
         | 
| 120 | 
            -
                                'CountryCode' =>                'country_code',
         | 
| 121 | 
            -
                                'DeveloperKey' =>               'developer_key',
         | 
| 122 | 
            -
                                'SiteID' =>                     'site_id',
         | 
| 123 | 
            -
                                'CoBrand' =>                    'co_brand',
         | 
| 124 | 
            -
                                'CountLimit' =>                 'count_limit',
         | 
| 125 | 
            -
                                'MinQualityLimit' =>            'min_quality',
         | 
| 126 | 
            -
                                'RecommendationsAvailable' =>   'recs_available',
         | 
| 127 | 
            -
                                'ApplicationStatus' =>          'application_status',
         | 
| 128 | 
            -
                                'Status' =>                     'status'
         | 
| 112 | 
            +
                      'MinQualityLimit'           =>  'min_quality',
         | 
| 113 | 
            +
                      'RecommendationsAvailable'  =>  'recs_available',
         | 
| 114 | 
            +
                      api_key                     =>  api_key.snakecase
         | 
| 129 115 | 
             
                    }
         | 
| 130 116 |  | 
| 131 117 | 
             
                    key_map["#{api_key}"] ||= ''
         | 
| @@ -19,10 +19,10 @@ module Cb | |
| 19 19 | 
             
                      define_method :"#{name}=" do |*args|
         | 
| 20 20 | 
             
                        instance_variable_set(:"@#{name}", args[0]) if args.length == 1
         | 
| 21 21 | 
             
                        return self
         | 
| 22 | 
            -
                        raise ArgumentError, "Wrong number of arguments (#{args.length} for 1)"
         | 
| 23 22 | 
             
                      end
         | 
| 24 23 | 
             
                    end
         | 
| 25 24 | 
             
                  end
         | 
| 25 | 
            +
             | 
| 26 26 | 
             
                end
         | 
| 27 27 | 
             
              end
         | 
| 28 | 
            -
            end
         | 
| 28 | 
            +
            end
         | 
    
        data/lib/cb/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,8 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: cb-api
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.4. | 
| 4 | 
            +
              version: 0.4.6
         | 
| 5 | 
            +
              prerelease: 
         | 
| 5 6 | 
             
            platform: ruby
         | 
| 6 7 | 
             
            authors:
         | 
| 7 8 | 
             
            - Jesse Retchko
         | 
| @@ -18,11 +19,12 @@ authors: | |
| 18 19 | 
             
            autorequire: 
         | 
| 19 20 | 
             
            bindir: bin
         | 
| 20 21 | 
             
            cert_chain: []
         | 
| 21 | 
            -
            date: 2013-10- | 
| 22 | 
            +
            date: 2013-10-20 00:00:00.000000000 Z
         | 
| 22 23 | 
             
            dependencies:
         | 
| 23 24 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 24 25 | 
             
              name: httparty
         | 
| 25 26 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 27 | 
            +
                none: false
         | 
| 26 28 | 
             
                requirements:
         | 
| 27 29 | 
             
                - - ~>
         | 
| 28 30 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -30,6 +32,7 @@ dependencies: | |
| 30 32 | 
             
              type: :runtime
         | 
| 31 33 | 
             
              prerelease: false
         | 
| 32 34 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 35 | 
            +
                none: false
         | 
| 33 36 | 
             
                requirements:
         | 
| 34 37 | 
             
                - - ~>
         | 
| 35 38 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -37,20 +40,23 @@ dependencies: | |
| 37 40 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 38 41 | 
             
              name: json
         | 
| 39 42 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 43 | 
            +
                none: false
         | 
| 40 44 | 
             
                requirements:
         | 
| 41 45 | 
             
                - - ~>
         | 
| 42 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 43 | 
            -
                    version: 1.7. | 
| 47 | 
            +
                    version: 1.7.7
         | 
| 44 48 | 
             
              type: :runtime
         | 
| 45 49 | 
             
              prerelease: false
         | 
| 46 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 | 
            +
                none: false
         | 
| 47 52 | 
             
                requirements:
         | 
| 48 53 | 
             
                - - ~>
         | 
| 49 54 | 
             
                  - !ruby/object:Gem::Version
         | 
| 50 | 
            -
                    version: 1.7. | 
| 55 | 
            +
                    version: 1.7.7
         | 
| 51 56 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 52 57 | 
             
              name: nori
         | 
| 53 58 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 59 | 
            +
                none: false
         | 
| 54 60 | 
             
                requirements:
         | 
| 55 61 | 
             
                - - ~>
         | 
| 56 62 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -58,6 +64,7 @@ dependencies: | |
| 58 64 | 
             
              type: :runtime
         | 
| 59 65 | 
             
              prerelease: false
         | 
| 60 66 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 67 | 
            +
                none: false
         | 
| 61 68 | 
             
                requirements:
         | 
| 62 69 | 
             
                - - ~>
         | 
| 63 70 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -65,6 +72,7 @@ dependencies: | |
| 65 72 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 66 73 | 
             
              name: nokogiri
         | 
| 67 74 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 75 | 
            +
                none: false
         | 
| 68 76 | 
             
                requirements:
         | 
| 69 77 | 
             
                - - ~>
         | 
| 70 78 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -72,10 +80,123 @@ dependencies: | |
| 72 80 | 
             
              type: :runtime
         | 
| 73 81 | 
             
              prerelease: false
         | 
| 74 82 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 83 | 
            +
                none: false
         | 
| 75 84 | 
             
                requirements:
         | 
| 76 85 | 
             
                - - ~>
         | 
| 77 86 | 
             
                  - !ruby/object:Gem::Version
         | 
| 78 87 | 
             
                    version: 1.6.0
         | 
| 88 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 89 | 
            +
              name: activesupport
         | 
| 90 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 91 | 
            +
                none: false
         | 
| 92 | 
            +
                requirements:
         | 
| 93 | 
            +
                - - ~>
         | 
| 94 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 95 | 
            +
                    version: 4.0.0
         | 
| 96 | 
            +
              type: :runtime
         | 
| 97 | 
            +
              prerelease: false
         | 
| 98 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 99 | 
            +
                none: false
         | 
| 100 | 
            +
                requirements:
         | 
| 101 | 
            +
                - - ~>
         | 
| 102 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            +
                    version: 4.0.0
         | 
| 104 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 105 | 
            +
              name: vcr
         | 
| 106 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 107 | 
            +
                none: false
         | 
| 108 | 
            +
                requirements:
         | 
| 109 | 
            +
                - - ~>
         | 
| 110 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 111 | 
            +
                    version: 2.6.0
         | 
| 112 | 
            +
              type: :runtime
         | 
| 113 | 
            +
              prerelease: false
         | 
| 114 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 115 | 
            +
                none: false
         | 
| 116 | 
            +
                requirements:
         | 
| 117 | 
            +
                - - ~>
         | 
| 118 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 119 | 
            +
                    version: 2.6.0
         | 
| 120 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 121 | 
            +
              name: webmock
         | 
| 122 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 123 | 
            +
                none: false
         | 
| 124 | 
            +
                requirements:
         | 
| 125 | 
            +
                - - ~>
         | 
| 126 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 127 | 
            +
                    version: 1.9.0
         | 
| 128 | 
            +
              type: :runtime
         | 
| 129 | 
            +
              prerelease: false
         | 
| 130 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 131 | 
            +
                none: false
         | 
| 132 | 
            +
                requirements:
         | 
| 133 | 
            +
                - - ~>
         | 
| 134 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 135 | 
            +
                    version: 1.9.0
         | 
| 136 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 137 | 
            +
              name: simplecov
         | 
| 138 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 139 | 
            +
                none: false
         | 
| 140 | 
            +
                requirements:
         | 
| 141 | 
            +
                - - ! '>='
         | 
| 142 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 143 | 
            +
                    version: 0.7.1
         | 
| 144 | 
            +
              type: :runtime
         | 
| 145 | 
            +
              prerelease: false
         | 
| 146 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 147 | 
            +
                none: false
         | 
| 148 | 
            +
                requirements:
         | 
| 149 | 
            +
                - - ! '>='
         | 
| 150 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 151 | 
            +
                    version: 0.7.1
         | 
| 152 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 153 | 
            +
              name: rake
         | 
| 154 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 155 | 
            +
                none: false
         | 
| 156 | 
            +
                requirements:
         | 
| 157 | 
            +
                - - ! '>='
         | 
| 158 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 159 | 
            +
                    version: 0.8.7
         | 
| 160 | 
            +
              type: :runtime
         | 
| 161 | 
            +
              prerelease: false
         | 
| 162 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 163 | 
            +
                none: false
         | 
| 164 | 
            +
                requirements:
         | 
| 165 | 
            +
                - - ! '>='
         | 
| 166 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 167 | 
            +
                    version: 0.8.7
         | 
| 168 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 169 | 
            +
              name: rspec
         | 
| 170 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 171 | 
            +
                none: false
         | 
| 172 | 
            +
                requirements:
         | 
| 173 | 
            +
                - - ! '>='
         | 
| 174 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 175 | 
            +
                    version: '2.11'
         | 
| 176 | 
            +
              type: :runtime
         | 
| 177 | 
            +
              prerelease: false
         | 
| 178 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 179 | 
            +
                none: false
         | 
| 180 | 
            +
                requirements:
         | 
| 181 | 
            +
                - - ! '>='
         | 
| 182 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 183 | 
            +
                    version: '2.11'
         | 
| 184 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 185 | 
            +
              name: dotenv
         | 
| 186 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 187 | 
            +
                none: false
         | 
| 188 | 
            +
                requirements:
         | 
| 189 | 
            +
                - - ~>
         | 
| 190 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 191 | 
            +
                    version: 0.9.0
         | 
| 192 | 
            +
              type: :runtime
         | 
| 193 | 
            +
              prerelease: false
         | 
| 194 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 195 | 
            +
                none: false
         | 
| 196 | 
            +
                requirements:
         | 
| 197 | 
            +
                - - ~>
         | 
| 198 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 199 | 
            +
                    version: 0.9.0
         | 
| 79 200 | 
             
            description: Ruby wrapper for Careerbuilder Public API.
         | 
| 80 201 | 
             
            email:
         | 
| 81 202 | 
             
            - Jesse.Retchko@Careerbuilder.com
         | 
| @@ -106,38 +227,45 @@ files: | |
| 106 227 | 
             
            - lib/cb/clients/recommendation_api.rb
         | 
| 107 228 | 
             
            - lib/cb/clients/resume_api.rb
         | 
| 108 229 | 
             
            - lib/cb/clients/saved_search_api.rb
         | 
| 230 | 
            +
            - lib/cb/clients/spot_api.rb
         | 
| 109 231 | 
             
            - lib/cb/clients/talent_network_api.rb
         | 
| 110 232 | 
             
            - lib/cb/clients/user_api.rb
         | 
| 111 233 | 
             
            - lib/cb/config.rb
         | 
| 112 234 | 
             
            - lib/cb/criteria/job_details_criteria.rb
         | 
| 113 235 | 
             
            - lib/cb/criteria/job_search_criteria.rb
         | 
| 114 | 
            -
            - lib/cb/ | 
| 115 | 
            -
            - lib/cb/ | 
| 116 | 
            -
            - lib/cb/models/ | 
| 117 | 
            -
            - lib/cb/models/branding/ | 
| 118 | 
            -
            - lib/cb/models/branding/ | 
| 119 | 
            -
            - lib/cb/models/branding/ | 
| 120 | 
            -
            - lib/cb/models/branding/styles/ | 
| 121 | 
            -
            - lib/cb/models/branding/styles/ | 
| 122 | 
            -
            - lib/cb/models/branding/styles/ | 
| 123 | 
            -
            - lib/cb/models/branding/styles/ | 
| 124 | 
            -
            - lib/cb/models/branding/styles/ | 
| 125 | 
            -
            - lib/cb/models/branding/styles/ | 
| 126 | 
            -
            - lib/cb/models/branding/ | 
| 127 | 
            -
            - lib/cb/models/ | 
| 128 | 
            -
            - lib/cb/models/ | 
| 129 | 
            -
            - lib/cb/models/ | 
| 130 | 
            -
            - lib/cb/models/ | 
| 131 | 
            -
            - lib/cb/models/ | 
| 132 | 
            -
            - lib/cb/models/ | 
| 133 | 
            -
            - lib/cb/models/ | 
| 134 | 
            -
            - lib/cb/models/ | 
| 135 | 
            -
            - lib/cb/models/ | 
| 136 | 
            -
            - lib/cb/models/ | 
| 137 | 
            -
            - lib/cb/models/ | 
| 138 | 
            -
            - lib/cb/models/ | 
| 139 | 
            -
            - lib/cb/models/ | 
| 140 | 
            -
            - lib/cb/models/ | 
| 236 | 
            +
            - lib/cb/criteria/spot_retrieve_criteria.rb
         | 
| 237 | 
            +
            - lib/cb/exceptions.rb
         | 
| 238 | 
            +
            - lib/cb/models/api_response_model.rb
         | 
| 239 | 
            +
            - lib/cb/models/implementations/branding/media.rb
         | 
| 240 | 
            +
            - lib/cb/models/implementations/branding/section.rb
         | 
| 241 | 
            +
            - lib/cb/models/implementations/branding/style.rb
         | 
| 242 | 
            +
            - lib/cb/models/implementations/branding/styles/base.rb
         | 
| 243 | 
            +
            - lib/cb/models/implementations/branding/styles/buttons.rb
         | 
| 244 | 
            +
            - lib/cb/models/implementations/branding/styles/company_info.rb
         | 
| 245 | 
            +
            - lib/cb/models/implementations/branding/styles/container.rb
         | 
| 246 | 
            +
            - lib/cb/models/implementations/branding/styles/content.rb
         | 
| 247 | 
            +
            - lib/cb/models/implementations/branding/styles/css_adapter.rb
         | 
| 248 | 
            +
            - lib/cb/models/implementations/branding/styles/headings.rb
         | 
| 249 | 
            +
            - lib/cb/models/implementations/branding/styles/job_details.rb
         | 
| 250 | 
            +
            - lib/cb/models/implementations/branding/styles/page.rb
         | 
| 251 | 
            +
            - lib/cb/models/implementations/branding/widget.rb
         | 
| 252 | 
            +
            - lib/cb/models/implementations/cb_application.rb
         | 
| 253 | 
            +
            - lib/cb/models/implementations/cb_application_external.rb
         | 
| 254 | 
            +
            - lib/cb/models/implementations/cb_application_schema.rb
         | 
| 255 | 
            +
            - lib/cb/models/implementations/cb_category.rb
         | 
| 256 | 
            +
            - lib/cb/models/implementations/cb_company.rb
         | 
| 257 | 
            +
            - lib/cb/models/implementations/cb_education.rb
         | 
| 258 | 
            +
            - lib/cb/models/implementations/cb_email_subscription.rb
         | 
| 259 | 
            +
            - lib/cb/models/implementations/cb_employee_type.rb
         | 
| 260 | 
            +
            - lib/cb/models/implementations/cb_job.rb
         | 
| 261 | 
            +
            - lib/cb/models/implementations/cb_job_branding.rb
         | 
| 262 | 
            +
            - lib/cb/models/implementations/cb_resume.rb
         | 
| 263 | 
            +
            - lib/cb/models/implementations/cb_saved_search.rb
         | 
| 264 | 
            +
            - lib/cb/models/implementations/cb_spot.rb
         | 
| 265 | 
            +
            - lib/cb/models/implementations/cb_talent_network.rb
         | 
| 266 | 
            +
            - lib/cb/models/implementations/cb_user.rb
         | 
| 267 | 
            +
            - lib/cb/responses/raw_api_response.rb
         | 
| 268 | 
            +
            - lib/cb/responses/spot/retrieve_response.rb
         | 
| 141 269 | 
             
            - lib/cb/utils/api.rb
         | 
| 142 270 | 
             
            - lib/cb/utils/country.rb
         | 
| 143 271 | 
             
            - lib/cb/utils/fluid_attributes.rb
         | 
| @@ -149,26 +277,28 @@ files: | |
| 149 277 | 
             
            - lib/cb.rb
         | 
| 150 278 | 
             
            - README.md
         | 
| 151 279 | 
             
            homepage: http://api.careerbuilder.com
         | 
| 152 | 
            -
            licenses: | 
| 153 | 
            -
             | 
| 280 | 
            +
            licenses:
         | 
| 281 | 
            +
            - MIT
         | 
| 154 282 | 
             
            post_install_message: 
         | 
| 155 283 | 
             
            rdoc_options: []
         | 
| 156 284 | 
             
            require_paths:
         | 
| 157 285 | 
             
            - lib
         | 
| 158 286 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 287 | 
            +
              none: false
         | 
| 159 288 | 
             
              requirements:
         | 
| 160 | 
            -
              - - '>='
         | 
| 289 | 
            +
              - - ! '>='
         | 
| 161 290 | 
             
                - !ruby/object:Gem::Version
         | 
| 162 291 | 
             
                  version: '0'
         | 
| 163 292 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 293 | 
            +
              none: false
         | 
| 164 294 | 
             
              requirements:
         | 
| 165 | 
            -
              - - '>='
         | 
| 295 | 
            +
              - - ! '>='
         | 
| 166 296 | 
             
                - !ruby/object:Gem::Version
         | 
| 167 297 | 
             
                  version: '0'
         | 
| 168 298 | 
             
            requirements: []
         | 
| 169 299 | 
             
            rubyforge_project: 
         | 
| 170 | 
            -
            rubygems_version:  | 
| 300 | 
            +
            rubygems_version: 1.8.25
         | 
| 171 301 | 
             
            signing_key: 
         | 
| 172 | 
            -
            specification_version:  | 
| 302 | 
            +
            specification_version: 3
         | 
| 173 303 | 
             
            summary: Ruby wrapper around Careerbuilder Public API.
         | 
| 174 304 | 
             
            test_files: []
         | 
    
        checksums.yaml
    DELETED
    
    | @@ -1,7 +0,0 @@ | |
| 1 | 
            -
            ---
         | 
| 2 | 
            -
            SHA1:
         | 
| 3 | 
            -
              metadata.gz: 12a868480664d09635e4c498df02f757f2bffd69
         | 
| 4 | 
            -
              data.tar.gz: a01294cdb386a46dd5f263caa003b4fd61c2afb4
         | 
| 5 | 
            -
            SHA512:
         | 
| 6 | 
            -
              metadata.gz: 45c1a4ba86ba4f9326af0dce83a4917721280d6bafd8b26178b3b65cf2a0d3180abc560c04f78da989d5788f9b22d3c01b1f6f93e7963b45157bd5d8e670b4f3
         | 
| 7 | 
            -
              data.tar.gz: edfd55c81b38add802881f5da4afd553d4367078e2fce58cbb671923bd52e52730fe32a8df20422341a57a4a7c6ec6a4237ce5e09847f798a9b13e6474d348e4
         |