Sha256: 19f43aa94686d301aeda3f3f363bcb13e21ced1c497a18d60d7c743cab1dbbf0
Contents?: true
Size: 1.83 KB
Versions: 2
Compression:
Stored size: 1.83 KB
Contents
require 'octokit' require 'sinatra' require 'sinatra_auth_github' require 'dotenv' require 'json' require 'dalli' require 'rack/session/dalli' require 'active_support' require 'active_support/core_ext/string' require "problem_child/version" require "problem_child/helpers" require "problem_child/memcache" module ProblemChild def self.root File.expand_path "./problem_child", File.dirname(__FILE__) end def self.views_dir @views_dir ||= File.expand_path "views", ProblemChild.root end def self.views_dir=(dir) @views_dir = dir end class App < Sinatra::Base include ProblemChild::Helpers configure do use Rack::Session::Dalli, cache: ProblemChild::Memcache.client end set :github_options, { :scopes => "repo,read:org" } ENV['WARDEN_GITHUB_VERIFIER_SECRET'] ||= SecureRandom.hex register Sinatra::Auth::Github enable :sessions use Rack::Session::Cookie, { :http_only => true, :secret => ENV['SESSION_SECRET'] || SecureRandom.hex } configure :production do require 'rack-ssl-enforcer' use Rack::SslEnforcer end set :views, Proc.new { ProblemChild.views_dir } set :root, Proc.new { ProblemChild.root } set :public_folder, Proc.new { File.expand_path "public", ProblemChild.root } get "/" do if session[:form_data] issue = create_issue session[:form_data] = nil access = repo_access? else issue = nil access = false auth! end halt erb :form, :layout => :layout, :locals => { :repo => repo, :anonymous => anonymous_submissions?, :issue => issue, :access => access } end post "/" do session[:form_data] = params.to_json auth! unless anonymous_submissions? halt redirect "/" end end end Dotenv.load unless ProblemChild::App.production?
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
problem_child-1.1.0 | lib/problem_child.rb |
problem_child-1.0.0 | lib/problem_child.rb |