Skip to content

Instantly share code, notes, and snippets.

View nisevi's full-sized avatar
🧑‍🚀
Working from anywhere

Nicolas Sebastian Vidal nisevi

🧑‍🚀
Working from anywhere
View GitHub Profile
@nisevi
nisevi / process_flags.rb
Created April 27, 2018 10:35
Processing flags to get the prime numbers.
def process_flags(flags)
primes = []
flags.each_with_index do |value, index|
primes << index if value
end
primes
end
@nisevi
nisevi / sieve_of_eratosthenes.rb
Created April 27, 2018 10:31
Methods for implementing the Sieve of Eratosthenes.
def header(max)
flags = [true] * (max + 1)
flags[0] = flags[1] = false
prime = 2
while prime <= Math.sqrt(max)
cross_off(flags, prime)
prime = next_prime(flags, prime)
end
process_flags(flags)
end
@nisevi
nisevi / matrix.rb
Created April 27, 2018 10:16
The Sieve of Eratosthenes.
class Matrix
attr_accessor :rows_header, :columns_header, :table
def initialize(args)
rows = header(args[:rows])
columns = header(args[:columns])
@table = load_table(rows, columns)
@rows_header = rows
@columns_header = columns
end
@nisevi
nisevi / prime.rb
Created April 27, 2018 09:49
Iterate only up through the square root of N.
class Prime
class << self
def prime?(number)
return false if number < 2
sqrt = Math.sqrt(number).to_i
(2..sqrt).each do |i|
return false if (number % i).zero?
end
true
end
@nisevi
nisevi / matrix.rb
Created April 24, 2018 17:17
First approach for getting a multiplication matrix of prime numbers.
class Matrix
attr_accessor :rows_header, :columns_header, :table
def initialize(args)
rows = header(args[:rows])
columns = header(args[:columns])
@table = load_table(rows, columns)
@rows_header = rows
@columns_header = columns
end
@nisevi
nisevi / prime.rb
Created April 24, 2018 17:12
Naive approach for calculating the prime number up to a given N.
class Prime
class << self
def prime?(number)
return false if number < 2
(2...number).each do |i|
return false if (number % i).zero?
end
true
end
@nisevi
nisevi / primes_table
Created April 24, 2018 13:55
File where command line options are handled.
#!/usr/bin/env ruby
require 'optparse'
require 'methadone'
require 'primes_table.rb'
class App
include Methadone::Main
include Methadone::CLILogging
@nisevi
nisevi / github_content_for_static_pages.rake
Last active April 15, 2018 09:42
Rake task for calling the logic that resides within GithubStaticPagesJob module.
namespace :fetch_github do
desc 'Get github content for static pages'
task :content_for_static_pages => :environment do
GithubStaticPagesJob.run
end
end
@nisevi
nisevi / show.html.erb
Created April 14, 2018 10:20
Code in the view for displaying the content of the static page.
<div id="static_page_body"><%= clean_html(@page.body) %></div>
@nisevi
nisevi / static_pages_controller.rb
Last active April 14, 2018 10:19
Action rendering the static content.
def show
return false if redirect_email_blunder
@page = StaticPage.friendly.find(get_page_id(params[:id]))
@ancestry = @page.self_and_ancestors.map(&:title).reverse
end