Skip to content

Instantly share code, notes, and snippets.

View hayduke19us's full-sized avatar
🐙

matthew sullivan hayduke19us

🐙
View GitHub Profile
Host *
UseKeychain yes
module StrictDig
def strict_dig(*keys, map: false, strict: true, value_key: false)
outer_layer = self
layers = value_key ? keys.push(value_key) : keys
original_keys = layers.dup
while layers.any?
current_layer = layers.shift
fetching_args = strict ? [current_layer] : [current_layer].push(nil)
module HotelBeds
class CachedSupplierPropertyContent < ::CachedSupplierPropertyContent
VALUE_KEY = 'content'.freeze
def clean_data(data)
case data
when String then data.strip
else
data
end
class SomeClass
attr_writer :value_key
def value_key
@value_key ||= 'content'.freeze
end
def dig(*keys)
keys_with_value_key = keys.push(value_key)
@hayduke19us
hayduke19us / dig.rb
Last active December 15, 2016 19:05
def dig(data, *keys)
while keys.any?
outer_data = data[keys.shift]
inner_data = outer_data
break unless inner_data
end
inner_data
end
module Serializers
class BookingRequest < Base
template(:new_relic) do |booking_request|
affiliate_code = booking_request.affiliate_code
property = @availability_config.try(:property)
@itinerary = booking_request.booked_itinerary
@availability_config = booking_request.availability_config
transaction = {
module Serializers
class Reservation < Base
template(:default) do |reservation|
{
adults: reservation.adults.count,
booked_datetime: reservation.booked_at.to_s,
cancellation_policy: reservation.room_rate.cancellation_policy,
cancelled_datetime: reservation.cancelled_at.to_s,
check_in: reservation.check_in,
check_out: reservation.check_out,
module Serializers
class BookingRequest < Base
template(:new_relic) do |booking_request|
itinerary = booking_request.booked_itinerary
{
agent_code: itinerary.agent_code
}
end
end
require 'spec_helper'
module Serializers
describe 'BookingRequest' do
let(:itinerary) { build :itinerary }
let(:booking_request) { build :booking_request }
subject(:serialized_booking_request) do
Serializers::BookingRequest.new
end
(ns price-sheet.jac-travel
(:require [clj-time.core :as time]
[clj-time.format :as format]
[clojure.core.match :as ccm]
[clojure.data.xml :as xml]
[clojure.data.zip.xml :as xml-zip]
[clojure.set :as set]
[clojure.string :as string]
[clojure.zip :as zip]
[clojurewerkz.money.amounts :as money]