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/eraser.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/tools/dispatcher.rb,
lib/writefully/tools/stationery.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/profiles_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, Indices, Postable, PostsHelper, SitesHelper, Source, Storage, Tools, Workers
Classes: ApplicationController, Asset, Authorship, AuthorshipsController, CLI, Content, Engine, HooksController, NewsAgency, Post, PostsController, Process, ProfilesController, SessionsController, Site, SitesController, Tag, Tagging, Taxon
Constant Summary
collapse
- SCOPES =
%w(repo public_repo user write:repo_hook)
- QUEUE =
{
top: -> (c, job) { c.lpush "jobs", job },
bottom: -> (c, job) { c.rpush "jobs", job }
}
- VERSION =
"0.8.2"
Class Method Summary
collapse
Class Method Details
.add_job(worker, message, position = nil) ⇒ Object
28
29
30
31
|
# File 'lib/writefully/loader.rb', line 28
def add_job worker, message, position = nil
position_selector = position || :bottom
Writefully.redis.with { |c| QUEUE[position_selector].call(c, convert_job(worker, message)) }
end
|
.config_from(path = nil) ⇒ Object
58
59
60
61
62
|
# File 'lib/writefully/loader.rb', line 58
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_yml ⇒ Object
65
66
67
|
# File 'lib/writefully/loader.rb', line 65
def config_yml
Rails.root.join('config', 'writefully.yml') if defined?(Rails)
end
|
.convert_job(worker, message) ⇒ Object
33
34
35
|
# File 'lib/writefully/loader.rb', line 33
def convert_job worker, message
Marshal.dump({worker: worker, message: message})
end
|
.db_config ⇒ Object
54
55
56
|
# File 'lib/writefully/loader.rb', line 54
def db_config
YAML::load(ERB.new(IO.read(File.join(options[:app_directory], 'config', 'database.yml'))).result)[env]
end
|
.env ⇒ Object
37
38
39
|
# File 'lib/writefully/loader.rb', line 37
def env
ENV["RACK_ENV"] || ENV["RAILS_ENV"] || 'development'
end
|
.github_app ⇒ Object
41
42
43
44
|
# File 'lib/writefully/loader.rb', line 41
def github_app
@_github_app ||= Github.new(client_id: options[:github_client],
client_secret: options[:github_secret])
end
|
.log_location ⇒ Object
50
51
52
|
# File 'lib/writefully/loader.rb', line 50
def log_location
env == 'development' ? STDOUT : Writefully.options[:logfile]
end
|
.logger ⇒ Object
46
47
48
|
# File 'lib/writefully/loader.rb', line 46
def logger
@logger ||= Logger.new(log_location)
end
|
.options ⇒ Object
17
18
19
|
# File 'lib/writefully/loader.rb', line 17
def options
@_options ||= config_from(config_yml)
end
|
.options=(config) ⇒ Object
13
14
15
|
# File 'lib/writefully/loader.rb', line 13
def options=(config)
@_options = config
end
|
.redis ⇒ Object
21
22
23
24
25
26
|
# File 'lib/writefully/loader.rb', line 21
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
|