Skip to content

Instantly share code, notes, and snippets.

View alexvbush's full-sized avatar

Alex Bush alexvbush

View GitHub Profile
@alexvbush
alexvbush / article.rb
Last active August 29, 2015 14:03
First naive implementation of Article model.
class Article < ActiveRecord::Base
include Categorizable
APPROVED = 'approved'
PENDING = 'pending'
REJECTED = 'rejected'
attr_accessible :approved_at, :url, :body, :image, :rating, :state, :title
validates :url, :uniqueness => true
@alexvbush
alexvbush / articles_controller.rb
Last active August 29, 2015 14:03
First naive implementation of Articles controller.
class Api::Private::ArticlesController < Api::Private::BaseController
before_filter :find_or_create_article, except: [:index]
def index
@articles = Article.scoped
if params[:state] == Article::PENDING
@articles = Article.pending.order(:published_at)
elsif params[:state] == Article::APPROVED
@articles = Article.approved.order('approved_at DESC')
@alexvbush
alexvbush / articles_search.rb
Created July 14, 2014 01:22
Articles Search mixin.
module ArticlesSearch
def articles_search(search_criteria, state = nil)
@articles = Article.includes(:categories).where('title LIKE ? OR categories.name LIKE ?', "%#{search_criteria}%", "%#{search_criteria}%")
if state
@articles = @articles.where(state: state)
end
@articles
@alexvbush
alexvbush / articles_controller.rb
Last active August 29, 2015 14:03
Second iteration of Articles controller.
class Api::Private::ArticlesController < Api::Private::BaseController
include ArticlesSearch
before_filter :find_or_create_article, except: [:index]
PAGE_SIZE = 20
def index
@articles = Article.scoped
total_pages = 0
page = params[:page] ? params[:page] : 1
@alexvbush
alexvbush / article.rb
Last active August 29, 2015 14:03
Second iteration of Article model.
class Article < ActiveRecord::Base
include Categorizable
APPROVED = 'approved'
PENDING = 'pending'
REJECTED = 'rejected'
attr_accessible :approved_at, :url, :body, :image, :rating, :state, :title, :news_source_id, :published_at
validates :url, :uniqueness => true
@alexvbush
alexvbush / articles_controller.rb
Created July 14, 2014 02:04
Final version of Articles controller.
class Api::Private::ArticlesController < Api::Private::BaseController
include ArticlesSearch
before_filter :find_or_create_article, except: [:index]
PAGE_SIZE = 20
attr_accessor :total_pages
def index
@articles = Article
@alexvbush
alexvbush / article.rb
Created July 14, 2014 02:06
Final version of Article model.
class Article < ActiveRecord::Base
include Categorizable
APPROVED = 'approved'
PENDING = 'pending'
REJECTED = 'rejected'
attr_accessible :approved_at, :url, :body, :image, :rating, :state, :title, :news_source_id, :published_at
validates :url, :uniqueness => true
@alexvbush
alexvbush / boolean_value.rb
Last active August 29, 2015 14:04
Global Settings for storing app configuration(with caching)
class BooleanValue < Value
end
@alexvbush
alexvbush / HLPlaceResourceManager.h
Last active August 29, 2015 14:10
RestKit RKObjectManager Setup
//
// HLPlaceResourceManager.h
// HeyLets2
//
// Created by Alex Bush on 11/18/14.
// Copyright (c) 2014 HeyLets. All rights reserved.
//
#import <Foundation/Foundation.h>
@alexvbush
alexvbush / custom_daemon_start_stop.rb
Created June 22, 2011 21:03
how to start and stop custom daemon in Rails. According to Ryan Bates.
RAILS_ENV=development lib/daemons/mailer_ctl start
RAILS_ENV=development lib/daemons/mailer_ctl stop