Skip to content

Instantly share code, notes, and snippets.

View jeffdonthemic's full-sized avatar
💭
Currently being awesome

Jeff Douglas jeffdonthemic

💭
Currently being awesome
View GitHub Profile
@jeffdonthemic
jeffdonthemic / do_magic.rb
Last active June 5, 2020 19:29
Remove github files from tree
# https://github.community/t/deleting-files-via-trees-no-longer-works/14042
def commit_files_to_remove
# get the base branch tree that has all of the files in it
branch_tree = github.git_data.trees.get @repo.username,
@repo.repo_name,
new_branch_sha,
recursive: true
# select only the files for THIS badge
@jeffdonthemic
jeffdonthemic / restforce.rb
Created January 24, 2020 17:46
Restforce monkey patch
module Restforce
class Mash < Hashie::Mash
class << self
def klass(val)
if val.key? 'records'
# When the hash has a records key, it should be considered a collection
# of sobject records.
Restforce::Collection
@jeffdonthemic
jeffdonthemic / app.rb
Last active September 3, 2019 15:16
Refresh Token from Salesforce
begin
require 'sinatra'
require 'omniauth'
require 'omniauth-salesforce'
rescue LoadError
require 'rubygems'
require 'sinatra'
require 'omniauth'
require 'omniauth-salesforce'
// create the association object with the final data
associations = {
"elements": elements
}
// create all of the associations
request({
url: 'https://api.clover.com:443/v3/merchants/'+process.env.CLOVER_MERCHANT_ID+'/category_items',
method: 'POST',
headers: {
@jeffdonthemic
jeffdonthemic / ChatterUtils
Last active April 1, 2019 00:21
Simple Class to add Salesforce Chatter posts with links, urls and mentions.
public with sharing class ChatterUtils {
// makes a simple chatter text post to the specified user from the running user
public static void simpleTextPost(Id userId, String postText) {
ConnectApi.FeedType feedType = ConnectApi.FeedType.UserProfile;
ConnectApi.MessageBodyInput messageInput = new ConnectApi.MessageBodyInput();
messageInput.messageSegments = new List<ConnectApi.MessageSegmentInput>();
@jeffdonthemic
jeffdonthemic / ContactListViewComponent.component
Last active February 14, 2019 03:07
Code for ContactListViewComponents for enhancedList Visualforce component. http://blog.jeffdouglas.com/2014/12/12/enhancedlist-visualforce-component/
<apex:component controller="ContactListViewController">
<apex:attribute name="listViewName" type="String" required="true"
description="The name of the listview." assignTo="{!listName}"/>
<apex:enhancedList height="400" rowsPerPage="25" id="ContactList"
listId="{!listId}" rendered="{!listId != null}" />
<apex:outputText rendered="{!listId == null}" value="Could not find requewed ListView: '{!listName}'. Please contact your administrator."/>
</apex:component>
@jeffdonthemic
jeffdonthemic / app.js
Created November 16, 2018 21:47
SLDS Modal
function openModal(name) {
$("#"+name).addClass('slds-fade-in-open');
$("#backdrop").addClass('slds-backdrop_open');
}
function closeModal(name) {
$("#"+name).removeClass('slds-fade-in-open');
$("#backdrop").removeClass('slds-backdrop_open');
}
@jeffdonthemic
jeffdonthemic / app.js
Last active September 4, 2018 11:34
CSOD
var http = require('http');
var request = require('request');
var moment = require("moment");
var crypto = require('crypto');
var apiToken = 'MY-TOKEN';
var apiSecret = 'MY-SECRET';
var generateSession = function(userName, sessionName) {
var relativeUrl = "/services/api/sts/GenerateSession/"+userName+"/"+sessionName;
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>Accept</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>CancelEdit</actionName>
<type>Default</type>
</actionOverrides>
@jeffdonthemic
jeffdonthemic / force-node-streaming-app.js
Created September 7, 2012 12:42
Streaming API example with nforce
/**
* Module dependencies.
*/
var config = require('./config.js');
var express = require('express')
, faye = require('faye')
, nforce = require('nforce')
, util = require('util')
, routes = require('./routes');