Skip to content

Instantly share code, notes, and snippets.

View vasilakisfil's full-sized avatar

Filippos Vasilakis vasilakisfil

View GitHub Profile
@vasilakisfil
vasilakisfil / gist:9722841
Last active August 29, 2015 13:57
Share state between ruby objects
class TestClass
@class_var_alternative = "class_var_alternative"
class << self
attr_accessor :class_var_alternative
end
end
puts TestClass.class_var_alternative
TestClass.class_var_alternative = "new value"
@vasilakisfil
vasilakisfil / PacketInfo.java
Created April 21, 2014 12:33
Useless Java getters/setters
package server;
public class PacketInfo {
private String sipAddress;
private String branch;
private String viaAddress;
public String receiverUser;
public String senderUsername;
public String senderAddress;
@vasilakisfil
vasilakisfil / authentication_helper.rb
Last active August 29, 2015 14:06
authentication_helper
module AuthenticationHelper
def sign_in(user)
header('Authorization', "Token token=\"#{user.authentication_token}\", user_email=\"#{user.email}\"")
end
def create_and_sign_in_user
user = FactoryGirl.create(:user)
sign_in(user)
return user
end
@vasilakisfil
vasilakisfil / users_spec.rb
Created September 16, 2014 18:27
rspec tests
require 'rails_helper'
describe Api::V1::UsersController, type: :api do
context :index do
before do
5.times{ FactoryGirl.create(:user) }
5.times{ FactoryGirl.create(:admin) }
FactoryGirl.create(:super_admin)
sign_in(User.regular.last)
end
@vasilakisfil
vasilakisfil / example.rb
Last active August 29, 2015 14:07
namespaced mixins
#Mixins as I sometimes want them. Proper Composition.
#It probably requires different approach on how we write mixins atm.
#@vasilakisfil
module NamespacedMixin
module ClassMethods
def namespace(name, as:)
namespace = as
namespaced_class = name.split('::').inject(Object) {|o,c| o.const_get c}
@vasilakisfil
vasilakisfil / 0_reuse_code.js
Last active August 29, 2015 14:10
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@vasilakisfil
vasilakisfil / put jsonapi
Created November 26, 2014 17:21
PUT relationship in JSONAPI
PUT /articles/1
Content-Type: application/vnd.api+json
Accept: application/vnd.api+json
{
"articles": {
"title": "Rails is a Melting Pot",
"links": {
"author": "1"
}
@vasilakisfil
vasilakisfil / console.rb
Last active August 29, 2015 14:13
Ruby hashes inconsistency
# copy and store in another variable:
[16] pry(main)> hash1 = {a: 'asdasd', b: 'asdasd'}
=> {:a=>"asdasd", :b=>"asdasd"}
[17] pry(main)> hash2 = hash1
=> {:a=>"asdasd", :b=>"asdasd"}
[18] pry(main)> hash2.delete(:a)
=> "asdasd"
[19] pry(main)> hash2
=> {:b=>"asdasd"}
[20] pry(main)> hash1
@vasilakisfil
vasilakisfil / rspec-api.rb
Last active August 29, 2015 14:14
rspec API helpers
class ObjectHash
attr_accessor :hash
def initialize(hash)
@hash = HashWithIndifferentAccess.new(hash)
end
def method_missing(name)
return hash[name] if hash.key? name
@vasilakisfil
vasilakisfil / rspec_api_helper.rb
Last active August 29, 2015 14:16
Rspec API Helper
#rspec/support/rspec_api_helper.rb
module RspecApiHelper
module ExampleMethods
def objectize_resources(json, root: root)
array = []
array_hash = HashWithIndifferentAccess.new(MultiJson.load(json))
if root
array_hash = array_hash[root]
end