Module: Writefully

Defined in:
lib/writefully.rb,
lib/writefully/cli.rb,
lib/writefully/asset.rb,
lib/writefully/taxon.rb,
lib/writefully/tools.rb,
lib/writefully/engine.rb,
lib/writefully/loader.rb,
lib/writefully/source.rb,
lib/writefully/content.rb,
lib/writefully/indices.rb,
lib/writefully/process.rb,
lib/writefully/storage.rb,
lib/writefully/version.rb,
lib/writefully/workers.rb,
lib/writefully/postable.rb,
app/models/writefully/tag.rb,
app/models/writefully/post.rb,
app/models/writefully/site.rb,
lib/writefully/news_agency.rb,
lib/writefully/tools/hammer.rb,
lib/writefully/tools/pencil.rb,
lib/writefully/tools/pigeon.rb,
lib/writefully/tools/retryer.rb,
app/models/writefully/tagging.rb,
lib/writefully/workers_helpers.rb,
lib/writefully/tools/dispatcher.rb,
lib/writefully/workers/handyman.rb,
app/models/writefully/authorship.rb,
lib/writefully/tools/initializer.rb,
lib/writefully/tools/synchronizer.rb,
lib/writefully/workers/journalist.rb,
lib/writefully/workers/base_worker.rb,
app/helpers/writefully/flash_helper.rb,
app/helpers/writefully/posts_helper.rb,
app/helpers/writefully/sites_helper.rb,
app/helpers/writefully/application_helper.rb,
app/controllers/writefully/hooks_controller.rb,
app/controllers/writefully/posts_controller.rb,
app/controllers/writefully/sites_controller.rb,
app/controllers/writefully/sessions_controller.rb,
app/controllers/writefully/application_controller.rb,
app/controllers/writefully/authorships_controller.rb

Defined Under Namespace

Modules: ApplicationHelper, FlashHelper, Helpers, Indices, Postable, PostsHelper, SitesHelper, Source, Storage, Tools, Workers Classes: ApplicationController, Asset, Authorship, AuthorshipsController, CLI, Content, Engine, HooksController, NewsAgency, Post, PostsController, Process, SessionsController, Site, SitesController, Tag, Tagging, Taxon

Constant Summary collapse

SCOPES =
%w(repo public_repo user write:repo_hook)
VERSION =
"0.4.7"

Class Method Summary collapse

Class Method Details

.add_job(worker, message) ⇒ Object



24
25
26
# File 'lib/writefully/loader.rb', line 24

def add_job worker, message
  Writefully.redis.with { |c| c.sadd "jobs", convert_job(worker, message) }
end

.config_from(path = nil) ⇒ Object



53
54
55
56
57
# File 'lib/writefully/loader.rb', line 53

def config_from(path = nil)
  YAML::load(ERB.new(IO.read(path)).result)[env]
rescue Errno::ENOENT
  $stdout.puts "config/writefully.yml does not exist"
end

.config_ymlObject



60
61
62
# File 'lib/writefully/loader.rb', line 60

def config_yml
  Rails.root.join('config', 'writefully.yml') if defined?(Rails)
end

.convert_job(worker, message) ⇒ Object



28
29
30
# File 'lib/writefully/loader.rb', line 28

def convert_job worker, message
   Marshal.dump({worker: worker, message: message})
end

.db_configObject



49
50
51
# File 'lib/writefully/loader.rb', line 49

def db_config
  YAML::load(ERB.new(IO.read(File.join(options[:app_directory], 'config', 'database.yml'))).result)[env]
end

.envObject



32
33
34
# File 'lib/writefully/loader.rb', line 32

def env
  ENV["RACK_ENV"] || ENV["RAILS_ENV"] || 'development'
end

.github_appObject



36
37
38
39
# File 'lib/writefully/loader.rb', line 36

def github_app
  @_github_app ||= Github.new(client_id:     options[:github_client], 
                              client_secret: options[:github_secret])
end

.log_locationObject



45
46
47
# File 'lib/writefully/loader.rb', line 45

def log_location
  env == 'development' ? STDOUT : Writefully.options[:logfile]
end

.loggerObject



41
42
43
# File 'lib/writefully/loader.rb', line 41

def logger
  @logger ||= Logger.new(log_location)
end

.optionsObject



13
14
15
# File 'lib/writefully/loader.rb', line 13

def options
  @_options ||= config_from(config_yml)
end

.options=(config) ⇒ Object



9
10
11
# File 'lib/writefully/loader.rb', line 9

def options=(config)
  @_options = config
end

.redisObject



17
18
19
20
21
22
# File 'lib/writefully/loader.rb', line 17

def redis
  r = Redis.new(host: 'localhost', port: 6379)
  @_redis ||= ConnectionPool.new(size: 5, timeout: 5) do 
    Redis::Namespace.new(:"#{env}:writefully", redis: r)
  end
end