Skip to content

Instantly share code, notes, and snippets.

View alexvbush's full-sized avatar

Alex Bush alexvbush

View GitHub Profile
import { AxiosInstance } from "axios";
import RxAxios from 'axios-observable';
import { delay, map, Observable, of, Subscription } from "rxjs";
export class Session {
constructor(
readonly accessToken: string,
readonly client: string,
readonly uid: string,
readonly expiry: string
@alexvbush
alexvbush / decimal_to_binary.rb
Created June 23, 2011 23:44
function to convert decimal to binary in Ruby.
def dec2bin(number)
number = Integer(number)
if(number == 0) then 0 end
ret_bin = ""
while(number != 0)
ret_bin = String(number % 2) + ret_bin
number = number / 2
end
ret_bin
@alexvbush
alexvbush / run_perl_python_scipts_in_rails.rb
Created July 19, 2011 22:08
How to run Perl and Python scripts in a Rails app.
#This will run Perl and Python scripts respectively in Rails console using 'gem escape'. Gem Escape allows to format path to the scripts properly.
perl_cmd = Escape.shell_command(['perl', "#{RAILS_ROOT}/bin/test_perl_script.pl"]).to_s
system perl_cmd
python_cmd = Escape.shell_command(['python', "#{RAILS_ROOT}/bin/test_python_script.py"]).to_s
system python_cmd
def for_scope(scope, user = GuestUser.new)
case scope
when 'saved'
user.saved_articles.scoped
when 'my'
user.tagged_articles.scoped
else
scoped
end
end
import Foundation
protocol User {
var firstName: String { get }
var lastName: String { get }
func fullName() -> String
}
class CurrentUser: User {
import Foundation
struct User {
let firstName: String
let lastName: String
func fullName() -> String {
return "\(firstName) \(lastName)"
}
}
import Foundation
// this is either a third party SDK interface or your own analytics client implementation
// that actually sends JSON across the wire to deliver tracked analytics events
protocol AnalyticsClient {
func sendAnalyticsDataToTheBackend(_ eventJSON: [String: Any])
}
final class ConcreteAnalyticsClient: AnalyticsClient {
func sendAnalyticsDataToTheBackend(_ eventJSON: [String: Any]) {
@alexvbush
alexvbush / AndroidWeakRefExample.java
Last active July 6, 2016 18:57
An example of how to store an Android Context object in a weak reference to avoid unexpected retain loops in adapters and such.
public class ExampleWeak {
private WeakReference<Context> weakContext;
public ExammpleWeak(Context context) {
this.weakContext = context;
}
public Context getContext() {
return weakContext.get();
}
@alexvbush
alexvbush / CollectionTest.java
Created November 17, 2013 07:14
An example of a custom collection class that you can use to iterate over your own collection object using for_each loop. The key ingredient is Iterable, and Iterator interfaces implemented in CustomCollectionWrapper class.
/**
*
*/
/**
* Smart Cloud, Inc. Nov 14, 2013.
* @author Alex Bush
*
*/
public class CollectionTest {
FactoryGirl.define do
factory :post do
sequence(:post_title) {|n| "Post#{n}"}
post_date { Time.now - 10.days }
post_date_gmt { (Time.now - 10.days).gmtime }
post_modified { Time.now - 10.minutes }
post_modified_gmt { (Time.now - 10.minutes).gmtime }
post_status {"publish"}
factory :artist, :class => 'Artist' do