Skip to content

Instantly share code, notes, and snippets.

@vysakh0
vysakh0 / rbenv_ruby
Last active December 14, 2015 16:58
This will install rbenv, a ruby version manager and ruby 2.0.0-p0 , rails in Ubuntu
/* Requirements install git and curl */
/* installing rbenv */
curl https://raw.github.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash
/* add this instead of generated stuff "PREPEND" the echo wordings to ~/.profile */
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
echo 'eval "$(rbenv init -)"' >> ~/.profile
@vysakh0
vysakh0 / install.md
Last active December 30, 2015 06:19
Configuring Ubuntu VPS for Rails app

Basic Packages

sudo apt-get update
sudo apt-get install git-core python-software-properties software-properties-common

Install nginx

sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
@vysakh0
vysakh0 / rubyinstall.md
Last active December 31, 2015 03:39
Installing ruby using rbenv (non-rails)

install rbenv

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
echo 'eval "$(rbenv init -)"' >> ~/.profile
source ~/.profile

Basic packages for Ruby

In the controller action

change_img_params(params[:background_image])

def change_img_params(img)
begin
  Base64.decode64(params[:user][img])
  if params[:user][img]
    params[:user][img] = file_decode(params[:user][img].split(',')[1],

params[:user][:screen_name] )

sessions controller

# sessions_controller.rb

class Api::V1::SessionsController < ApplicationController
  def create
    user = User.authenticate(params[:email], params[:password])
    if user
      token = user.generate_token_for("auth_token")
@vysakh0
vysakh0 / bouncer.ex
Last active November 20, 2015 06:52
#= Bouncers.Bouncer.check_entry(conn, %MyApp.User{})
#=> true
defmodule Bouncers.Bouncer do
alias Bouncers.Areas
def check_entry(conn, resource) do
verify(resource, conn.path_info)
end
@vysakh0
vysakh0 / parser.ex
Last active April 3, 2018 14:57
Parse xml to elixir maps including the attributes
defmodule Parser do
require Record
Record.defrecord :xmlElement, Record.extract(:xmlElement, from_lib: "xmerl/include/xmerl.hrl")
Record.defrecord :xmlText, Record.extract(:xmlText, from_lib: "xmerl/include/xmerl.hrl")
Record.defrecord :xmlAttribute, Record.extract(:xmlAttribute, from_lib: "xmerl/include/xmerl.hrl")
def run(xml) do
run(xml, '//response')
end
@vysakh0
vysakh0 / runlength.ex
Last active September 4, 2016 08:31
Run length encoding in elixir
defmodule Runlength do
def encode(<< first :: binary-size(1) , rest :: binary>>) do
encode({first, 1}, rest, "")
end
def encode({letter, count}, << letter :: binary-size(1) , rest :: binary>>, result) do
encode({letter, count + 1}, rest, result)
end
def encode({letter, count}, << diff :: binary-size(1) , rest :: binary>>, result) do
result = result <> to_string(count) <> letter
@vysakh0
vysakh0 / palindrome.ex
Created February 9, 2016 04:04
A simple palindrome without using any inbuilt functions like `String.reverse` or `String.length`
defmodule Palindrome do
def check(<< first :: binary-size(1), rest :: binary >> = actual) do
check(first, rest, actual)
end
def check(newstr, << next_letter :: binary-size(1), rest :: binary >>, actual) do
check(next_letter <> newstr, rest, actual)
end
def check(reverse, <<>>, actual), do: reverse === actual
@vysakh0
vysakh0 / any.ex
Created February 10, 2016 03:49
Remove any given character in a string just using recursion
defmodule Any do
def remove(str, char) do
remove("", str, char)
end
def remove(newstr, << char :: binary-size(1), rest :: binary >>, char) do
remove(newstr, rest, char)
end
def remove(newstr, << first :: binary-size(1), rest :: binary >>, char) do
remove(newstr <> first, rest, char)
end